Move 'pins' files

This commit is contained in:
Scott Lahteine
2017-09-06 06:28:31 -05:00
parent 2b3b7d5d7f
commit 0b9a88d6ce
79 changed files with 0 additions and 0 deletions

676
Marlin/src/pins/pins.h Normal file
View File

@ -0,0 +1,676 @@
/**
* 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 definitions
*
* Pins numbering schemes:
*
* - Digital I/O pin number if used by READ/WRITE macros. (e.g., X_STEP_DIR)
* The FastIO headers map digital pins to their ports and functions.
*
* - Analog Input number if used by analogRead or DAC. (e.g., TEMP_n_PIN)
* These numbers are the same in any pin mapping.
*/
#ifndef __PINS_H__
#define __PINS_H__
#define IS_RAMPS_EFB (MB(RAMPS_13_EFB) || MB(RAMPS_14_EFB) || MB(RAMPS_14_RE_ARM_EFB) || MB(RAMPS_SMART_EFB) || MB(RAMPS_DUO_EFB) || MB(RAMPS4DUE_EFB))
#define IS_RAMPS_EEB (MB(RAMPS_13_EEB) || MB(RAMPS_14_EEB) || MB(RAMPS_14_RE_ARM_EEB) || MB(RAMPS_SMART_EEB) || MB(RAMPS_DUO_EEB) || MB(RAMPS4DUE_EEB))
#define IS_RAMPS_EFF (MB(RAMPS_13_EFF) || MB(RAMPS_14_EFF) || MB(RAMPS_14_RE_ARM_EFF) || MB(RAMPS_SMART_EFF) || MB(RAMPS_DUO_EFF) || MB(RAMPS4DUE_EFF))
#define IS_RAMPS_EEF (MB(RAMPS_13_EEF) || MB(RAMPS_14_EEF) || MB(RAMPS_14_RE_ARM_EEF) || MB(RAMPS_SMART_EEF) || MB(RAMPS_DUO_EEF) || MB(RAMPS4DUE_EEF))
#define IS_RAMPS_SF (MB(RAMPS_13_SF) || MB(RAMPS_14_SF) || MB(RAMPS_14_RE_ARM_SF) || MB(RAMPS_SMART_SF) || MB(RAMPS_DUO_SF) || MB(RAMPS4DUE_SF) )
//
// RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560
//
#if MB(RAMPS_OLD)
#include "pins_RAMPS_OLD.h"
#elif MB(RAMPS_13_EFB)
#include "pins_RAMPS_13.h"
#elif MB(RAMPS_13_EEB)
#include "pins_RAMPS_13.h"
#elif MB(RAMPS_13_EFF)
#include "pins_RAMPS_13.h"
#elif MB(RAMPS_13_EEF)
#include "pins_RAMPS_13.h"
#elif MB(RAMPS_13_SF)
#include "pins_RAMPS_13.h"
#elif MB(RAMPS_14_EFB)
#include "pins_RAMPS.h"
#elif MB(RAMPS_14_EEB)
#include "pins_RAMPS.h"
#elif MB(RAMPS_14_EFF)
#include "pins_RAMPS.h"
#elif MB(RAMPS_14_EEF)
#include "pins_RAMPS.h"
#elif MB(RAMPS_14_SF)
#include "pins_RAMPS.h"
//
// RAMPS Derivatives - ATmega1280, ATmega2560
//
#elif MB(3DRAG)
#include "pins_3DRAG.h" // ATmega1280, ATmega2560
#elif MB(K8200)
#include "pins_K8200.h" // ATmega1280, ATmega2560 (3DRAG)
#elif MB(K8400)
#include "pins_K8400.h" // ATmega1280, ATmega2560 (3DRAG)
#elif MB(BAM_DICE)
#include "pins_RAMPS.h" // ATmega1280, ATmega2560
#elif MB(BAM_DICE_DUE)
#include "pins_BAM_DICE_DUE.h" // ATmega1280, ATmega2560
#elif MB(MKS_BASE)
#include "pins_MKS_BASE.h" // ATmega1280, ATmega2560
#elif MB(MKS_13)
#include "pins_MKS_13.h" // ATmega1280, ATmega2560
#elif MB(ZRIB_V20)
#include "pins_ZRIB_V20.h" // ATmega1280, ATmega2560 (MKS_13)
#elif MB(FELIX2)
#include "pins_FELIX2.h" // ATmega1280, ATmega2560
#elif MB(RIGIDBOARD)
#include "pins_RIGIDBOARD.h" // ATmega1280, ATmega2560
#elif MB(RIGIDBOARD_V2)
#include "pins_RIGIDBOARD_V2.h" // ATmega1280, ATmega2560
#elif MB(SAINSMART_2IN1)
#include "pins_SAINSMART_2IN1.h" // ATmega1280, ATmega2560
#elif MB(ULTIMAKER)
#include "pins_ULTIMAKER.h" // ATmega1280, ATmega2560
#elif MB(ULTIMAKER_OLD)
#include "pins_ULTIMAKER_OLD.h" // ATmega1280, ATmega2560
#elif MB(AZTEEG_X3)
#include "pins_AZTEEG_X3.h" // ATmega2560
#elif MB(AZTEEG_X3_PRO)
#include "pins_AZTEEG_X3_PRO.h" // ATmega2560
#elif MB(ULTIMAIN_2)
#include "pins_ULTIMAIN_2.h" // ATmega2560
#elif MB(RUMBA)
#include "pins_RUMBA.h" // ATmega2560
#elif MB(BQ_ZUM_MEGA_3D)
#include "pins_BQ_ZUM_MEGA_3D.h" // ATmega2560
//
// Other ATmega1280, ATmega2560
//
#elif MB(CNCONTROLS_11)
#include "pins_CNCONTROLS_11.h" // ATmega1280, ATmega2560
#elif MB(CNCONTROLS_12)
#include "pins_CNCONTROLS_12.h" // ATmega1280, ATmega2560
#elif MB(MIGHTYBOARD_REVE)
#include "pins_MIGHTYBOARD_REVE.h" // ATmega1280, ATmega2560
#elif MB(CHEAPTRONIC)
#include "pins_CHEAPTRONIC.h" // ATmega2560
#elif MB(CHEAPTRONIC_V2)
#include "pins_CHEAPTRONICv2.h" // ATmega2560
#elif MB(MEGATRONICS)
#include "pins_MEGATRONICS.h" // ATmega2560
#elif MB(MEGATRONICS_2)
#include "pins_MEGATRONICS_2.h" // ATmega2560
#elif MB(MEGATRONICS_3)
#include "pins_MEGATRONICS_3.h" // ATmega2560
#elif MB(MEGATRONICS_31)
#define MEGATRONICS_31
#include "pins_MEGATRONICS_3.h" // ATmega2560
#elif MB(RAMBO)
#include "pins_RAMBO.h" // ATmega2560
#elif MB(MINIRAMBO)
#include "pins_MINIRAMBO.h" // ATmega2560
#elif MB(ELEFU_3)
#include "pins_ELEFU_3.h" // ATmega2560
#elif MB(LEAPFROG)
#include "pins_LEAPFROG.h" // ATmega1280, ATmega2560
#elif MB(MEGACONTROLLER)
#include "pins_MEGACONTROLLER.h" // ATmega2560
#elif MB(SCOOVO_X9H)
#include "pins_SCOOVO_X9H.h" // ATmega2560
#elif MB(GT2560_REV_A)
#include "pins_GT2560_REV_A.h" // ATmega1280, ATmega2560
#elif MB(GT2560_REV_A_PLUS)
#include "pins_GT2560_REV_A_PLUS.h" // ATmega1280, ATmega2560
//
// ATmega1281, ATmega2561
//
#elif MB(MINITRONICS)
#include "pins_MINITRONICS.h" // ATmega1281
//
// Sanguinololu and Derivatives - ATmega644P, ATmega1284P
//
#elif MB(SANGUINOLOLU_11)
#include "pins_SANGUINOLOLU_11.h" // ATmega644P, ATmega1284P
#elif MB(SANGUINOLOLU_12)
#include "pins_SANGUINOLOLU_12.h" // ATmega644P, ATmega1284P
#elif MB(MELZI)
#include "pins_MELZI.h" // ATmega644P, ATmega1284P
#elif MB(MELZI_MAKR3D)
#include "pins_MELZI_MAKR3D.h" // ATmega644P, ATmega1284P
#elif MB(MELZI_CREALITY)
#include "pins_MELZI_CREALITY.h" // ATmega644P, ATmega1284P
#elif MB(STB_11)
#include "pins_STB_11.h" // ATmega644P, ATmega1284P
#elif MB(AZTEEG_X1)
#include "pins_AZTEEG_X1.h" // ATmega644P, ATmega1284P
//
// Other ATmega644P, ATmega644, ATmega1284P
//
#elif MB(GEN3_MONOLITHIC)
#include "pins_GEN3_MONOLITHIC.h" // ATmega644P
#elif MB(GEN3_PLUS)
#include "pins_GEN3_PLUS.h" // ATmega644P, ATmega1284P
#elif MB(GEN6)
#include "pins_GEN6.h" // ATmega644P, ATmega1284P
#elif MB(GEN6_DELUXE)
#include "pins_GEN6_DELUXE.h" // ATmega644P, ATmega1284P
#elif MB(GEN7_CUSTOM)
#include "pins_GEN7_CUSTOM.h" // ATmega644P, ATmega644, ATmega1284P
#elif MB(GEN7_12)
#include "pins_GEN7_12.h" // ATmega644P, ATmega644, ATmega1284P
#elif MB(GEN7_13)
#include "pins_GEN7_13.h" // ATmega644P, ATmega644, ATmega1284P
#elif MB(GEN7_14)
#include "pins_GEN7_14.h" // ATmega644P, ATmega644, ATmega1284P
#elif MB(OMCA_A)
#include "pins_OMCA_A.h" // ATmega644
#elif MB(OMCA)
#include "pins_OMCA.h" // ATmega644P, ATmega644
#elif MB(ANET_10)
#include "pins_ANET_10.h" // ATmega1284P
#elif MB(SETHI)
#include "pins_SETHI.h" // ATmega644P, ATmega644, ATmega1284P
//
// Teensyduino - AT90USB1286, AT90USB1286P
//
#elif MB(TEENSYLU)
#include "pins_TEENSYLU.h" // AT90USB1286, AT90USB1286P
#elif MB(PRINTRBOARD)
#include "pins_PRINTRBOARD.h" // AT90USB1286
#elif MB(PRINTRBOARD_REVF)
#include "pins_PRINTRBOARD_REVF.h" // AT90USB1286
#elif MB(BRAINWAVE)
#include "pins_BRAINWAVE.h" // AT90USB646
#elif MB(BRAINWAVE_PRO)
#include "pins_BRAINWAVE_PRO.h" // AT90USB1286
#elif MB(SAV_MKI)
#include "pins_SAV_MKI.h" // AT90USB1286
#elif MB(TEENSY2)
#include "pins_TEENSY2.h" // AT90USB1286
#elif MB(5DPRINT)
#include "pins_5DPRINT.h" // AT90USB1286
//
// Re-ARM - LPC1768
//
#elif MB(RAMPS_14_RE_ARM_EFB)
#include "pins_RAMPS_RE_ARM.h"
#elif MB(RAMPS_14_RE_ARM_EEB)
#include "pins_RAMPS_RE_ARM.h"
#elif MB(RAMPS_14_RE_ARM_EFF)
#include "pins_RAMPS_RE_ARM.h"
#elif MB(RAMPS_14_RE_ARM_EEF)
#include "pins_RAMPS_RE_ARM.h"
#elif MB(RAMPS_14_RE_ARM_SF)
#include "pins_RAMPS_RE_ARM.h"
//
// Other 32-bit Boards
//
#elif MB(TEENSY35_36)
#include "pins_TEENSY35_36.h"
#elif MB(DUE3DOM)
#include "pins_DUE3DOM.h"
#elif MB(DUE3DOM_MINI)
#include "pins_DUE3DOM_MINI.h"
#elif MB(RADDS)
#include "pins_RADDS.h"
#elif MB(RAMPS_FD_V1)
#include "pins_RAMPS_FD.h"
#elif MB(RAMPS_FD_V2)
#include "pins_RAMPS_FD_V2.h"
#elif MB(RAMPS_SMART_EFB)
#include "pins_RAMPS_SMART.h"
#elif MB(RAMPS_SMART_EEB)
#include "pins_RAMPS_SMART.h"
#elif MB(RAMPS_SMART_EFF)
#include "pins_RAMPS_SMART.h"
#elif MB(RAMPS_SMART_EEF)
#include "pins_RAMPS_SMART.h"
#elif MB(RAMPS_SMART_SF)
#include "pins_RAMPS_SMART.h"
#elif MB(RAMPS_DUO_EFB)
#include "pins_RAMPS_DUO.h"
#elif MB(RAMPS_DUO_EEB)
#include "pins_RAMPS_DUO.h"
#elif MB(RAMPS_DUO_EFF)
#include "pins_RAMPS_DUO.h"
#elif MB(RAMPS_DUO_EEF)
#include "pins_RAMPS_DUO.h"
#elif MB(RAMPS_DUO_SF)
#include "pins_RAMPS_DUO.h"
#elif MB(RAMPS4DUE_EFB)
#include "pins_RAMPS4DUE.h"
#elif MB(RAMPS4DUE_EEB)
#include "pins_RAMPS4DUE.h"
#elif MB(RAMPS4DUE_EFF)
#include "pins_RAMPS4DUE.h"
#elif MB(RAMPS4DUE_EEF)
#include "pins_RAMPS4DUE.h"
#elif MB(RAMPS4DUE_SF)
#include "pins_RAMPS4DUE.h"
#elif MB(ALLIGATOR)
#include "pins_ALLIGATOR_R2.h"
#elif MB(RAMPS_FD_V1) || MB(RAMPS_FD_V2)
#include "pins_RAMPS_FD_v1.h"
#else
#error "Unknown MOTHERBOARD value set in Configuration.h"
#endif
// Define certain undefined pins
#ifndef X_MS1_PIN
#define X_MS1_PIN -1
#endif
#ifndef X_MS2_PIN
#define X_MS2_PIN -1
#endif
#ifndef Y_MS1_PIN
#define Y_MS1_PIN -1
#endif
#ifndef Y_MS2_PIN
#define Y_MS2_PIN -1
#endif
#ifndef Z_MS1_PIN
#define Z_MS1_PIN -1
#endif
#ifndef Z_MS2_PIN
#define Z_MS2_PIN -1
#endif
#ifndef E0_MS1_PIN
#define E0_MS1_PIN -1
#endif
#ifndef E0_MS2_PIN
#define E0_MS2_PIN -1
#endif
#ifndef E1_MS1_PIN
#define E1_MS1_PIN -1
#endif
#ifndef E1_MS2_PIN
#define E1_MS2_PIN -1
#endif
#ifndef FAN_PIN
#define FAN_PIN -1
#endif
#ifndef FAN1_PIN
#define FAN1_PIN -1
#endif
#ifndef FAN2_PIN
#define FAN2_PIN -1
#endif
#ifndef CONTROLLER_FAN_PIN
#define CONTROLLER_FAN_PIN -1
#endif
#ifndef FANMUX0_PIN
#define FANMUX0_PIN -1
#endif
#ifndef FANMUX1_PIN
#define FANMUX1_PIN -1
#endif
#ifndef FANMUX2_PIN
#define FANMUX2_PIN -1
#endif
#ifndef HEATER_0_PIN
#define HEATER_0_PIN -1
#endif
#ifndef HEATER_1_PIN
#define HEATER_1_PIN -1
#endif
#ifndef HEATER_2_PIN
#define HEATER_2_PIN -1
#endif
#ifndef HEATER_3_PIN
#define HEATER_3_PIN -1
#endif
#ifndef HEATER_4_PIN
#define HEATER_4_PIN -1
#endif
#ifndef HEATER_BED_PIN
#define HEATER_BED_PIN -1
#endif
#ifndef TEMP_0_PIN
#define TEMP_0_PIN -1
#endif
#ifndef TEMP_1_PIN
#define TEMP_1_PIN -1
#endif
#ifndef TEMP_2_PIN
#define TEMP_2_PIN -1
#endif
#ifndef TEMP_3_PIN
#define TEMP_3_PIN -1
#endif
#ifndef TEMP_4_PIN
#define TEMP_4_PIN -1
#endif
#ifndef TEMP_BED_PIN
#define TEMP_BED_PIN -1
#endif
#ifndef SD_DETECT_PIN
#define SD_DETECT_PIN -1
#endif
#ifndef SDPOWER
#define SDPOWER -1
#endif
#ifndef SDSS
#define SDSS -1
#endif
#ifndef LED_PIN
#define LED_PIN -1
#endif
#ifndef PS_ON_PIN
#define PS_ON_PIN -1
#endif
#ifndef KILL_PIN
#define KILL_PIN -1
#endif
#ifndef SUICIDE_PIN
#define SUICIDE_PIN -1
#endif
#ifndef MAX_EXTRUDERS
#define MAX_EXTRUDERS 5
#endif
// Marlin needs to account for pins that equal -1
#define marlinAnalogInputToDigitalPin(p) ((p) == -1 ? -1 : analogInputToDigitalPin(p))
//
// Assign auto fan pins if needed
//
#if !defined(E0_AUTO_FAN_PIN) && defined(ORIG_E0_AUTO_FAN_PIN)
#define E0_AUTO_FAN_PIN ORIG_E0_AUTO_FAN_PIN
#endif
#if !defined(E1_AUTO_FAN_PIN) && defined(ORIG_E1_AUTO_FAN_PIN)
#define E1_AUTO_FAN_PIN ORIG_E1_AUTO_FAN_PIN
#endif
#if !defined(E2_AUTO_FAN_PIN) && defined(ORIG_E2_AUTO_FAN_PIN)
#define E2_AUTO_FAN_PIN ORIG_E2_AUTO_FAN_PIN
#endif
#if !defined(E3_AUTO_FAN_PIN) && defined(ORIG_E3_AUTO_FAN_PIN)
#define E3_AUTO_FAN_PIN ORIG_E3_AUTO_FAN_PIN
#endif
#if !defined(E4_AUTO_FAN_PIN) && defined(ORIG_E4_AUTO_FAN_PIN)
#define E4_AUTO_FAN_PIN ORIG_E4_AUTO_FAN_PIN
#endif
// List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
#define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, E0_MS1_PIN, E0_MS2_PIN,
#define _E1_PINS
#define _E2_PINS
#define _E3_PINS
#define _E4_PINS
#if ENABLED(SWITCHING_EXTRUDER)
// Tools 0 and 1 use E0
#if EXTRUDERS > 2 // Tools 2 and 3 use E1
#undef _E1_PINS
#define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, E1_MS1_PIN, E1_MS2_PIN,
#if EXTRUDERS > 4 // Tools 4 and 5 use E2
#undef _E2_PINS
#define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN,
#endif
#endif
#elif EXTRUDERS > 1
#undef _E1_PINS
#define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, E1_MS1_PIN, E1_MS2_PIN,
#if EXTRUDERS > 2
#undef _E2_PINS
#define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN,
#if EXTRUDERS > 3
#undef _E3_PINS
#define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN,
#if EXTRUDERS > 4
#undef _E4_PINS
#define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN,
#endif // EXTRUDERS > 4
#endif // EXTRUDERS > 3
#endif // EXTRUDERS > 2
#endif // EXTRUDERS > 1
#define _H0_PINS HEATER_0_PIN, E0_AUTO_FAN_PIN, marlinAnalogInputToDigitalPin(TEMP_0_PIN),
#define _H1_PINS
#define _H2_PINS
#define _H3_PINS
#define _H4_PINS
#if HOTENDS > 1
#undef _H1_PINS
#define _H1_PINS HEATER_1_PIN, E1_AUTO_FAN_PIN, marlinAnalogInputToDigitalPin(TEMP_1_PIN),
#if HOTENDS > 2
#undef _H2_PINS
#define _H2_PINS HEATER_2_PIN, E2_AUTO_FAN_PIN, marlinAnalogInputToDigitalPin(TEMP_2_PIN),
#if HOTENDS > 3
#undef _H3_PINS
#define _H3_PINS HEATER_3_PIN, E3_AUTO_FAN_PIN, marlinAnalogInputToDigitalPin(TEMP_3_PIN),
#if HOTENDS > 4
#undef _H4_PINS
#define _H4_PINS HEATER_4_PIN, marlinAnalogInputToDigitalPin(TEMP_4_PIN),
#endif // HOTENDS > 4
#endif // HOTENDS > 3
#endif // HOTENDS > 2
#elif ENABLED(MIXING_EXTRUDER)
#undef _E1_PINS
#define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN,
#if MIXING_STEPPERS > 2
#undef _E2_PINS
#define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN,
#if MIXING_STEPPERS > 3
#undef _E3_PINS
#define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN,
#if MIXING_STEPPERS > 4
#undef _E4_PINS
#define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN,
#endif // MIXING_STEPPERS > 4
#endif // MIXING_STEPPERS > 3
#endif // MIXING_STEPPERS > 2
#endif // MIXING_STEPPERS > 1
#define BED_PINS HEATER_BED_PIN, marlinAnalogInputToDigitalPin(TEMP_BED_PIN),
//
// Assign endstop pins for boards with only 3 connectors
//
#ifdef X_STOP_PIN
#if X_HOME_DIR < 0
#define X_MIN_PIN X_STOP_PIN
#define X_MAX_PIN -1
#else
#define X_MIN_PIN -1
#define X_MAX_PIN X_STOP_PIN
#endif
#endif
#ifdef Y_STOP_PIN
#if Y_HOME_DIR < 0
#define Y_MIN_PIN Y_STOP_PIN
#define Y_MAX_PIN -1
#else
#define Y_MIN_PIN -1
#define Y_MAX_PIN Y_STOP_PIN
#endif
#endif
#ifdef Z_STOP_PIN
#if Z_HOME_DIR < 0
#define Z_MIN_PIN Z_STOP_PIN
#define Z_MAX_PIN -1
#else
#define Z_MIN_PIN -1
#define Z_MAX_PIN Z_STOP_PIN
#endif
#endif
//
// Disable unused endstop / probe pins
//
#if DISABLED(Z_MIN_PROBE_ENDSTOP)
#undef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN -1
#endif
#if DISABLED(USE_XMAX_PLUG)
#undef X_MAX_PIN
#define X_MAX_PIN -1
#endif
#if DISABLED(USE_YMAX_PLUG)
#undef Y_MAX_PIN
#define Y_MAX_PIN -1
#endif
#if DISABLED(USE_ZMAX_PLUG)
#undef Z_MAX_PIN
#define Z_MAX_PIN -1
#endif
#if DISABLED(USE_XMIN_PLUG)
#undef X_MIN_PIN
#define X_MIN_PIN -1
#endif
#if DISABLED(USE_YMIN_PLUG)
#undef Y_MIN_PIN
#define Y_MIN_PIN -1
#endif
#if DISABLED(USE_ZMIN_PLUG)
#undef Z_MIN_PIN
#define Z_MIN_PIN -1
#endif
#ifndef LCD_PINS_D4
#define LCD_PINS_D4 -1
#endif
#ifndef LCD_PINS_D5
#define LCD_PINS_D5 -1
#endif
#ifndef LCD_PINS_D6
#define LCD_PINS_D6 -1
#endif
#ifndef LCD_PINS_D7
#define LCD_PINS_D7 -1
#endif
//
// Dual X-carriage, Dual Y, Dual Z support
//
#define _X2_PINS
#define _Y2_PINS
#define _Z2_PINS
#define __EPIN(p,q) E##p##_##q##_PIN
#define _EPIN(p,q) __EPIN(p,q)
// The X2 axis, if any, should be the next open extruder port
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(X_DUAL_STEPPER_DRIVERS)
#ifndef X2_STEP_PIN
#define X2_STEP_PIN _EPIN(E_STEPPERS, STEP)
#define X2_DIR_PIN _EPIN(E_STEPPERS, DIR)
#define X2_ENABLE_PIN _EPIN(E_STEPPERS, ENABLE)
#if X2_ENABLE_PIN == 0
#error "No E stepper plug left for X2!"
#endif
#endif
#undef _X2_PINS
#define _X2_PINS X2_STEP_PIN, X2_DIR_PIN, X2_ENABLE_PIN,
#define Y2_E_INDEX INCREMENT(E_STEPPERS)
#else
#define Y2_E_INDEX E_STEPPERS
#endif
// The Y2 axis, if any, should be the next open extruder port
#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
#ifndef Y2_STEP_PIN
#define Y2_STEP_PIN _EPIN(Y2_E_INDEX, STEP)
#define Y2_DIR_PIN _EPIN(Y2_E_INDEX, DIR)
#define Y2_ENABLE_PIN _EPIN(Y2_E_INDEX, ENABLE)
#if Y2_ENABLE_PIN == 0
#error "No E stepper plug left for Y2!"
#endif
#endif
#undef _Y2_PINS
#define _Y2_PINS Y2_STEP_PIN, Y2_DIR_PIN, Y2_ENABLE_PIN,
#define Z2_E_INDEX INCREMENT(Y2_E_INDEX)
#else
#define Z2_E_INDEX Y2_E_INDEX
#endif
// The Z2 axis, if any, should be the next open extruder port
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
#ifndef Z2_STEP_PIN
#define Z2_STEP_PIN _EPIN(Z2_E_INDEX, STEP)
#define Z2_DIR_PIN _EPIN(Z2_E_INDEX, DIR)
#define Z2_ENABLE_PIN _EPIN(Z2_E_INDEX, ENABLE)
#if Z2_ENABLE_PIN == 0
#error "No E stepper plug left for Z2!"
#endif
#endif
#undef _Z2_PINS
#define _Z2_PINS Z2_STEP_PIN, Z2_DIR_PIN, Z2_ENABLE_PIN,
#endif
#define SENSITIVE_PINS { 0, 1, \
X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, \
Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, \
Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, Z_MIN_PROBE_PIN, \
PS_ON_PIN, HEATER_BED_PIN, FAN_PIN, FAN1_PIN, FAN2_PIN, CONTROLLER_FAN_PIN, \
_E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS BED_PINS \
_H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS \
_X2_PINS _Y2_PINS _Z2_PINS \
X_MS1_PIN, X_MS2_PIN, Y_MS1_PIN, Y_MS2_PIN, Z_MS1_PIN, Z_MS2_PIN \
}
#define HAS_DIGIPOTSS (PIN_EXISTS(DIGIPOTSS))
// Note: default SPI pins are defined in the HAL
#include "src/HAL/HAL_spi_pins.h"
#endif // __PINS_H__

234
Marlin/src/pins/pinsDebug.h Normal file
View File

@ -0,0 +1,234 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016, 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/>.
*
*/
bool endstop_monitor_flag = false;
#define MAX_NAME_LENGTH 35 // one place to specify the format of all the sources of names
// "-" left justify, "35" minimum width of name, pad with blanks
/**
* This routine minimizes RAM usage by creating a FLASH resident array to
* store the pin names, pin numbers and analog/digital flag.
*
* Creating the array in FLASH is a two pass process. The first pass puts the
* name strings into FLASH. The second pass actually creates the array.
*
* Both passes use the same pin list. The list contains two macro names. The
* actual macro definitions are changed depending on which pass is being done.
*
*/
// first pass - put the name strings into FLASH
#define _ADD_PIN_2(PIN_NAME, ENTRY_NAME) static const char ENTRY_NAME[] PROGMEM = { PIN_NAME };
#define _ADD_PIN(PIN_NAME, COUNTER) _ADD_PIN_2(PIN_NAME, entry_NAME_##COUNTER)
#define REPORT_NAME_DIGITAL(NAME, COUNTER) _ADD_PIN(#NAME, COUNTER)
#define REPORT_NAME_ANALOG(NAME, COUNTER) _ADD_PIN(#NAME, COUNTER)
#include "pinsDebug_list.h"
#line 49
// manually add pins that have names that are macros which don't play well with these macros
#if SERIAL_PORT == 0 && (AVR_ATmega2560_FAMILY || AVR_ATmega1284_FAMILY)
static const char RXD_NAME[] PROGMEM = { "RXD" };
static const char TXD_NAME[] PROGMEM = { "TXD" };
#endif
/////////////////////////////////////////////////////////////////////////////
// second pass - create the array
#undef _ADD_PIN_2
#undef _ADD_PIN
#undef REPORT_NAME_DIGITAL
#undef REPORT_NAME_ANALOG
#define _ADD_PIN_2(ENTRY_NAME, NAME, IS_DIGITAL) { ENTRY_NAME, NAME, IS_DIGITAL },
#define _ADD_PIN(NAME, COUNTER, IS_DIGITAL) _ADD_PIN_2(entry_NAME_##COUNTER, NAME, IS_DIGITAL)
#define REPORT_NAME_DIGITAL(NAME, COUNTER) _ADD_PIN(NAME, COUNTER, true)
#define REPORT_NAME_ANALOG(NAME, COUNTER) _ADD_PIN(analogInputToDigitalPin(NAME), COUNTER, false)
typedef struct {
const char * const name;
uint8_t pin;
bool is_digital;
} PinInfo;
const PinInfo pin_array[] PROGMEM = {
/**
* [pin name] [pin number] [is digital or analog] 1 = digital, 0 = analog
* Each entry takes up 6 bytes in FLASH:
* 2 byte pointer to location of the name string
* 2 bytes containing the pin number
* analog pin numbers were convereted to digital when the array was created
* 2 bytes containing the digital/analog bool flag
*/
// manually add pins ...
#if SERIAL_PORT == 0
#if AVR_ATmega2560_FAMILY
{ RXD_NAME, 0, true },
{ TXD_NAME, 1, true },
#elif AVR_ATmega1284_FAMILY
{ RXD_NAME, 8, true },
{ TXD_NAME, 9, true },
#endif
#endif
#include "pinsDebug_list.h"
#line 101
};
#include "src/HAL/HAL_pinsDebug.h" // get the correct support file for this CPU
static void print_input_or_output(const bool isout) {
serialprintPGM(isout ? PSTR("Output = ") : PSTR("Input = "));
}
// pretty report with PWM info
inline void report_pin_state_extended(int8_t pin, bool ignore, bool extended = false, const char *start_string = "") {
char buffer[30]; // for the sprintf statements
bool found = false, multi_name_pin = false;
for (uint8_t x = 0; x < COUNT(pin_array); x++) { // scan entire array and report all instances of this pin
if (GET_ARRAY_PIN(x) == pin) {
GET_PIN_INFO(pin);
if (found) multi_name_pin = true;
found = true;
if (!multi_name_pin) { // report digitial and analog pin number only on the first time through
sprintf_P(buffer, PSTR("%sPIN: %3d "), start_string, pin); // digital pin number
SERIAL_ECHO(buffer);
PRINT_PORT(pin);
if (IS_ANALOG(pin)) {
sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); // analog pin number
SERIAL_ECHO(buffer);
}
else SERIAL_ECHO_SP(8); // add padding if not an analog pin
}
else {
SERIAL_CHAR('.');
SERIAL_ECHO_SP(26 + strlen(start_string)); // add padding if not the first instance found
}
PRINT_ARRAY_NAME(x);
if (extended) {
if (pin_is_protected(pin) && !ignore)
SERIAL_ECHOPGM("protected ");
else {
#if AVR_AT90USB1286_FAMILY //Teensy IDEs don't know about these pins so must use FASTIO
if (pin == 46 || pin == 47) {
if (pin == 46) {
print_input_or_output(GET_OUTPUT(46));
SERIAL_PROTOCOL(READ(46));
}
else if (pin == 47) {
print_input_or_output(GET_OUTPUT(47));
SERIAL_PROTOCOL(READ(47));
}
}
else
#endif
{
if (!GET_ARRAY_IS_DIGITAL(x)) {
sprintf_P(buffer, PSTR("Analog in = %5d"), analogRead(DIGITAL_PIN_TO_ANALOG_PIN(pin)));
SERIAL_ECHO(buffer);
}
else {
if (!GET_PINMODE(pin)) {
//pinMode(pin, INPUT_PULLUP); // make sure input isn't floating - stopped doing this
// because this could interfere with inductive/capacitive
// sensors (high impedance voltage divider) and with PT100 amplifier
print_input_or_output(false);
SERIAL_PROTOCOL(digitalRead_mod(pin));
}
else if (pwm_status(pin)) {
// do nothing
}
else {
print_input_or_output(true);
SERIAL_PROTOCOL(digitalRead_mod(pin));
}
}
if (!multi_name_pin && extended) pwm_details(pin); // report PWM capabilities only on the first pass & only if doing an extended report
}
}
}
SERIAL_EOL();
} // end of IF
} // end of for loop
if (!found) {
sprintf_P(buffer, PSTR("%sPIN: %3d "), start_string, pin);
SERIAL_ECHO(buffer);
PRINT_PORT(pin);
if (IS_ANALOG(pin)) {
sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); // analog pin number
SERIAL_ECHO(buffer);
}
else
SERIAL_ECHO_SP(8); // add padding if not an analog pin
SERIAL_ECHOPGM("<unused/unknown>");
if (extended) {
#if AVR_AT90USB1286_FAMILY //Teensy IDEs don't know about these pins so must use FASTIO
if (pin == 46 || pin == 47) {
SERIAL_PROTOCOL_SP(12);
if (pin == 46) {
print_input_or_output(GET_OUTPUT(46));
SERIAL_PROTOCOL(READ(46));
}
else {
print_input_or_output(GET_OUTPUT(47));
SERIAL_PROTOCOL(READ(47));
}
}
else
#endif
{
if (GET_PINMODE(pin)) {
SERIAL_PROTOCOL_SP(MAX_NAME_LENGTH - 16);
print_input_or_output(true);
SERIAL_PROTOCOL(digitalRead_mod(pin));
}
else {
if (IS_ANALOG(pin)) {
sprintf_P(buffer, PSTR(" Analog in = %5d"), analogRead(DIGITAL_PIN_TO_ANALOG_PIN(pin)));
SERIAL_ECHO(buffer);
SERIAL_ECHOPGM(" ");
}
else
SERIAL_ECHO_SP(MAX_NAME_LENGTH - 16); // add padding if not an analog pin
print_input_or_output(false);
SERIAL_PROTOCOL(digitalRead_mod(pin));
}
//if (!pwm_status(pin)) SERIAL_CHAR(' '); // add padding if it's not a PWM pin
if (extended) pwm_details(pin); // report PWM capabilities only if doing an extended report
}
}
SERIAL_EOL();
}
}

View File

@ -0,0 +1,841 @@
/**
* 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/>.
*
*/
// Please update this list when adding new pins to Marlin.
// The order doesn't matter.
// Following this pattern is a must.
// If the new pin name is over 28 characters long then pinsDebug.h will need to be modified.
// Pin list updated from 25 JUL 2017 Re-ARM branch - max length of pin name is 24
#line 0 // set __LINE__ to a known value for both passes
#if defined(EXT_AUX_A0) && EXT_AUX_A0 >= 0 && EXT_AUX_A0 < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(EXT_AUX_A0, __LINE__ )
#endif
#if defined(EXT_AUX_A1) && EXT_AUX_A1 >= 0 && EXT_AUX_A1 < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(EXT_AUX_A1, __LINE__ )
#endif
#if defined(EXT_AUX_A2) && EXT_AUX_A2 >= 0 && EXT_AUX_A2 < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(EXT_AUX_A2, __LINE__ )
#endif
#if defined(EXT_AUX_A3) && EXT_AUX_A3 >= 0 && EXT_AUX_A3 < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(EXT_AUX_A3, __LINE__ )
#endif
#if defined(EXT_AUX_A4) && EXT_AUX_A4 >= 0 && EXT_AUX_A4 < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(EXT_AUX_A4, __LINE__ )
#endif
#if PIN_EXISTS(FILWIDTH) && FILWIDTH_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(FILWIDTH_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MAIN_VOLTAGE_MEASURE) && MAIN_VOLTAGE_MEASURE_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(MAIN_VOLTAGE_MEASURE_PIN, __LINE__ )
#endif
#if defined(TC1) && TC1 >= 0 && TC1 < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TC1, __LINE__ )
#endif
#if defined(TC2) && TC2 >= 0 && TC2 < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TC2, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_0) && TEMP_0_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_0_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_1) && TEMP_1_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_2) && TEMP_2_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_3) && TEMP_3_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_3_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_4) && TEMP_4_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_4_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_BED) && TEMP_BED_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_BED_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_CHAMBER) && TEMP_CHAMBER_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_CHAMBER_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TEMP_X) && TEMP_X_PIN < NUM_ANALOG_INPUTS
REPORT_NAME_ANALOG(TEMP_X_PIN, __LINE__ )
#endif
#if defined(__FD) && __FD >= 0
REPORT_NAME_DIGITAL(__FD, __LINE__ )
#endif
#if defined(__FS) && __FS >= 0
REPORT_NAME_DIGITAL(__FS, __LINE__ )
#endif
#if defined(__GD) && __GD >= 0
REPORT_NAME_DIGITAL(__GD, __LINE__ )
#endif
#if defined(__GS) && __GS >= 0
REPORT_NAME_DIGITAL(__GS, __LINE__ )
#endif
#if PIN_EXISTS(ADC_KEYPAD)
REPORT_NAME_DIGITAL(ADC_KEYPAD_PIN, __LINE__ )
#endif
#if PIN_EXISTS(ALARM)
REPORT_NAME_DIGITAL(ALARM_PIN, __LINE__ )
#endif
#if PIN_EXISTS(BEEPER)
REPORT_NAME_DIGITAL(BEEPER_PIN, __LINE__ )
#endif
#if defined(BTN_BACK) && BTN_BACK >= 0
REPORT_NAME_DIGITAL(BTN_BACK, __LINE__ )
#endif
#if defined(BTN_CENTER) && BTN_CENTER >= 0
REPORT_NAME_DIGITAL(BTN_CENTER, __LINE__ )
#endif
#if defined(BTN_DOWN) && BTN_DOWN >= 0
REPORT_NAME_DIGITAL(BTN_DOWN, __LINE__ )
#endif
#if defined(BTN_DWN) && BTN_DWN >= 0
REPORT_NAME_DIGITAL(BTN_DWN, __LINE__ )
#endif
#if defined(BTN_EN1) && BTN_EN1 >= 0
REPORT_NAME_DIGITAL(BTN_EN1, __LINE__ )
#endif
#if defined(BTN_EN2) && BTN_EN2 >= 0
REPORT_NAME_DIGITAL(BTN_EN2, __LINE__ )
#endif
#if defined(BTN_ENC) && BTN_ENC >= 0
REPORT_NAME_DIGITAL(BTN_ENC, __LINE__ )
#endif
#if defined(BTN_HOME) && BTN_HOME >= 0
REPORT_NAME_DIGITAL(BTN_HOME, __LINE__ )
#endif
#if defined(BTN_LEFT) && BTN_LEFT >= 0
REPORT_NAME_DIGITAL(BTN_LEFT, __LINE__ )
#endif
#if defined(BTN_LFT) && BTN_LFT >= 0
REPORT_NAME_DIGITAL(BTN_LFT, __LINE__ )
#endif
#if defined(BTN_RIGHT) && BTN_RIGHT >= 0
REPORT_NAME_DIGITAL(BTN_RIGHT, __LINE__ )
#endif
#if defined(BTN_RT) && BTN_RT >= 0
REPORT_NAME_DIGITAL(BTN_RT, __LINE__ )
#endif
#if defined(BTN_UP) && BTN_UP >= 0
REPORT_NAME_DIGITAL(BTN_UP, __LINE__ )
#endif
#if PIN_EXISTS(CASE_LIGHT)
REPORT_NAME_DIGITAL(CASE_LIGHT_PIN, __LINE__ )
#endif
#if PIN_EXISTS(CONTROLLER_FAN)
REPORT_NAME_DIGITAL(CONTROLLER_FAN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(CUTOFF_RESET)
REPORT_NAME_DIGITAL(CUTOFF_RESET_PIN, __LINE__ )
#endif
#if PIN_EXISTS(CUTOFF_TEST)
REPORT_NAME_DIGITAL(CUTOFF_TEST_PIN, __LINE__ )
#endif
#if defined(D57) && D57 >= 0
REPORT_NAME_DIGITAL(D57, __LINE__ )
#endif
#if defined(D58) && D58 >= 0
REPORT_NAME_DIGITAL(D58, __LINE__ )
#endif
#if PIN_EXISTS(DAC_DISABLE)
REPORT_NAME_DIGITAL(DAC_DISABLE_PIN, __LINE__ )
#endif
#if defined(DAC0_SYNC) && DAC0_SYNC >= 0
REPORT_NAME_DIGITAL(DAC0_SYNC, __LINE__ )
#endif
#if defined(DAC1_SYNC) && DAC1_SYNC >= 0
REPORT_NAME_DIGITAL(DAC1_SYNC, __LINE__ )
#endif
#if PIN_EXISTS(DEBUG)
REPORT_NAME_DIGITAL(DEBUG_PIN, __LINE__ )
#endif
#if defined(DIGIPOTS_I2C_SCL) && DIGIPOTS_I2C_SCL >= 0
REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SCL, __LINE__ )
#endif
#if defined(DIGIPOTS_I2C_SDA_E0) && DIGIPOTS_I2C_SDA_E0 >= 0
REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_E0, __LINE__ )
#endif
#if defined(DIGIPOTS_I2C_SDA_E1) && DIGIPOTS_I2C_SDA_E1 >= 0
REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_E1, __LINE__ )
#endif
#if defined(DIGIPOTS_I2C_SDA_X) && DIGIPOTS_I2C_SDA_X >= 0
REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_X, __LINE__ )
#endif
#if defined(DIGIPOTS_I2C_SDA_Y) && DIGIPOTS_I2C_SDA_Y >= 0
REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_Y, __LINE__ )
#endif
#if defined(DIGIPOTS_I2C_SDA_Z) && DIGIPOTS_I2C_SDA_Z >= 0
REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_Z, __LINE__ )
#endif
#if PIN_EXISTS(DIGIPOTSS)
REPORT_NAME_DIGITAL(DIGIPOTSS_PIN, __LINE__ )
#endif
#if defined(DOGLCD_A0) && DOGLCD_A0 >= 0
REPORT_NAME_DIGITAL(DOGLCD_A0, __LINE__ )
#endif
#if defined(DOGLCD_CS) && DOGLCD_CS >= 0
REPORT_NAME_DIGITAL(DOGLCD_CS, __LINE__ )
#endif
#if defined(DOGLCD_MOSI) && DOGLCD_MOSI >= 0
REPORT_NAME_DIGITAL(DOGLCD_MOSI, __LINE__ )
#endif
#if defined(DOGLCD_SCK) && DOGLCD_SCK >= 0
REPORT_NAME_DIGITAL(DOGLCD_SCK, __LINE__ )
#endif
#if PIN_EXISTS(E_MUX0)
REPORT_NAME_DIGITAL(E_MUX0_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E_MUX1)
REPORT_NAME_DIGITAL(E_MUX1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E_MUX2)
REPORT_NAME_DIGITAL(E_MUX2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E_STOP)
REPORT_NAME_DIGITAL(E_STOP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E0_ATT)
REPORT_NAME_DIGITAL(E0_ATT_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E0_CS)
REPORT_NAME_DIGITAL(E0_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E0_DIR)
REPORT_NAME_DIGITAL(E0_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E0_ENABLE)
REPORT_NAME_DIGITAL(E0_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E0_MS1)
REPORT_NAME_DIGITAL(E0_MS1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E0_MS2)
REPORT_NAME_DIGITAL(E0_MS2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E0_STEP)
REPORT_NAME_DIGITAL(E0_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E1_CS)
REPORT_NAME_DIGITAL(E1_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E1_DIR)
REPORT_NAME_DIGITAL(E1_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E1_ENABLE)
REPORT_NAME_DIGITAL(E1_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E1_MS1)
REPORT_NAME_DIGITAL(E1_MS1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E1_MS2)
REPORT_NAME_DIGITAL(E1_MS2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E1_STEP)
REPORT_NAME_DIGITAL(E1_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E2_CS)
REPORT_NAME_DIGITAL(E2_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E2_DIR)
REPORT_NAME_DIGITAL(E2_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E2_ENABLE)
REPORT_NAME_DIGITAL(E2_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E2_STEP)
REPORT_NAME_DIGITAL(E2_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E3_CS)
REPORT_NAME_DIGITAL(E3_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E3_DIR)
REPORT_NAME_DIGITAL(E3_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E3_ENABLE)
REPORT_NAME_DIGITAL(E3_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E3_MS1)
REPORT_NAME_DIGITAL(E3_MS1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E3_MS2)
REPORT_NAME_DIGITAL(E3_MS2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E3_MS3)
REPORT_NAME_DIGITAL(E3_MS3_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E3_STEP)
REPORT_NAME_DIGITAL(E3_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E4_DIR)
REPORT_NAME_DIGITAL(E4_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E4_ENABLE)
REPORT_NAME_DIGITAL(E4_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(E4_STEP)
REPORT_NAME_DIGITAL(E4_STEP_PIN, __LINE__ )
#endif
#if defined(ENET_CRS) && ENET_CRS >= 0
REPORT_NAME_DIGITAL(ENET_CRS, __LINE__ )
#endif
#if defined(ENET_MDIO) && ENET_MDIO >= 0
REPORT_NAME_DIGITAL(ENET_MDIO, __LINE__ )
#endif
#if defined(ENET_MOC) && ENET_MOC >= 0
REPORT_NAME_DIGITAL(ENET_MOC, __LINE__ )
#endif
#if defined(ENET_RX_ER) && ENET_RX_ER >= 0
REPORT_NAME_DIGITAL(ENET_RX_ER, __LINE__ )
#endif
#if defined(ENET_RXD0) && ENET_RXD0 >= 0
REPORT_NAME_DIGITAL(ENET_RXD0, __LINE__ )
#endif
#if defined(ENET_RXD1) && ENET_RXD1 >= 0
REPORT_NAME_DIGITAL(ENET_RXD1, __LINE__ )
#endif
#if defined(ENET_TX_EN) && ENET_TX_EN >= 0
REPORT_NAME_DIGITAL(ENET_TX_EN, __LINE__ )
#endif
#if defined(ENET_TXD0) && ENET_TXD0 >= 0
REPORT_NAME_DIGITAL(ENET_TXD0, __LINE__ )
#endif
#if defined(ENET_TXD1) && ENET_TXD1 >= 0
REPORT_NAME_DIGITAL(ENET_TXD1, __LINE__ )
#endif
#if PIN_EXISTS(EXP_VOLTAGE_LEVEL)
REPORT_NAME_DIGITAL(EXP_VOLTAGE_LEVEL_PIN, __LINE__ )
#endif
#if defined(EXT_AUX_A0_IO) && EXT_AUX_A0_IO >= 0
REPORT_NAME_DIGITAL(EXT_AUX_A0_IO, __LINE__ )
#endif
#if defined(EXT_AUX_A1_IO) && EXT_AUX_A1_IO >= 0
REPORT_NAME_DIGITAL(EXT_AUX_A1_IO, __LINE__ )
#endif
#if defined(EXT_AUX_A2_IO) && EXT_AUX_A2_IO >= 0
REPORT_NAME_DIGITAL(EXT_AUX_A2_IO, __LINE__ )
#endif
#if defined(EXT_AUX_A3_IO) && EXT_AUX_A3_IO >= 0
REPORT_NAME_DIGITAL(EXT_AUX_A3_IO, __LINE__ )
#endif
#if defined(EXT_AUX_A4_IO) && EXT_AUX_A4_IO >= 0
REPORT_NAME_DIGITAL(EXT_AUX_A4_IO, __LINE__ )
#endif
#if defined(EXT_AUX_PWM_D24) && EXT_AUX_PWM_D24 >= 0
REPORT_NAME_DIGITAL(EXT_AUX_PWM_D24, __LINE__ )
#endif
#if defined(EXT_AUX_RX1_D2) && EXT_AUX_RX1_D2 >= 0
REPORT_NAME_DIGITAL(EXT_AUX_RX1_D2, __LINE__ )
#endif
#if defined(EXT_AUX_SCL_D0) && EXT_AUX_SCL_D0 >= 0
REPORT_NAME_DIGITAL(EXT_AUX_SCL_D0, __LINE__ )
#endif
#if defined(EXT_AUX_SDA_D1) && EXT_AUX_SDA_D1 >= 0
REPORT_NAME_DIGITAL(EXT_AUX_SDA_D1, __LINE__ )
#endif
#if defined(EXT_AUX_TX1_D3) && EXT_AUX_TX1_D3 >= 0
REPORT_NAME_DIGITAL(EXT_AUX_TX1_D3, __LINE__ )
#endif
#if PIN_EXISTS(FAN)
REPORT_NAME_DIGITAL(FAN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(FAN1)
REPORT_NAME_DIGITAL(FAN1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(FAN2)
REPORT_NAME_DIGITAL(FAN2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(FAN3)
REPORT_NAME_DIGITAL(FAN3_PIN, __LINE__ )
#endif
#if PIN_EXISTS(FIL_RUNOUT)
REPORT_NAME_DIGITAL(FIL_RUNOUT_PIN, __LINE__ )
#endif
#if defined(GEN7_VERSION) && GEN7_VERSION >= 0
REPORT_NAME_DIGITAL(GEN7_VERSION, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_0)
REPORT_NAME_DIGITAL(HEATER_0_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_1)
REPORT_NAME_DIGITAL(HEATER_1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_2)
REPORT_NAME_DIGITAL(HEATER_2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_3)
REPORT_NAME_DIGITAL(HEATER_3_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_4)
REPORT_NAME_DIGITAL(HEATER_4_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_5)
REPORT_NAME_DIGITAL(HEATER_5_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_6)
REPORT_NAME_DIGITAL(HEATER_6_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_7)
REPORT_NAME_DIGITAL(HEATER_7_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HEATER_BED)
REPORT_NAME_DIGITAL(HEATER_BED_PIN, __LINE__ )
#endif
#if PIN_EXISTS(HOME)
REPORT_NAME_DIGITAL(HOME_PIN, __LINE__ )
#endif
#if defined(I2C_EEPROM) && I2C_EEPROM >= 0
REPORT_NAME_DIGITAL(I2C_EEPROM, __LINE__ )
#endif
#if PIN_EXISTS(I2C_SCL)
REPORT_NAME_DIGITAL(I2C_SCL_PIN, __LINE__ )
#endif
#if PIN_EXISTS(I2C_SDA)
REPORT_NAME_DIGITAL(I2C_SDA_PIN, __LINE__ )
#endif
#if PIN_EXISTS(KILL)
REPORT_NAME_DIGITAL(KILL_PIN, __LINE__ )
#endif
#if PIN_EXISTS(LCD_BACKLIGHT)
REPORT_NAME_DIGITAL(LCD_BACKLIGHT_PIN, __LINE__ )
#endif
#if PIN_EXISTS(LCD)
REPORT_NAME_DIGITAL(LCD_PINS_D4, __LINE__ )
#endif
#if PIN_EXISTS(LCD)
REPORT_NAME_DIGITAL(LCD_PINS_D5, __LINE__ )
#endif
#if PIN_EXISTS(LCD)
REPORT_NAME_DIGITAL(LCD_PINS_D6, __LINE__ )
#endif
#if PIN_EXISTS(LCD)
REPORT_NAME_DIGITAL(LCD_PINS_D7, __LINE__ )
#endif
#if PIN_EXISTS(LCD)
REPORT_NAME_DIGITAL(LCD_PINS_ENABLE, __LINE__ )
#endif
#if PIN_EXISTS(LCD)
REPORT_NAME_DIGITAL(LCD_PINS_RS, __LINE__ )
#endif
#if defined(LCD_SDSS) && LCD_SDSS >= 0
REPORT_NAME_DIGITAL(LCD_SDSS, __LINE__ )
#endif
#if PIN_EXISTS(LED_GREEN)
REPORT_NAME_DIGITAL(LED_GREEN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(LED)
REPORT_NAME_DIGITAL(LED_PIN, __LINE__ )
#endif
#if PIN_EXISTS(LED_RED)
REPORT_NAME_DIGITAL(LED_RED_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MAX)
REPORT_NAME_DIGITAL(MAX_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MAX6675_DO)
REPORT_NAME_DIGITAL(MAX6675_DO_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MAX6675_SCK)
REPORT_NAME_DIGITAL(MAX6675_SCK_PIN, __LINE__ )
#endif
#if defined(MAX6675_SS) && MAX6675_SS >= 0
REPORT_NAME_DIGITAL(MAX6675_SS, __LINE__ )
#endif
#if defined(MISO) && MISO >= 0
REPORT_NAME_DIGITAL(MISO, __LINE__ )
#endif
#if PIN_EXISTS(MISO)
REPORT_NAME_DIGITAL(MISO_PIN, __LINE__ )
#endif
#if defined(MOSI) && MOSI >= 0
REPORT_NAME_DIGITAL(MOSI, __LINE__ )
#endif
#if PIN_EXISTS(MOSI)
REPORT_NAME_DIGITAL(MOSI_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
REPORT_NAME_DIGITAL(MOTOR_CURRENT_PWM_E_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
REPORT_NAME_DIGITAL(MOTOR_CURRENT_PWM_XY_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
REPORT_NAME_DIGITAL(MOTOR_CURRENT_PWM_Z_PIN, __LINE__ )
#endif
#if PIN_EXISTS(MOTOR_FAULT)
REPORT_NAME_DIGITAL(MOTOR_FAULT_PIN, __LINE__ )
#endif
#if PIN_EXISTS(NUM_DIGITAL)
REPORT_NAME_DIGITAL(NUM_DIGITAL_PINS, __LINE__ )
#endif
#if PIN_EXISTS(ORIG_E0_AUTO_FAN)
REPORT_NAME_DIGITAL(ORIG_E0_AUTO_FAN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(ORIG_E1_AUTO_FAN)
REPORT_NAME_DIGITAL(ORIG_E1_AUTO_FAN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(ORIG_E2_AUTO_FAN)
REPORT_NAME_DIGITAL(ORIG_E2_AUTO_FAN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(ORIG_E3_AUTO_FAN)
REPORT_NAME_DIGITAL(ORIG_E3_AUTO_FAN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(PHOTOGRAPH)
REPORT_NAME_DIGITAL(PHOTOGRAPH_PIN, __LINE__ )
#endif
#if PIN_EXISTS(PS_ON)
REPORT_NAME_DIGITAL(PS_ON_PIN, __LINE__ )
#endif
#if PIN_EXISTS(PWM_1)
REPORT_NAME_DIGITAL(PWM_1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(PWM_2)
REPORT_NAME_DIGITAL(PWM_2_PIN, __LINE__ )
#endif
#if defined(REF_CLK) && REF_CLK >= 0
REPORT_NAME_DIGITAL(REF_CLK, __LINE__ )
#endif
#if PIN_EXISTS(RX_ENABLE)
REPORT_NAME_DIGITAL(RX_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SAFETY_TRIGGERED)
REPORT_NAME_DIGITAL(SAFETY_TRIGGERED_PIN, __LINE__ )
#endif
#if defined(SCK) && SCK >= 0
REPORT_NAME_DIGITAL(SCK, __LINE__ )
#endif
#if PIN_EXISTS(SCK)
REPORT_NAME_DIGITAL(SCK_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SD_DETECT)
REPORT_NAME_DIGITAL(SD_DETECT_PIN, __LINE__ )
#endif
#if defined(SDPOWER) && SDPOWER >= 0
REPORT_NAME_DIGITAL(SDPOWER, __LINE__ )
#endif
#if defined(SDSS) && SDSS >= 0
REPORT_NAME_DIGITAL(SDSS, __LINE__ )
#endif
#if defined(SERVO0) && SERVO0 >= 0
REPORT_NAME_DIGITAL(SERVO0, __LINE__ )
#endif
#if PIN_EXISTS(SERVO0)
REPORT_NAME_DIGITAL(SERVO0_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SERVO1)
REPORT_NAME_DIGITAL(SERVO1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SERVO2)
REPORT_NAME_DIGITAL(SERVO2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SERVO3)
REPORT_NAME_DIGITAL(SERVO3_PIN, __LINE__ )
#endif
#if defined(SHIFT_CLK) && SHIFT_CLK >= 0
REPORT_NAME_DIGITAL(SHIFT_CLK, __LINE__ )
#endif
#if defined(SHIFT_EN) && SHIFT_EN >= 0
REPORT_NAME_DIGITAL(SHIFT_EN, __LINE__ )
#endif
#if defined(SHIFT_LD) && SHIFT_LD >= 0
REPORT_NAME_DIGITAL(SHIFT_LD, __LINE__ )
#endif
#if defined(SHIFT_OUT) && SHIFT_OUT >= 0
REPORT_NAME_DIGITAL(SHIFT_OUT, __LINE__ )
#endif
#if PIN_EXISTS(SLEEP_WAKE)
REPORT_NAME_DIGITAL(SLEEP_WAKE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SOL1)
REPORT_NAME_DIGITAL(SOL1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SOL2)
REPORT_NAME_DIGITAL(SOL2_PIN, __LINE__ )
#endif
#if defined(SPARE_IO) && SPARE_IO >= 0
REPORT_NAME_DIGITAL(SPARE_IO, __LINE__ )
#endif
#if defined(SPI_CHAN_DAC) && SPI_CHAN_DAC >= 0
REPORT_NAME_DIGITAL(SPI_CHAN_DAC, __LINE__ )
#endif
#if defined(SPI_CHAN_EEPROM1) && SPI_CHAN_EEPROM1 >= 0
REPORT_NAME_DIGITAL(SPI_CHAN_EEPROM1, __LINE__ )
#endif
#if defined(SPI_EEPROM) && SPI_EEPROM >= 0
REPORT_NAME_DIGITAL(SPI_EEPROM, __LINE__ )
#endif
#if defined(SPI_EEPROM1_CS) && SPI_EEPROM1_CS >= 0
REPORT_NAME_DIGITAL(SPI_EEPROM1_CS, __LINE__ )
#endif
#if defined(SPI_EEPROM2_CS) && SPI_EEPROM2_CS >= 0
REPORT_NAME_DIGITAL(SPI_EEPROM2_CS, __LINE__ )
#endif
#if defined(SPI_FLASH_CS) && SPI_FLASH_CS >= 0
REPORT_NAME_DIGITAL(SPI_FLASH_CS, __LINE__ )
#endif
#if PIN_EXISTS(SPINDLE_DIR)
REPORT_NAME_DIGITAL(SPINDLE_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SPINDLE_ENABLE)
REPORT_NAME_DIGITAL(SPINDLE_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SPINDLE_LASER_ENABLE)
REPORT_NAME_DIGITAL(SPINDLE_LASER_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SPINDLE_LASER_PWM)
REPORT_NAME_DIGITAL(SPINDLE_LASER_PWM_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SR_CLK)
REPORT_NAME_DIGITAL(SR_CLK_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SR_DATA)
REPORT_NAME_DIGITAL(SR_DATA_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SR_STROBE)
REPORT_NAME_DIGITAL(SR_STROBE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(STAT_LED_BLUE)
REPORT_NAME_DIGITAL(STAT_LED_BLUE_PIN, __LINE__ )
#endif
#if defined(STAT_LED_RED_LED) && STAT_LED_RED_LED >= 0
REPORT_NAME_DIGITAL(STAT_LED_RED_LED, __LINE__ )
#endif
#if PIN_EXISTS(STAT_LED_RED)
REPORT_NAME_DIGITAL(STAT_LED_RED_PIN, __LINE__ )
#endif
#if PIN_EXISTS(STEPPER_RESET)
REPORT_NAME_DIGITAL(STEPPER_RESET_PIN, __LINE__ )
#endif
#if PIN_EXISTS(SUICIDE)
REPORT_NAME_DIGITAL(SUICIDE_PIN, __LINE__ )
#endif
#if defined(THERMO_CS1) && THERMO_CS1 >= 0
REPORT_NAME_DIGITAL(THERMO_CS1, __LINE__ )
#endif
#if defined(THERMO_CS2) && THERMO_CS2 >= 0
REPORT_NAME_DIGITAL(THERMO_CS2, __LINE__ )
#endif
#if PIN_EXISTS(THERMO_DO)
REPORT_NAME_DIGITAL(THERMO_DO_PIN, __LINE__ )
#endif
#if PIN_EXISTS(THERMO_SCK)
REPORT_NAME_DIGITAL(THERMO_SCK_PIN, __LINE__ )
#endif
#if defined(TLC_BLANK_BIT) && TLC_BLANK_BIT >= 0
REPORT_NAME_DIGITAL(TLC_BLANK_BIT, __LINE__ )
#endif
#if PIN_EXISTS(TLC_BLANK)
REPORT_NAME_DIGITAL(TLC_BLANK_PIN, __LINE__ )
#endif
#if defined(TLC_BLANK_PORT) && TLC_BLANK_PORT >= 0
REPORT_NAME_DIGITAL(TLC_BLANK_PORT, __LINE__ )
#endif
#if defined(TLC_CLOCK_BIT) && TLC_CLOCK_BIT >= 0
REPORT_NAME_DIGITAL(TLC_CLOCK_BIT, __LINE__ )
#endif
#if PIN_EXISTS(TLC_CLOCK)
REPORT_NAME_DIGITAL(TLC_CLOCK_PIN, __LINE__ )
#endif
#if defined(TLC_CLOCK_PORT) && TLC_CLOCK_PORT >= 0
REPORT_NAME_DIGITAL(TLC_CLOCK_PORT, __LINE__ )
#endif
#if defined(TLC_DATA_BIT) && TLC_DATA_BIT >= 0
REPORT_NAME_DIGITAL(TLC_DATA_BIT, __LINE__ )
#endif
#if PIN_EXISTS(TLC_DATA)
REPORT_NAME_DIGITAL(TLC_DATA_PIN, __LINE__ )
#endif
#if defined(TLC_DATA_PORT) && TLC_DATA_PORT >= 0
REPORT_NAME_DIGITAL(TLC_DATA_PORT, __LINE__ )
#endif
#if defined(TLC_XLAT_BIT) && TLC_XLAT_BIT >= 0
REPORT_NAME_DIGITAL(TLC_XLAT_BIT, __LINE__ )
#endif
#if PIN_EXISTS(TLC_XLAT)
REPORT_NAME_DIGITAL(TLC_XLAT_PIN, __LINE__ )
#endif
#if defined(TLC_XLAT_PORT) && TLC_XLAT_PORT >= 0
REPORT_NAME_DIGITAL(TLC_XLAT_PORT, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_0)
REPORT_NAME_DIGITAL(TOOL_0_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_0_PWM)
REPORT_NAME_DIGITAL(TOOL_0_PWM_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_1)
REPORT_NAME_DIGITAL(TOOL_1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_1_PWM)
REPORT_NAME_DIGITAL(TOOL_1_PWM_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_2)
REPORT_NAME_DIGITAL(TOOL_2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_2_PWM)
REPORT_NAME_DIGITAL(TOOL_2_PWM_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_3)
REPORT_NAME_DIGITAL(TOOL_3_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_3_PWM)
REPORT_NAME_DIGITAL(TOOL_3_PWM_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TOOL_PWM)
REPORT_NAME_DIGITAL(TOOL_PWM_PIN, __LINE__ )
#endif
#if PIN_EXISTS(TX_ENABLE)
REPORT_NAME_DIGITAL(TX_ENABLE_PIN, __LINE__ )
#endif
#if defined(UI1) && UI1 >= 0
REPORT_NAME_DIGITAL(UI1, __LINE__ )
#endif
#if defined(UI2) && UI2 >= 0
REPORT_NAME_DIGITAL(UI2, __LINE__ )
#endif
#if defined(UNUSED_PWM) && UNUSED_PWM >= 0
REPORT_NAME_DIGITAL(UNUSED_PWM, __LINE__ )
#endif
#if PIN_EXISTS(X_ATT)
REPORT_NAME_DIGITAL(X_ATT_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_CS)
REPORT_NAME_DIGITAL(X_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_DIR)
REPORT_NAME_DIGITAL(X_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_ENABLE)
REPORT_NAME_DIGITAL(X_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_MAX)
REPORT_NAME_DIGITAL(X_MAX_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_MIN)
REPORT_NAME_DIGITAL(X_MIN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_MS1)
REPORT_NAME_DIGITAL(X_MS1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_MS2)
REPORT_NAME_DIGITAL(X_MS2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_STEP)
REPORT_NAME_DIGITAL(X_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(X_STOP)
REPORT_NAME_DIGITAL(X_STOP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_ATT)
REPORT_NAME_DIGITAL(Y_ATT_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_CS)
REPORT_NAME_DIGITAL(Y_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_DIR)
REPORT_NAME_DIGITAL(Y_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_ENABLE)
REPORT_NAME_DIGITAL(Y_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_MAX)
REPORT_NAME_DIGITAL(Y_MAX_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_MIN)
REPORT_NAME_DIGITAL(Y_MIN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_MS1)
REPORT_NAME_DIGITAL(Y_MS1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_MS2)
REPORT_NAME_DIGITAL(Y_MS2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_STEP)
REPORT_NAME_DIGITAL(Y_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Y_STOP)
REPORT_NAME_DIGITAL(Y_STOP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_ATT)
REPORT_NAME_DIGITAL(Z_ATT_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_CS)
REPORT_NAME_DIGITAL(Z_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_DIR)
REPORT_NAME_DIGITAL(Z_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_ENABLE)
REPORT_NAME_DIGITAL(Z_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_MAX)
REPORT_NAME_DIGITAL(Z_MAX_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_MIN)
REPORT_NAME_DIGITAL(Z_MIN_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_MIN_PROBE)
REPORT_NAME_DIGITAL(Z_MIN_PROBE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_MS1)
REPORT_NAME_DIGITAL(Z_MS1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_MS2)
REPORT_NAME_DIGITAL(Z_MS2_PIN, __LINE__ )
#endif
#if defined(Z_probe_pin) && Z_probe_pin >= 0
REPORT_NAME_DIGITAL(Z_probe_pin, __LINE__ )
#endif
#if PIN_EXISTS(Z_STEP)
REPORT_NAME_DIGITAL(Z_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z_STOP)
REPORT_NAME_DIGITAL(Z_STOP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z2_CS)
REPORT_NAME_DIGITAL(Z2_CS_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z2_DIR)
REPORT_NAME_DIGITAL(Z2_DIR_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z2_ENABLE)
REPORT_NAME_DIGITAL(Z2_ENABLE_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z2_MS1)
REPORT_NAME_DIGITAL(Z2_MS1_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z2_MS2)
REPORT_NAME_DIGITAL(Z2_MS2_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z2_MS3)
REPORT_NAME_DIGITAL(Z2_MS3_PIN, __LINE__ )
#endif
#if PIN_EXISTS(Z2_STEP)
REPORT_NAME_DIGITAL(Z2_STEP_PIN, __LINE__ )
#endif
#if PIN_EXISTS(ZRIB_V20_D6)
REPORT_NAME_DIGITAL(ZRIB_V20_D6_PIN, __LINE__ )
#endif
#if PIN_EXISTS(ZRIB_V20_D9)
REPORT_NAME_DIGITAL(ZRIB_V20_D9_PIN, __LINE__ )
#endif

View File

@ -0,0 +1,163 @@
/**
* 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/>.
*
*/
/**
* 3DRAG (and K8200 / K8400) Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef BOARD_NAME
#define BOARD_NAME "3Drag"
#endif
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME "3Drag"
#endif
#ifndef DEFAULT_SOURCE_CODE_URL
#define DEFAULT_SOURCE_CODE_URL "http://3dprint.elettronicain.it/"
#endif
//
// Heaters / Fans
//
#define RAMPS_D8_PIN 9
#define RAMPS_D9_PIN 8
#define MOSFET_D_PIN 12
#define CASE_LIGHT_PIN -1 // MUST BE HARDWARE PWM but one is not available on expansion header
#include "pins_RAMPS.h"
//
// Limit Switches
//
#undef Z_MAX_PIN
#define Z_MAX_PIN -1
//
// Steppers
//
#undef Z_ENABLE_PIN
#define Z_ENABLE_PIN 63
//
// Heaters / Fans
//
#define HEATER_2_PIN 6
//
// Misc. Functions
//
#undef SDSS
#define SDSS 25
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 53
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)
#undef BEEPER_PIN
#define BEEPER_PIN -1
#undef LCD_PINS_RS
#undef LCD_PINS_ENABLE
#undef LCD_PINS_D4
#undef LCD_PINS_D5
#undef LCD_PINS_D6
#undef LCD_PINS_D7
#define LCD_PINS_RS 27
#define LCD_PINS_ENABLE 29
#define LCD_PINS_D4 37
#define LCD_PINS_D5 35
#define LCD_PINS_D6 33
#define LCD_PINS_D7 31
// Buttons
#undef BTN_EN1
#undef BTN_EN2
#undef BTN_ENC
#define BTN_EN1 16
#define BTN_EN2 17
#define BTN_ENC 23
#else
#define BEEPER_PIN 33
#endif // ULTRA_LCD && NEWPANEL
/**
* M3/M4/M5 - Spindle/Laser Control
*
* If you want to control the speed of your spindle then you'll have
* have to sacrifce the Extruder and pull some signals off the Z stepper
* driver socket.
*
* The following assumes:
* - the Z stepper driver socket is empty
* - the extruder driver socket has a driver board plugged into it
* - the Z stepper wires are attached the the extruder connector
*
* If you want to keep the extruder AND don't have a LCD display then
* you can still control the power on/off and spindle direction.
*
* Where to get spindle signals
*
* stepper signal socket name socket name
* -------
* SPINDLE_LASER_ENABLE_PIN /ENABLE O| |O VMOT
* MS1 O| |O GND
* MS2 O| |O 2B
* MS3 O| |O 2A
* /RESET O| |O 1A
* /SLEEP O| |O 1B
* SPINDLE_LASER_PWM_PIN STEP O| |O VDD
* SPINDLE_DIR_PIN DIR O| |O GND
* -------
*
* Note: Socket names vary from vendor to vendor
*/
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not good with 3DRAG
#undef SPINDLE_LASER_ENABLE_PIN
#undef SPINDLE_DIR_PIN
#if ENABLED(SPINDLE_LASER_ENABLE)
#if !EXTRUDERS
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#undef E0_STEP_PIN
#undef Z_DIR_PIN
#undef Z_ENABLE_PIN
#undef Z_STEP_PIN
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 24
#define Z_STEP_PIN 26
#define SPINDLE_LASER_PWM_PIN 46 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 62 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 48
#elif !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)) // use expansion header if no LCD in use
#define SPINDLE_LASER_ENABLE_PIN 16 // Pin should have a pullup/pulldown!
#define SPINDLE_DIR_PIN 17
#endif
#endif

132
Marlin/src/pins/pins_5DPRINT.h Executable file
View File

@ -0,0 +1,132 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Rev B 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software.
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
*
* Installation instructions are at the above URL. Don't bother loading the
* libraries - they are not used with the Marlin software.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
*
* Installation:
*
* 1. Go to the above URL, click on the "Clone or Download" button and then
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Teensyduino is the most popular option. Printrboard is used if your board doesn't have
* the Teensyduino bootloader on it.
*/
/**
* To burn the bootloader that comes with Printrboard:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
/**
* 5DPrint D8 Driver board pin assignments
*
* https://bitbucket.org/makible/5dprint-d8-controller-board
*/
#ifndef __AVR_AT90USB1286__
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define DEFAULT_MACHINE_NAME "Makibox"
#define BOARD_NAME "5DPrint D8"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 37 // E5
#define Y_STOP_PIN 36 // E4
#define Z_STOP_PIN 19 // E7
//
// Steppers
//
#define X_STEP_PIN 28 // A0
#define X_DIR_PIN 29 // A1
#define X_ENABLE_PIN 17 // C7
#define Y_STEP_PIN 30 // A2
#define Y_DIR_PIN 31 // A3
#define Y_ENABLE_PIN 13 // C3
#define Z_STEP_PIN 32 // A4
#define Z_DIR_PIN 33 // A5
#define Z_ENABLE_PIN 12 // C2
#define E0_STEP_PIN 34 // A6
#define E0_DIR_PIN 35 // A7
#define E0_ENABLE_PIN 11 // C1
#define X_MS1_PIN 25 // B5
#define X_MS2_PIN 26 // B6
#define Y_MS1_PIN 9 // E1
#define Y_MS2_PIN 8 // E0
#define Z_MS1_PIN 7 // D7
#define Z_MS2_PIN 6 // D6
#define E0_MS1_PIN 5 // D5
#define E0_MS2_PIN 4 // D4
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // F1 Analog Input
#define TEMP_BED_PIN 0 // F0 Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 15 // C5
#define HEATER_BED_PIN 14 // C4
#define FAN_PIN 16 // C6 PWM3A
//
// Misc. Functions
//
#define SDSS 20 // B0

View File

@ -0,0 +1,159 @@
/**
* 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/>.
*
*/
/**
* Alligator Board R2
* http://www.3dartists.org/
*/
#ifndef __SAM3X8E__
#error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu."
#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
#define FAN_PIN 92 // PA5
#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
#if UI_VOLTAGE_LEVEL != 1
#undef UI_VOLTAGE_LEVEL
#define UI_VOLTAGE_LEVEL 1
#endif
#endif // REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

View File

@ -0,0 +1,274 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Anet V1.0 board pin assignments
*/
/**
* Rev B 16 JUN 2017
*
* 1) no longer uses Sanguino files to define some of the pins
* 2) added pointers to useable Arduino IDE extensions
*
*/
/**
* The standard Arduino IDE extension (board manager) for this board
* is located at https://github.com/SkyNet3D/anet-board.
*
* Installation instructions are on that page.
*
* After copying the files to the appropriate location, restart Arduino and
* you'll see "Anet V1.0" and "Anet V1.0 (Optiboot)" in the boards list.
*
* "Anet V1.0" uses the bootloader that was installed on the board when
* it shipped from the factory.
*
* "Anet V1.0 (Optiboot)" frees up another 3K of FLASH. You'll need to burn
* a new bootloader to the board to be able to automatically download a
* compiled image.
*
*/
/**
* Another usable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
/**
* To burn a new bootloader:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select the board and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
/**
* Additional info:
*
* Anet Schematics - https://github.com/ralf-e/ANET-3D-Board-V1.0
* Wiring RRDFG Smart Controller - http://www.thingiverse.com/thing:2103748
* SkyNet3D Anet software development - https://github.com/SkyNet3D/Marlin/
* Anet Users / Skynet SW on Facebook - https://www.facebook.com/skynet3ddevelopment/
*
* Many thanks to Hans Raaf (@oderwat) for developing the Anet-specific software and supporting the Anet community.
*/
#if !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Anet V1.0', 'Anet V1.0 (Optiboot)' or 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "Anet"
#endif
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 18
#define Y_STOP_PIN 19
#define Z_STOP_PIN 20
//
// Steppers
//
#define X_STEP_PIN 15
#define X_DIR_PIN 21
#define X_ENABLE_PIN 14
#define Y_STEP_PIN 22
#define Y_DIR_PIN 23
#define Y_ENABLE_PIN 14
#define Z_STEP_PIN 3
#define Z_DIR_PIN 2
#define Z_ENABLE_PIN 26
#define E0_STEP_PIN 1
#define E0_DIR_PIN 0
#define E0_ENABLE_PIN 14
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // Analog Input (pin 33 extruder)
#define TEMP_BED_PIN 6 // Analog Input (pin 34 bed)
//
// Heaters / Fans
//
#define HEATER_0_PIN 13 // (extruder)
#define HEATER_BED_PIN 12 // (bed)
#define FAN_PIN 4
//
// Misc. Functions
//
#define SDSS 31
#define LED_PIN -1
/**
* LCD / Controller
*
* Only the following displays are supported:
* ANET_KEYPAD_LCD
* ANET_FULL_GRAPHICS_LCD
* REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
*/
#if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)
#define LCD_SDSS 28
#if ENABLED(ADC_KEYPAD)
#define SERVO0_PIN 27 // free for BLTouch/3D-Touch
#define LCD_PINS_RS 28
#define LCD_PINS_ENABLE 29
#define LCD_PINS_D4 10
#define LCD_PINS_D5 11
#define LCD_PINS_D6 16
#define LCD_PINS_D7 17
#define BTN_EN1 -1
#define BTN_EN2 -1
#define BTN_ENC -1
#define ADC_KEYPAD_PIN 1
#define ENCODER_FEEDRATE_DEADZONE 2
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(ANET_FULL_GRAPHICS_LCD)
// Pin definitions for the Anet A6 Full Graphics display and the RepRapDiscount Full Graphics
// display using an adapter board // https://go.aisler.net/benlye/anet-lcd-adapter/pcb
// See below for alternative pin definitions for use with https://www.thingiverse.com/thing:2103748
#define SERVO0_PIN 29 // free for BLTouch/3D-Touch
#define BEEPER_PIN 17
#define LCD_PINS_RS 27
#define LCD_PINS_ENABLE 28
#define LCD_PINS_D4 30
#define BTN_EN1 11
#define BTN_EN2 10
#define BTN_ENC 16
#define ST7920_DELAY_1 DELAY_0_NOP
#define ST7920_DELAY_2 DELAY_1_NOP
#define ST7920_DELAY_3 DELAY_2_NOP
#ifndef ENCODER_STEPS_PER_MENU_ITEM
#define ENCODER_STEPS_PER_MENU_ITEM 1
#endif
#ifndef ENCODER_PULSES_PER_STEP
#define ENCODER_PULSES_PER_STEP 4
#endif
#endif
#endif // ULTRA_LCD && NEWPANEL
/**
* ====================================================================
* =============== Alternative RepRapDiscount Wiring ==================
* ====================================================================
*
* An alternative wiring scheme for the RepRapDiscount Full Graphics Display is
* published by oderwat on Thingiverse at https://www.thingiverse.com/thing:2103748.
*
* Using that adapter requires changing the pin definition as follows:
* #define SERVO0_PIN 27 // free for BLTouch/3D-Touch
* #define BEEPER_PIN 28
* #define LCD_PINS_RS 30
* #define LCD_PINS_ENABLE 29
* #define LCD_PINS_D4 17
*
* The BLTouch pin becomes LCD:3
*/
/**
* ====================================================================
* ===================== LCD PINOUTS ==================================
* ====================================================================
*
* Anet V1.0 controller | ANET_KEYPAD_LCD | ANET_FULL_ | RepRapDiscount Full | Thingiverse RepRap wiring
* physical logical alt | | GRAPHICS_LCD | Graphics Display Wiring | http://www.thingiverse
* pin pin functions | | | | .com/thing:2103748
*------------------------------------------------------------------------------------------------------------------------
* ANET-J3.1 8 *** | N/A | J3_TX *** | |
* ANET-J3.2 9 *** | N/A | J3_RX *** | |
* ANET-J3.3 6 MISO | N/A | MISO *** | EXP2.1 MISO | EXP2.1 MISO
* ANET-J3.4 +5V | N/A | +5V | |
* ANET-J3.5 7 SCK | N/A | SCK *** | EXP2.2 SCK | EXP2.2 SCK
* ANET-J3.6 5 MOSI | N/A | MOSI *** | EXP2.6 MOSI | EXP2.6 MOSI
* ANET-J3.7 !RESET | N/A | button | EXP2.8 panel button | EXP2.8 panel button
* ANET-J3.8 GND | N/A | GND | EXP2.9 GND | EXP2.9 GND
* ANET-J3.9 4 Don't use | N/A | N/C | |
* ANET-J3.10 +3.3V | N/A | +3.3V *** | |
* | | | |
* | | | |
* ANET-LCD.1 GND | GND | GND | EXP1.9 GND | EXP1.9 GND
* ANET-LCD.2 +5V | +5V | +5V | EXP1.10 +5V | EXP1.10 +5V
* ANET-LCD.3 27 A4 | N/C * | LCD_PINS_RS | EXP1.4 LCD_PINS_RS | EXP2.4 SDSS or N/C *
* ANET-LCD.4 10 | LCD_PINS_D4 | BTN_EN2 | EXP2.3 BTN_EN2 | EXP2.3 BTN_EN2
* ANET-LCD.5 28 A3 | LCD_PINS_RS | LCD_PINS_ENABLE | EXP1.3 LCD_PINS_ENABLE | EXP1.1 BEEPER_PIN
* ANET-LCD.6 11 | LCD_PINS_D5 | BTN_EN1 | EXP2.5 BTN_EN1 | EXP2.5 BTN_EN1
* ANET-LCD.7 29 A2 | LCD_PINS_ENABLE | N/C * | EXP2.4 SDSS or N/C * | EXP1.3 LCD_PINS_ENABLE
* ANET-LCD.8 16 SCL | LCD_PINS_D6 | BTN_ENC | EXP1.2 BTN_ENC | EXP1.2 BTN_ENC
* ANET-LCD.9 30 A1 | ADC_KEYPAD_PIN ** | LCD_PINS_D4 | EXP1.5 LCD_PINS_D4 | EXP1.4 LCD_PINS_RS
* ANET-LCD.10 17 SDA | LCD_PINS_D7 | BEEPER_PIN | EXP1.1 BEEPER_PIN | EXP1.5 LCD_PINS_D4
*
* N/C * - if not connected to the LCD can be used for BLTouch servo input
* ** - analog pin -WITHOUT a pullup
* *** - only connected to something if the Bluetooth module is populated
*/
/**
* REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
* physical pin function
* EXP1.1 BEEPER
* EXP1.2 BTN_ENC
* EXP1.3 LCD_PINS_ENABLE
* EXP1.4 LCD_PINS_RS
* EXP1.5 LCD_PINS_D4
* EXP1.6 LCD_PINS_D5 (not used)
* EXP1.7 LCD_PINS_D6 (not used)
* EXP1.8 LCD_PINS_D7 (not used)
* EXP1.9 GND
* EXP1.10 VCC
*
*
* EXP2.1 MISO
* EXP2.2 SCK
* EXP2.3 BTN_EN2
* EXP2.4 SDSS
* EXP2.5 BTN_EN1
* EXP2.6 MOSI
* EXP2.7 SD_DETECT_PIN
* EXP2.8 button
* EXP2.9 GND
* EXP2.10 NC
*/

View File

@ -0,0 +1,29 @@
/**
* 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/>.
*
*/
/**
* Azteeg X1 pin assignments
*/
#define BOARD_NAME "Azteeg X1"
#include "pins_SANGUINOLOLU_12.h"

View File

@ -0,0 +1,98 @@
/**
* 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/>.
*
*/
/**
* AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu."
#endif
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Azteeg X3 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#define CASE_LIGHT_PIN 6 // must define it here or else RAMPS will define it
#endif
#define BOARD_NAME "Azteeg X3"
#include "pins_RAMPS_13.h"
//
// Servos
//
#undef SERVO0_PIN
#undef SERVO1_PIN
#define SERVO0_PIN 44 // SERVO1 port
#define SERVO1_PIN 55 // SERVO2 port
//
// LCD / Controller
//
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#undef DOGLCD_A0
#undef DOGLCD_CS
#undef BTN_ENC
#define DOGLCD_A0 31
#define DOGLCD_CS 32
#define BTN_ENC 12
#undef STAT_LED_RED_PIN
#undef STAT_LED_BLUE_PIN
#define STAT_LED_RED_PIN 64
#define STAT_LED_BLUE_PIN 63
#else
#define STAT_LED_RED_PIN 6
#define STAT_LED_BLUE_PIN 11
#endif
//
// Misc
//
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && PIN_EXISTS(STAT_LED_RED) && STAT_LED_RED_PIN == CASE_LIGHT_PIN
#undef STAT_LED_RED_PIN
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3 board
#undef SPINDLE_LASER_ENABLE_PIN
#undef SPINDLE_DIR_PIN
#if ENABLED(SPINDLE_LASER_ENABLE)
#undef SDA // use EXP3 header
#undef SCL
#if SERVO0_PIN == 7
#undef SERVO0_PIN
#def SERVO0_PIN 11
#endif
#define SPINDLE_LASER_PWM_PIN 7 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 20 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 21
#endif

View File

@ -0,0 +1,170 @@
/**
* 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/>.
*
*/
/**
* AZTEEG_X3_PRO (Arduino Mega) pin assignments
*/
#if HOTENDS > 5 || E_STEPPERS > 5
#error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue."
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#define CASE_LIGHT_PIN 44 // must define it here or else RAMPS will define it
#endif
#define BOARD_NAME "Azteeg X3 Pro"
#include "pins_RAMPS.h"
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu."
#endif
//
// Servos
//
// Tested this pin with bed leveling on a Delta with 1 servo.
// Physical wire attachment on EXT1: GND, 5V, D47.
//
#undef SERVO0_PIN
#define SERVO0_PIN 47
//
// Limit Switches
//
// Swap the MIN and MAX endstop pins because the X3 Pro comes with only
// MIN endstop pin headers soldered onto the board.
//
#if ENABLED(DELTA)
#undef X_MIN_PIN
#undef X_MAX_PIN
#undef Y_MIN_PIN
#undef Y_MAX_PIN
#undef Z_MIN_PIN
#undef Z_MAX_PIN
#define X_MIN_PIN 2
#define X_MAX_PIN 3
#define Y_MIN_PIN 15
#define Y_MAX_PIN 14
#define Z_MIN_PIN 19
#define Z_MAX_PIN 18
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 18
#endif
//
// Steppers
//
#define E2_STEP_PIN 23
#define E2_DIR_PIN 25
#define E2_ENABLE_PIN 40
#define E3_STEP_PIN 27
#define E3_DIR_PIN 29
#define E3_ENABLE_PIN 41
#define E4_STEP_PIN 43
#define E4_DIR_PIN 37
#define E4_ENABLE_PIN 42
//
// Temperature Sensors
//
#define TEMP_2_PIN 12 // Analog Input
#define TEMP_3_PIN 11 // Analog Input
#define TEMP_4_PIN 10 // Analog Input
#define TC1 4 // Analog Input (Thermo couple on Azteeg X3Pro)
#define TC2 5 // Analog Input (Thermo couple on Azteeg X3Pro)
//
// Heaters / Fans
//
#define HEATER_2_PIN 16
#define HEATER_3_PIN 17
#define HEATER_4_PIN 4
#define HEATER_5_PIN 5
#define HEATER_6_PIN 6
#define HEATER_7_PIN 11
#undef FAN_PIN
#define FAN_PIN 6 // Part Cooling System
#ifndef CONTROLLER_FAN_PIN
#define CONTROLLER_FAN_PIN 4 // Pin used for the fan to cool motherboard (-1 to disable)
#endif
// Fans/Water Pump to cool the hotend cool side.
#define ORIG_E0_AUTO_FAN_PIN 5
#define ORIG_E1_AUTO_FAN_PIN 5
#define ORIG_E2_AUTO_FAN_PIN 5
#define ORIG_E3_AUTO_FAN_PIN 5
//
// LCD / Controller
//
#undef BEEPER_PIN
#define BEEPER_PIN 33
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 49 // For easy adapter board
#undef BEEPER_PIN
#define BEEPER_PIN 12 // 33 isn't physically available to the LCD display
#else
#define STAT_LED_RED_PIN 32
#define STAT_LED_BLUE_PIN 35
#endif
//
// Misc. Functions
//
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && defined(DOGLCD_A0) && DOGLCD_A0 == CASE_LIGHT_PIN
#undef DOGLCD_A0 // Steal pin 44 for the case light; if you have a Viki2 and have connected it
#define DOGLCD_A0 57 // following the Panucatt wiring diagram, you may need to tweak these pin assignments
// as the wiring diagram uses pin 44 for DOGLCD_A0
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3pro board
#undef SPINDLE_LASER_ENABLE_PIN
#undef SPINDLE_DIR_PIN
#if ENABLED(SPINDLE_LASER_ENABLE) // use EXP2 header
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#undef BTN_EN2
#define BTN_EN2 31 // need 7 for the spindle speed PWM
#endif
#define SPINDLE_LASER_PWM_PIN 7 // must have a hardware PWM
#define SPINDLE_LASER_ENABLE_PIN 20 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 21
#endif

View File

@ -0,0 +1,48 @@
/**
* 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/>.
*
*/
/**
* BAM&DICE Due (Arduino Mega) pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "2PrintBeta Due supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "2PrintBeta Due"
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 66 // Pin should have a pullup/pulldown!
#define SPINDLE_DIR_PIN 67
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#include "pins_RAMPS.h"
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#undef TEMP_1_PIN
#define TEMP_0_PIN 9 // Analog Input
#define TEMP_1_PIN 11 // Analog Input

View File

@ -0,0 +1,118 @@
/**
* 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/>.
*
*/
/**
* bq ZUM Mega 3D board definition
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "ZUM Mega 3D"
//
// Heaters / Fans
//
#define RAMPS_D8_PIN 10
#define RAMPS_D9_PIN 12
#define RAMPS_D10_PIN 9
#define MOSFET_D_PIN 7
//
// Auto fans
//
#define ORIG_E0_AUTO_FAN_PIN 11
#define ORIG_E1_AUTO_FAN_PIN 6
#define ORIG_E2_AUTO_FAN_PIN 6
#define ORIG_E3_AUTO_FAN_PIN 6
//
// Misc. Functions
//
#define CASE_LIGHT_PIN 44 // MUST BE HARDWARE PWM
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 42
#include "pins_RAMPS_13.h"
//
// Limit Switches
//
#undef X_MAX_PIN
#define X_MAX_PIN 79 // 2
//
// Z Probe (when not Z_MIN_PIN)
//
#undef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19 // IND_S_5V
#undef Z_ENABLE_PIN
#define Z_ENABLE_PIN 77 // 62
//
// Steppers
//
#define DIGIPOTSS_PIN 22
#define DIGIPOT_CHANNELS { 4, 5, 3, 0, 1 }
//
// Temperature Sensors
//
#undef TEMP_1_PIN
#define TEMP_1_PIN 14 // Analog Input (15)
#undef TEMP_BED_PIN
#define TEMP_BED_PIN 15 // Analog Input (14)
//
// Misc. Functions
//
#undef PS_ON_PIN // 12
#define PS_ON_PIN 81 // External Power Supply
// This board has headers for Z-min, Z-max and IND_S_5V *but* as the bq team
// decided to ship the printer only with the probe and no additional Z-min
// endstop and the instruction manual advises the user to connect the probe to
// IND_S_5V the option Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN will not work.
#ifdef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#undef Z_MIN_PIN
#undef Z_MAX_PIN
#define Z_MIN_PIN 19 // IND_S_5V
#define Z_MAX_PIN 18 // Z-MIN Label
#endif
//
// This pin is used by the official Hephestos 2 heated bed upgrade kit
//
#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
#undef HEATER_BED_PIN
#define HEATER_BED_PIN 8
#endif

123
Marlin/src/pins/pins_BRAINWAVE.h Executable file
View File

@ -0,0 +1,123 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Brainwave 1.0 pin assignments (AT90USB646)
*
* Requires hardware bundle for Arduino:
* https://github.com/unrepentantgeek/brainwave-arduino
*/
/**
* Rev B 16 JAN 2017
*
* Added pointer to a currently available Arduino IDE extension that will
* allow this board to use the latest Marlin software
*/
/**
* Rev C 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* Marlin_AT90USB - https://github.com/Bob-the-Kuhn/Marlin_AT90USB
* This is the only known IDE extension that is compatible with the pin definitions
* in this file, Adrduino 1.6.12 and the latest mainstream Marlin software.
*
* "Marlin_AT90USB" makes PWM0A available rather than the usual PWM1C. These PWMs share
* the same physical pin. Marlin uses TIMER1 to generate interrupts and sets it up such
* that PWM1A, PWM1B & PWM1C can't be used.
*
* Installation:
*
* 1. In the Arduino IDE, under Files -> Preferences paste the following URL
* https://rawgit.com/Bob-the-Kuhn/Marlin_AT90USB/master/package_MARLIN_AT90USB_index.json
* 2. Under Tools -> Board -> Boards manager, scroll to the bottom, click on MARLIN_AT90USB
* and then click on "Install"
* 3. Select "AT90USB646_TEENSYPP" from the 'Tools -> Boards' menu.
*/
/**
* To burn the bootloader that comes with Marlin_AT90USB:
*
* 1. Connect your programmer to the board.
* 2. In Arduino IDE select "AT90USB646_TEENSYPP" and then select the programmer.
* 3. In Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
#ifndef __AVR_AT90USB646__
#error "Oops! Make sure you have 'AT90USB646_TEENSYPP' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Brainwave"
//
// Limit Switches
//
#define X_STOP_PIN 35 // A7
#define Y_STOP_PIN 34 // A6
#define Z_STOP_PIN 33 // A5
//
// Steppers
//
#define X_STEP_PIN 3 // D3
#define X_DIR_PIN 5 // D5
#define X_ENABLE_PIN 4 // D4
#define X_ATT_PIN 2 // D2
#define Y_STEP_PIN 7 // D7
#define Y_DIR_PIN 9 // E1
#define Y_ENABLE_PIN 8 // E0
#define Y_ATT_PIN 6 // D6
#define Z_STEP_PIN 11 // C1
#define Z_DIR_PIN 13 // C3
#define Z_ENABLE_PIN 12 // C2
#define Z_ATT_PIN 10 // C0
#define E0_STEP_PIN 15 // C5
#define E0_DIR_PIN 17 // C7
#define E0_ENABLE_PIN 16 // C6
#define E0_ATT_PIN 14 // C4
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // F7 Analog Input
#define TEMP_BED_PIN 6 // F6 Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 32 // A4 Extruder
#define HEATER_BED_PIN 18 // E6 Bed
#define FAN_PIN 31 // A3 Fan
//
// Misc. Functions
//
#define LED_PIN 19 // E7

View File

@ -0,0 +1,137 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Brainwave Pro pin assignments (AT90USB1286)
*
* Requires hardware bundle for Arduino:
* https://github.com/unrepentantgeek/brainwave-arduino
*/
/**
* Rev B 16 JAN 2017
*
* Added pointers to currently available Arduino IDE extensions that will
* allow this board to use the latest Marlin software
*
*
* Rev C 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software.
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
*
* Installation instructions are at the above URL. Don't bother loading the
* libraries - they are not used with the Marlin software.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
*
* Installation:
*
* 1. Go to the above URL, click on the "Clone or Download" button and then
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Teensyduino is the most popular option. Printrboard is used if your board doesn't have
* the Teensyduino bootloader on it.
*/
/**
* To burn the bootloader that comes with Printrboard:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
#ifndef __AVR_AT90USB1286__
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Brainwave Pro"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 45 // F7
#define Y_STOP_PIN 12 // C2
#define Z_STOP_PIN 36 // E4
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 11 // C1
#endif
//
// Steppers
//
#define X_STEP_PIN 9 // E1
#define X_DIR_PIN 8 // E0
#define X_ENABLE_PIN 23 // B3
#define Y_STEP_PIN 7 // D7
#define Y_DIR_PIN 6 // D6
#define Y_ENABLE_PIN 20 // B0
#define Z_STEP_PIN 5 // D5
#define Z_DIR_PIN 4 // D4
#define Z_ENABLE_PIN 37 // E5
#define E0_STEP_PIN 47 // E3
#define E0_DIR_PIN 46 // E2
#define E0_ENABLE_PIN 25 // B5
//
// Temperature Sensors
//
#define TEMP_0_PIN 2 // F2 Analog Input
#define TEMP_1_PIN 1 // F1 Analog Input
#define TEMP_BED_PIN 0 // F0 Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 27 // B7
#define HEATER_BED_PIN 26 // B6 Bed
#define FAN_PIN 16 // C6 Fan, PWM3A
//
// Misc. Functions
//
#define SDSS 20 // B0
#define SD_DETECT_PIN 24 // B4
#define LED_PIN 13 // C3

View File

@ -0,0 +1,88 @@
/**
* 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/>.
*
*/
/**
* Cheaptronic v1.0 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Cheaptronic v1.0"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 2
#define Z_STOP_PIN 5
//
// Steppers
//
#define X_STEP_PIN 14
#define X_DIR_PIN 15
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 35
#define Y_DIR_PIN 36
#define Y_ENABLE_PIN 31
#define Z_STEP_PIN 40
#define Z_DIR_PIN 41
#define Z_ENABLE_PIN 37
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 25
#define E1_STEP_PIN 33
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
//
// Temperature sensors
//
#define TEMP_0_PIN 15 // Analog Input
#define TEMP_1_PIN 14 // Analog Input
#define TEMP_BED_PIN 13 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 19 // EXTRUDER 1
#define HEATER_1_PIN 23 // EXTRUDER 2
#define HEATER_BED_PIN 22
//
// LCD / Controller
//
// Cheaptronic v1.0 doesn't support LCD
#define LCD_PINS_RS -1
#define LCD_PINS_ENABLE -1
// Cheaptronic v1.0 doesn't support keypad
#define BTN_EN1 -1
#define BTN_EN2 -1
#define BTN_ENC -1

View File

@ -0,0 +1,122 @@
/**
* 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/>.
*
*/
/**
* Cheaptronic v2.0 pin assignments
* Built and sold by Michal Dyntar - RRO
* www.reprapobchod.cz
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Cheaptronic v2.0"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_MIN_PIN 30
#define X_MAX_PIN 31
#define Y_MIN_PIN 32
#define Y_MAX_PIN 33
#define Z_MIN_PIN 34
#define Z_MAX_PIN 35
//
// Steppers
//
#define X_STEP_PIN 17
#define X_DIR_PIN 16
#define X_ENABLE_PIN 48
#define Y_STEP_PIN 54
#define Y_DIR_PIN 47
#define Y_ENABLE_PIN 55
#define Z_STEP_PIN 57
#define Z_DIR_PIN 56
#define Z_ENABLE_PIN 62
#define E0_STEP_PIN 23
#define E0_DIR_PIN 22
#define E0_ENABLE_PIN 24
#define E1_STEP_PIN 26
#define E1_DIR_PIN 25
#define E1_ENABLE_PIN 27
#define E2_STEP_PIN 29
#define E2_DIR_PIN 28
#define E2_ENABLE_PIN 39
//
// Temperature sensors
//
#define TEMP_0_PIN 15
#define TEMP_1_PIN 13
#define TEMP_2_PIN 14
#define TEMP_3_PIN 11
#define TEMP_BED_PIN 12
//
// Heaters / Fans
//
#define HEATER_0_PIN 6
#define HEATER_1_PIN 7
#define HEATER_2_PIN 8
#define HEATER_BED_PIN 9
//
// LCD
//
#define LCD_PINS_RS 19
#define LCD_PINS_ENABLE 42
#define LCD_PINS_D4 18
#define LCD_PINS_D5 38
#define LCD_PINS_D6 41
#define LCD_PINS_D7 40
//
// SD CARD, ROTARY ENCODER, BEEPER
//
#define SDPOWER -1
#define SDSS 53
#define SD_DETECT_PIN 49
#define BEEPER_PIN 44
#define BTN_EN1 11
#define BTN_EN2 12
#define BTN_ENC 43
//
// Other board specific pins
//
#define LED_PIN 13
#define SPINDLE_ENABLE_PIN 4
#define FAN_PIN 3
#define PS_ON_PIN 45
#define KILL_PIN 46
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 37 // should be Analog Input (0-15)
#endif

View File

@ -0,0 +1,122 @@
/**
* CartesioV11 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif
#define BOARD_NAME "CN Controls V11"
//#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 43
#define Y_STOP_PIN 45
#define Z_STOP_PIN 42
//
// Steppers
//
#define X_STEP_PIN 34
#define X_DIR_PIN 36
#define X_ENABLE_PIN 35
#define Y_STEP_PIN 37
#define Y_DIR_PIN 39
#define Y_ENABLE_PIN 38
#define Z_STEP_PIN 40
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 41
#define E0_STEP_PIN 29
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 3
#define E1_STEP_PIN 61
#define E1_DIR_PIN 62
#define E1_ENABLE_PIN 60
#define E2_STEP_PIN 15
#define E2_DIR_PIN 14
#define E2_ENABLE_PIN 16
#define E3_STEP_PIN 44
#define E3_DIR_PIN 49
#define E3_ENABLE_PIN 47
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 3 // Analog Input. 3 for tool2 -> 2 for chambertemp
#define TEMP_2_PIN 2 // Analog Input. 9 for tool3 -> 2 for chambertemp
#define TEMP_3_PIN 11 // Analog Input. 11 for tool4 -> 2 for chambertemp
#define TEMP_BED_PIN 1 // Analog Input
//#define TEMP_CHAMBER_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 5
#define HEATER_1_PIN 58
#define HEATER_2_PIN 64
#define HEATER_3_PIN 46
#define HEATER_BED_PIN 2
//#define FAN_PIN 7 // common PWM pin for all tools
#define ORIG_E0_AUTO_FAN_PIN 7
#define ORIG_E1_AUTO_FAN_PIN 7
#define ORIG_E2_AUTO_FAN_PIN 7
#define ORIG_E3_AUTO_FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 13
// Tools
//#define TOOL_0_PIN 4
//#define TOOL_1_PIN 59
//#define TOOL_2_PIN 8
//#define TOOL_3_PIN 30
//#define TOOL_PWM_PIN 7 // common PWM pin for all tools
// Common I/O
//#define FIL_RUNOUT_PIN -1
//#define PWM_1_PIN 11
//#define PWM_2_PIN 10
//#define SPARE_IO 12
//
// LCD / Controller
//
#define BEEPER_PIN 6
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 26
#define DOGLCD_CS 24
#define DOGLCD_MOSI -1
#define DOGLCD_SCK -1
#define BTN_EN1 23
#define BTN_EN2 25
#define BTN_ENC 27
// Hardware buttons for manual movement of XYZ
#define SHIFT_OUT 19
#define SHIFT_LD 18
#define SHIFT_CLK 17
//#define UI1 31
//#define UI2 22
#define STAT_LED_BLUE_PIN -1
#define STAT_LED_RED_PIN 31

View File

@ -0,0 +1,127 @@
/**
* CartesioV12 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif
#define BOARD_NAME "CN Controls V12"
//#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 19
#define Y_STOP_PIN 22
#define Z_STOP_PIN 23
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 27
#define X_ENABLE_PIN 26
#define Y_STEP_PIN 28
#define Y_DIR_PIN 30
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 31
#define Z_DIR_PIN 33
#define Z_ENABLE_PIN 32
#define E0_STEP_PIN 57
#define E0_DIR_PIN 55
#define E0_ENABLE_PIN 58
#define E1_STEP_PIN 61
#define E1_DIR_PIN 62
#define E1_ENABLE_PIN 60
#define E2_STEP_PIN 46
#define E2_DIR_PIN 66
#define E2_ENABLE_PIN 44
#define E3_STEP_PIN 45
#define E3_DIR_PIN 69
#define E3_ENABLE_PIN 47
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 9 // Analog Input. 9 for tool2 -> 13 for chambertemp
#define TEMP_2_PIN 13 // Analog Input. 10 for tool3 -> 13 for chambertemp
#define TEMP_3_PIN 11 // Analog Input. 11 for tool4 -> 13 for chambertemp
#define TEMP_BED_PIN 14 // Analog Input
//#define TEMP_CHAMBER_PIN 13 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 11
#define HEATER_1_PIN 9
#define HEATER_2_PIN 6
#define HEATER_3_PIN 3
#define HEATER_BED_PIN 24
#define FAN_PIN 5 // 5 is PWMtool3 -> 7 is common PWM pin for all tools
#define ORIG_E0_AUTO_FAN_PIN 7
#define ORIG_E1_AUTO_FAN_PIN 7
#define ORIG_E2_AUTO_FAN_PIN 7
#define ORIG_E3_AUTO_FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 15
// Tools
//#define TOOL_0_PIN 56
//#define TOOL_0_PWM_PIN 10 // red warning led at dual extruder
//#define TOOL_1_PIN 59
//#define TOOL_1_PWM_PIN 8 // lights at dual extruder
//#define TOOL_2_PIN 4
//#define TOOL_2_PWM_PIN 5
//#define TOOL_3_PIN 14
//#define TOOL_3_PWM_PIN 2
// Common I/O
#define FIL_RUNOUT_PIN 18
//#define PWM_1_PIN 12
//#define PWM_2_PIN 13
//#define SPARE_IO 17
//
// LCD / Controller
//
#define BEEPER_PIN 16
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 39
#define DOGLCD_CS 35
#define DOGLCD_MOSI 48
#define DOGLCD_SCK 49
#define LCD_SCREEN_ROT_180
// The encoder and click button
#define BTN_EN1 36
#define BTN_EN2 34
#define BTN_ENC 38
// Hardware buttons for manual movement of XYZ
#define SHIFT_OUT 42
#define SHIFT_LD 41
#define SHIFT_CLK 40
//#define UI1 43
//#define UI2 37
#define STAT_LED_BLUE_PIN -1
#define STAT_LED_RED_PIN 10 // TOOL_0_PWM_PIN

View File

@ -0,0 +1,164 @@
/**
* 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/>.
*
*/
/**
* DUE3DOM pin assignments
*/
#ifndef __SAM3X8E__
#error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu."
#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 -1
#else
#define MAX6675_SS -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
#define FAN_PIN 11 // FAN1 header on board - PRINT FAN
#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 ENABLED(ULTRA_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
// RADDS LCD panel
#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 ENABLED(SSD1306_OLED_I2C_CONTROLLER)
#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 // ULTRA_LCD

View File

@ -0,0 +1,156 @@
/**
* 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/>.
*
*/
/**
* DUE3DOM MINI pin assignments
*/
#ifndef __SAM3X8E__
#error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu."
#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 53
#else
#define MAX6675_SS 53
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 13 // HOTEND0 MOSFET
#define HEATER_BED_PIN 7 // BED MOSFET
#define FAN_PIN 11 // FAN1 header on board - PRINT FAN
#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 ENABLED(ULTRA_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
// RADDS LCD panel
#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 ENABLED(SSD1306_OLED_I2C_CONTROLLER)
#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 // ULTRA_LCD

View File

@ -0,0 +1,149 @@
/**
* 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/>.
*
*/
/**
* Elefu RA Board Pin Assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Elefu Ra v3"
//
// Limit Switches
//
#define X_MIN_PIN 35
#define X_MAX_PIN 34
#define Y_MIN_PIN 33
#define Y_MAX_PIN 32
#define Z_MIN_PIN 31
#define Z_MAX_PIN 30
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 30
#endif
//
// Steppers
//
#define X_STEP_PIN 49
#define X_DIR_PIN 13
#define X_ENABLE_PIN 48
#define Y_STEP_PIN 11
#define Y_DIR_PIN 9
#define Y_ENABLE_PIN 12
#define Z_STEP_PIN 7
#define Z_DIR_PIN 6
#define Z_ENABLE_PIN 8
#define E0_STEP_PIN 40
#define E0_DIR_PIN 41
#define E0_ENABLE_PIN 37
#define E1_STEP_PIN 18
#define E1_DIR_PIN 19
#define E1_ENABLE_PIN 38
#define E2_STEP_PIN 43
#define E2_DIR_PIN 47
#define E2_ENABLE_PIN 42
//
// Temperature Sensors
//
#define TEMP_0_PIN 3 // Analog Input
#define TEMP_1_PIN 2 // Analog Input
#define TEMP_2_PIN 1 // Analog Input
#define TEMP_BED_PIN 0 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 45 // 12V PWM1
#define HEATER_1_PIN 46 // 12V PWM2
#define HEATER_2_PIN 17 // 12V PWM3
#define HEATER_BED_PIN 44 // DOUBLE 12V PWM
#define FAN_PIN 16 // 5V PWM
//
// Misc. Functions
//
#define PS_ON_PIN 10 // Set to -1 if using a manual switch on the PWRSW Connector
#define SLEEP_WAKE_PIN 26 // This feature still needs work
#define PHOTOGRAPH_PIN 29
//
// LCD / Controller
//
#define BEEPER_PIN 36
#if ENABLED(RA_CONTROL_PANEL)
#define SDSS 53
#define SD_DETECT_PIN 28
#define BTN_EN1 14
#define BTN_EN2 39
#define BTN_ENC 15
#endif // RA_CONTROL_PANEL
#if ENABLED(RA_DISCO)
// variables for which pins the TLC5947 is using
#define TLC_CLOCK_PIN 25
#define TLC_BLANK_PIN 23
#define TLC_XLAT_PIN 22
#define TLC_DATA_PIN 24
// We also need to define pin to port number mapping for the 2560 to match the pins listed above. If you change the TLC pins, update this as well per the 2560 datasheet!
// This currently only works with the RA Board.
#define TLC_CLOCK_BIT 3 // bit 3 on port A
#define TLC_CLOCK_PORT &PORTA // bit 3 on port A
#define TLC_BLANK_BIT 1 // bit 1 on port A
#define TLC_BLANK_PORT &PORTA // bit 1 on port A
#define TLC_DATA_BIT 2 // bit 2 on port A
#define TLC_DATA_PORT &PORTA // bit 2 on port A
#define TLC_XLAT_BIT 0 // bit 0 on port A
#define TLC_XLAT_PORT &PORTA // bit 0 on port A
// change this to match your situation. Lots of TLCs takes up the arduino SRAM very quickly, so be careful
// Leave it at at least 1 if you have enabled RA_LIGHTING
// The number of TLC5947 boards chained together for use with the animation, additional ones will repeat the animation on them, but are not individually addressable and mimic those before them. You can leave the default at 2 even if you only have 1 TLC5947 module.
#define NUM_TLCS 2
// These TRANS_ARRAY values let you change the order the LEDs on the lighting modules will animate for chase functions.
// Modify them according to your specific situation.
// NOTE: the array should be 8 long for every TLC you have. These defaults assume (2) TLCs.
#define TRANS_ARRAY {0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8} //forwards
//#define TRANS_ARRAY {7, 6, 5, 4, 3, 2, 1, 0, 8, 9, 10, 11, 12, 13, 14, 15} //backwards
#endif // RA_DISCO

View File

@ -0,0 +1,63 @@
/**
* 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/>.
*
*/
/**
* FELIXprinters v2.0/3.0 (RAMPS v1.4) pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Felix 2.0+ supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Felix 2.0+"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
#include "pins_RAMPS.h"
//
// Misc. Functions
//
#undef SDPOWER
#define SDPOWER 1
#define PS_ON_PIN 12
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)
#define SD_DETECT_PIN 6
#endif // NEWPANEL && ULTRA_LCD
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not valid with this board
#undef SPINDLE_LASER_ENABLE_PIN
#undef SPINDLE_DIR_PIN

View File

@ -0,0 +1,101 @@
/**
* 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/>.
*
*/
/**
* Gen3 Monolithic Electronics pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* added pointer to a current Arduino IDE extension
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#ifndef __AVR_ATmega644P__
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Gen3 Monolithic"
#define DEBUG_PIN 0
//
// Limit Switches
//
#define X_STOP_PIN 20
#define Y_STOP_PIN 25
#define Z_STOP_PIN 30
//
// Steppers
//
#define X_STEP_PIN 15
#define X_DIR_PIN 18
#define X_ENABLE_PIN 24 // actually uses Y_enable_pin
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24 // shared with X_enable_pin
#define Z_STEP_PIN 27
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 29
#define E0_STEP_PIN 12
#define E0_DIR_PIN 17
#define E0_ENABLE_PIN 3
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
//
// Heaters
//
#define HEATER_0_PIN 16
//
// Misc. Functions
//
#define PS_ON_PIN 14 // Alex, does this work on the card?
// Alex extras from Gen3+

View File

@ -0,0 +1,101 @@
/**
* 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/>.
*
*/
/**
* Gen3+ pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* added pointer to a current Arduino IDE extension
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the SANGUINO board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Gen3+"
//
// Limit Switches
//
#define X_STOP_PIN 20
#define Y_STOP_PIN 25
#define Z_STOP_PIN 30
//
// Steppers
//
#define X_STEP_PIN 15
#define X_DIR_PIN 18
#define X_ENABLE_PIN 19
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Z_STEP_PIN 27
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 29
#define E0_STEP_PIN 17
#define E0_DIR_PIN 21
#define E0_ENABLE_PIN 13
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input (pin 33 extruder)
#define TEMP_BED_PIN 5 // Analog Input (pin 34 bed)
//
// Heaters
//
#define HEATER_0_PIN 12
#define HEATER_BED_PIN 16
//
// Misc. Functions
//
#define SDSS 4
#define PS_ON_PIN 14

119
Marlin/src/pins/pins_GEN6.h Normal file
View File

@ -0,0 +1,119 @@
/**
* 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/>.
*
*/
/**
* Gen6 pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* 1) added pointer to a current Arduino IDE extension
* 2) added support for M3, M4 & M5 spindle control commands
* 3) added case light pin definition
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "Gen6"
#endif
//
// Limit Switches
//
#define X_STOP_PIN 20
#define Y_STOP_PIN 25
#define Z_STOP_PIN 30
//
// Steppers
//
#define X_STEP_PIN 15
#define X_DIR_PIN 18
#define X_ENABLE_PIN 19
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Z_STEP_PIN 27
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 29
#define E0_STEP_PIN 4 // Edited @ EJE Electronics 20100715
#define E0_DIR_PIN 2 // Edited @ EJE Electronics 20100715
#define E0_ENABLE_PIN 3 // Added @ EJE Electronics 20100715
//
// Temperature Sensor
//
#define TEMP_0_PIN 5 // Analog Input
//
// Heaters
//
#define HEATER_0_PIN 14 // changed @ rkoeppl 20110410
#if !MB(GEN6)
#define HEATER_BED_PIN 1 // changed @ rkoeppl 20110410
#define TEMP_BED_PIN 0 // Analog Input
#endif
//
// Misc. Functions
//
#define SDSS 17
#define DEBUG_PIN 0
#define CASE_LIGHT_PIN 16 // MUST BE HARDWARE PWM
// RS485 pins
#define TX_ENABLE_PIN 12
#define RX_ENABLE_PIN 13
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 5 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 16 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 6

View File

@ -0,0 +1,55 @@
/**
* 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/>.
*
*/
/**
* Gen6 Deluxe pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* added pointer to a current Arduino IDE extension
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the SANGUINO board and then select the CPU.
*
*/
#define BOARD_NAME "Gen6 Deluxe"
#include "pins_GEN6.h"

View File

@ -0,0 +1,149 @@
/**
* 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/>.
*
*/
/**
* Gen7 v1.1, v1.2, v1.3 pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* 1) added pointer to a current Arduino IDE extension
* 2) added support for M3, M4 & M5 spindle control commands
* 3) added case light pin definition
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "Gen7 v1.1 / 1.2"
#endif
#ifndef GEN7_VERSION
#define GEN7_VERSION 12 // v1.x
#endif
//
// Limit Switches
//
#define X_MIN_PIN 7
#define Y_MIN_PIN 5
#define Z_MIN_PIN 1
#define Z_MAX_PIN 0
#define Y_MAX_PIN 2
#define X_MAX_PIN 6
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 0
#endif
//
// Steppers
//
#define X_STEP_PIN 19
#define X_DIR_PIN 18
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Z_STEP_PIN 26
#define Z_DIR_PIN 25
#define Z_ENABLE_PIN 24
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 24
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 4
#define HEATER_BED_PIN 3
#if GEN7_VERSION < 13 // Gen7 v1.3 removed the fan pin
#define FAN_PIN 31
#endif
//
// Misc. Functions
//
#define PS_ON_PIN 15
#if GEN7_VERSION < 13
#define CASE_LIGHT_PIN 16 // MUST BE HARDWARE PWM
#else // Gen7 v1.3 removed the I2C connector & signals so need to get PWM off the PC power supply header
#define CASE_LIGHT_PIN 15 // MUST BE HARDWARE PWM
#endif
// All these generations of Gen7 supply thermistor power
// via PS_ON, so ignore bad thermistor readings
#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
#define DEBUG_PIN 0
// RS485 pins
#define TX_ENABLE_PIN 12
#define RX_ENABLE_PIN 13
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 10 // Pin should have a pullup/pulldown!
#define SPINDLE_DIR_PIN 11
#if GEN7_VERSION < 13
#define SPINDLE_LASER_PWM_PIN 16 // MUST BE HARDWARE PWM
#else // Gen7 v1.3 removed the I2C connector & signals so need to get PWM off the PC power supply header
#define SPINDLE_LASER_PWM_PIN 15 // MUST BE HARDWARE PWM
#endif

View File

@ -0,0 +1,55 @@
/**
* 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/>.
*
*/
/**
* Gen7 v1.3 pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* added pointer to a current Arduino IDE extension
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#define BOARD_NAME "Gen7 v1.3"
#define GEN7_VERSION 13 // v1.3
#include "pins_GEN7_12.h"

View File

@ -0,0 +1,118 @@
/**
* 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/>.
*
*/
/**
* Gen7 v1.4 pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* 1) added pointer to a current Arduino IDE extension
* 2) added support for M3, M4 & M5 spindle control commands
* 3) added case light pin definition
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Gen7 v1.4"
#define GEN7_VERSION 14 // v1.4
//
// Limit switches
//
#define X_STOP_PIN 0
#define Y_STOP_PIN 1
#define Z_STOP_PIN 2
//
// Steppers
//
#define X_STEP_PIN 29
#define X_DIR_PIN 28
#define X_ENABLE_PIN 25
#define Y_STEP_PIN 27
#define Y_DIR_PIN 26
#define Y_ENABLE_PIN 25
#define Z_STEP_PIN 23
#define Z_DIR_PIN 22
#define Z_ENABLE_PIN 25
#define E0_STEP_PIN 19
#define E0_DIR_PIN 18
#define E0_ENABLE_PIN 25
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // Analog Input
#define TEMP_BED_PIN 0 // Analog Input
//
// Heaters
//
#define HEATER_0_PIN 4
#define HEATER_BED_PIN 3
//
// Misc. Functions
//
#define PS_ON_PIN 15
#define CASE_LIGHT_PIN 15 // MUST BE HARDWARE PWM
// A pin for debugging
#define DEBUG_PIN 0
// RS485 pins
#define TX_ENABLE_PIN 12
#define RX_ENABLE_PIN 13
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 20 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 16 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 21

View File

@ -0,0 +1,138 @@
/**
* 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/>.
*
*/
/**
* Gen7 Alfons3 board pin assignments
*
* These Pins are assigned for the modified GEN7 Board from Alfons3.
* Please review the pins and adjust them for your needs.
*/
/**
* Rev B 26 DEC 2016
*
* 1) added pointer to a current Arduino IDE extension
* 2) added support for M3, M4 & M5 spindle control commands
* 3) added case light pin definition
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Gen7 Custom"
//
// Limit Switches
//
#define X_STOP_PIN 0
#define Y_STOP_PIN 1
#define Z_STOP_PIN 2
//
// Steppers
//
#define X_STEP_PIN 21 // different from standard GEN7
#define X_DIR_PIN 20 // different from standard GEN7
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Z_STEP_PIN 26
#define Z_DIR_PIN 25
#define Z_ENABLE_PIN 24
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 24
//
// Temperature Sensors
//
#define TEMP_0_PIN 2 // Analog Input
#define TEMP_BED_PIN 1 // Analog Input (pin 34 bed)
//
// Heaters
//
#define HEATER_0_PIN 4
#define HEATER_BED_PIN 3 // (bed)
//
// Misc. Functions
//
#define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
#define PS_ON_PIN 19
#define CASE_LIGHT_PIN 15 // MUST BE HARDWARE PWM
// A pin for debugging
#define DEBUG_PIN -1
//
// LCD / Controller
//
#define BEEPER_PIN -1
// 4bit LCD Support
#define LCD_PINS_RS 18
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 16
#define LCD_PINS_D5 15
#define LCD_PINS_D6 13
#define LCD_PINS_D7 14
// Buttons are directly attached
#define BTN_EN1 11
#define BTN_EN2 10
#define BTN_ENC 12
// RS485 pins
//#define TX_ENABLE_PIN 12
//#define RX_ENABLE_PIN 13
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 5 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 16 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 6

View File

@ -0,0 +1,133 @@
/**
* 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/>.
*
*/
/**
* Geeetech GT2560 Revision A board pin assignments, based on the work of
* George Robles (https://georges3dprinters.com) and
* Richard Smith <galorin@gmail.com>
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "GT2560 Rev.A"
#define DEFAULT_MACHINE_NAME "Prusa i3 Pro B"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define Z_MIN_PIN 30
#define Z_MAX_PIN 32
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27
#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 37
#define Z_DIR_PIN 39
#define Z_ENABLE_PIN 35
#define E0_STEP_PIN 43
#define E0_DIR_PIN 45
#define E0_ENABLE_PIN 41
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
//
// Temperature Sensors
//
#define TEMP_0_PIN 8
#define TEMP_1_PIN 9
#define TEMP_BED_PIN 10
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_BED_PIN 4
#define FAN_PIN 7
//
// Misc. Functions
//
#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define SUICIDE_PIN 54 // Must be enabled at startup to keep power flowing
#define KILL_PIN -1
#if ENABLED(ULTRA_LCD)
#define BEEPER_PIN 18
#if ENABLED(NEWPANEL)
#define LCD_PINS_RS 20
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 16
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
// Buttons are directly attached
#define BTN_EN1 42
#define BTN_EN2 40
#define BTN_ENC 19
#define SD_DETECT_PIN 38
#else // !NEWPANEL
#define SHIFT_CLK 38
#define SHIFT_LD 42
#define SHIFT_OUT 40
#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 6
#define LCD_PINS_D5 21
#define LCD_PINS_D6 20
#define LCD_PINS_D7 19
#define SD_DETECT_PIN -1
#endif // !NEWPANEL
#endif // ULTRA_LCD

View File

@ -0,0 +1,32 @@
/**
* 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/>.
*
*/
/**
* Geeetech GT2560 Revision A+ board pin assignments
*/
#include "pins_GT2560_REV_A.h"
#undef BOARD_NAME
#define BOARD_NAME "GT2560 Rev.A+"
#define SERVO0_PIN 11

View File

@ -0,0 +1,32 @@
/**
* 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/>.
*
*/
/**
* K8200 Arduino Mega with RAMPS v1.3 pin assignments
* Identical to 3DRAG
*/
#define BOARD_NAME "Velleman K8200"
#define DEFAULT_MACHINE_NAME "K8200"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/CONSULitAS/Marlin-K8200"
#include "pins_3DRAG.h"

View File

@ -0,0 +1,73 @@
/**
* 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/>.
*
*/
/**
* Velleman K8400 (Vertex)
* 3DRAG clone
*
* K8400 has some minor differences over a normal 3Drag:
* - No X/Y max endstops
* - Second extruder step pin has moved
* - No power supply control
* - Second heater has moved pin
*/
#define BOARD_NAME "K8400"
#define DEFAULT_MACHINE_NAME "Vertex"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/birkett/Vertex-K8400-Firmware"
#include "pins_3DRAG.h"
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 14
#undef X_MIN_PIN
#undef X_MAX_PIN
#undef Y_MIN_PIN
#undef Y_MAX_PIN
//
// Steppers
//
#undef E1_STEP_PIN
#define E1_STEP_PIN 32
//
// Heaters / Fans
//
#undef HEATER_1_PIN
#define HEATER_1_PIN 11
//
// Misc. Functions
//
#undef PS_ON_PIN
#undef KILL_PIN
#undef SD_DETECT_PIN
#if Z_STEP_PIN == 26
#undef Z_STEP_PIN
#define Z_STEP_PIN 32
#endif

View File

@ -0,0 +1,91 @@
/**
* 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/>.
*
*/
/**
* Leapfrog Driver board pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Leapfrog"
//
// Limit Switches
//
#define X_MIN_PIN 47
#define X_MAX_PIN 2
#define Y_MIN_PIN 48
#define Y_MAX_PIN 15
#define Z_MIN_PIN 49
#define Z_MAX_PIN -1
//
// Steppers
//
#define X_STEP_PIN 28
#define X_DIR_PIN 63
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 14 // A6
#define Y_DIR_PIN 15 // A0
#define Y_ENABLE_PIN 39
#define Z_STEP_PIN 31 // A2
#define Z_DIR_PIN 32 // A6
#define Z_ENABLE_PIN 30 // A1
#define E0_STEP_PIN 34 // 34
#define E0_DIR_PIN 35 // 35
#define E0_ENABLE_PIN 33 // 33
#define E1_STEP_PIN 37 // 37
#define E1_DIR_PIN 40 // 40
#define E1_ENABLE_PIN 36 // 36
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input (D27)
#define TEMP_1_PIN 15 // Analog Input (1)
#define TEMP_BED_PIN 14 // Analog Input (1,2 or I2C)
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 8 // 12
#define HEATER_2_PIN 11 // 13
#define HEATER_BED_PIN 10 // 14/15
#define FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 11
#define LED_PIN 13
#define SOL1_PIN 16
#define SOL2_PIN 17
/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */

View File

@ -0,0 +1,162 @@
/**
* 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/>.
*
*/
/**
* Mega controller pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Mega Controller supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Mega Controller"
//
// Servos
//
#define SERVO0_PIN 30
#define SERVO1_PIN 31
#define SERVO2_PIN 32
#define SERVO3_PIN 33
//
// Limit Switches
//
#define X_MIN_PIN 43
#define X_MAX_PIN 42
#define Y_MIN_PIN 38
#define Y_MAX_PIN 41
#define Z_MIN_PIN 40
#define Z_MAX_PIN 37
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 37
#endif
//
// Steppers
//
#define X_STEP_PIN 62 // A8
#define X_DIR_PIN 63 // A9
#define X_ENABLE_PIN 61 // A7
#define Y_STEP_PIN 65 // A11
#define Y_DIR_PIN 66 // A12
#define Y_ENABLE_PIN 64 // A10
#define Z_STEP_PIN 68 // A14
#define Z_DIR_PIN 69 // A15
#define Z_ENABLE_PIN 67 // A13
#define E0_STEP_PIN 23
#define E0_DIR_PIN 24
#define E0_ENABLE_PIN 22
#define E1_STEP_PIN 26
#define E1_DIR_PIN 27
#define E1_ENABLE_PIN 25
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 4 // Analog Input
#else
#define TEMP_0_PIN 0 // Analog Input
#endif
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 5 // Analog Input
#else
#define TEMP_1_PIN 2 // Analog Input
#endif
#define TEMP_2_PIN 3 // Analog Input
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 6 // Analog Input
#else
#define TEMP_BED_PIN 1 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 29
#define HEATER_1_PIN 34
#define HEATER_BED_PIN 28
#define FAN_PIN 39
#define FAN1_PIN 35
#define FAN2_PIN 36
#ifndef CONTROLLER_FAN_PIN
#define CONTROLLER_FAN_PIN FAN2_PIN
#endif
#define FAN_SOFT_PWM
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define CASE_LIGHT_PIN 2
//
// LCD / Controller
//
#if ENABLED(MINIPANEL)
#define BEEPER_PIN 46
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 47
#define DOGLCD_CS 45
#define LCD_BACKLIGHT_PIN 44 // backlight LED on PA3
#define KILL_PIN 12
// GLCD features
//#define LCD_CONTRAST 190
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#define BTN_EN1 48
#define BTN_EN2 11
#define BTN_ENC 10
#define SD_DETECT_PIN 49
#endif // MINIPANEL
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 7 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 8

View File

@ -0,0 +1,130 @@
/**
* 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/>.
*
*/
/**
* MegaTronics pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Megatronics"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_MIN_PIN 41
#define X_MAX_PIN 37
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 28
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 60 // A6
#define Y_DIR_PIN 61 // A7
#define Y_ENABLE_PIN 22
#define Z_STEP_PIN 54 // A0
#define Z_DIR_PIN 55 // A1
#define Z_ENABLE_PIN 56 // A2
#define E0_STEP_PIN 31
#define E0_DIR_PIN 32
#define E0_ENABLE_PIN 38
#define E1_STEP_PIN 34
#define E1_DIR_PIN 36
#define E1_ENABLE_PIN 30
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 8 // Analog Input
#else
#define TEMP_0_PIN 13 // Analog Input
#endif
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 14 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 8
#define HEATER_BED_PIN 10
#define FAN_PIN 7 // IO pin. Buffer needed
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define CASE_LIGHT_PIN 2
//
// LCD / Controller
//
#define BEEPER_PIN 33
#if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
// Buttons directly attached using AUX-2
#define BTN_EN1 59
#define BTN_EN2 64
#define BTN_ENC 43
#define SD_DETECT_PIN -1 // RAMPS doesn't use this
#endif // ULTRA_LCD && NEWPANEL
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 3 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 4 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 11

View File

@ -0,0 +1,145 @@
/**
* 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/>.
*
*/
/**
* MegaTronics v2.0 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Megatronics v2.0"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_MIN_PIN 37
#define X_MAX_PIN 40
#define Y_MIN_PIN 41
#define Y_MAX_PIN 38
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 27
#define X_ENABLE_PIN 25
#define Y_STEP_PIN 4 // A6
#define Y_DIR_PIN 54 // A0
#define Y_ENABLE_PIN 5
#define Z_STEP_PIN 56 // A2
#define Z_DIR_PIN 60 // A6
#define Z_ENABLE_PIN 55 // A1
#define E0_STEP_PIN 35
#define E0_DIR_PIN 36
#define E0_ENABLE_PIN 34
#define E1_STEP_PIN 29
#define E1_DIR_PIN 39
#define E1_ENABLE_PIN 28
#define E2_STEP_PIN 23 // ? schematic says 24
#define E2_DIR_PIN 24 // ? schematic says 23
#define E2_ENABLE_PIN 22
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 4 // Analog Input
#else
#define TEMP_0_PIN 13 // Analog Input
#endif
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 8 // Analog Input
#else
#define TEMP_1_PIN 15 // Analog Input
#endif
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 8 // Analog Input
#else
#define TEMP_BED_PIN 14 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 8
#define HEATER_BED_PIN 10
#define FAN_PIN 7
#define FAN1_PIN 6
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define CASE_LIGHT_PIN 2
//
// LCD / Controller
//
#define BEEPER_PIN 64
#define LCD_PINS_RS 14
#define LCD_PINS_ENABLE 15
#define LCD_PINS_D4 30
#define LCD_PINS_D5 31
#define LCD_PINS_D6 32
#define LCD_PINS_D7 33
// Buttons are directly attached using keypad
#define BTN_EN1 61
#define BTN_EN2 59
#define BTN_ENC 43
// Buttons that are attached using shift register of reprapworld keypad v1.1
#define SHIFT_CLK 63
#define SHIFT_LD 42
#define SHIFT_OUT 17
#define SHIFT_EN 17
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 3 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 16 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 11

View File

@ -0,0 +1,196 @@
/**
* 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/>.
*
*/
/**
* MegaTronics v3.0 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define MEGATRONICS_31
#if ENABLED(MEGATRONICS_31)
#define BOARD_NAME "Megatronics v3.1"
#else
#define BOARD_NAME "Megatronics v3.0"
#endif
#define LARGE_FLASH true
//
// Servos
//
#define SERVO0_PIN 46 // AUX3-6
#define SERVO1_PIN 47 // AUX3-5
#define SERVO2_PIN 48 // AUX3-4
#define SERVO3_PIN 49 // AUX3-3
//
// Limit Switches
//
#define X_MIN_PIN 37
#define X_MAX_PIN 40
#define Y_MIN_PIN 41
#define Y_MAX_PIN 38
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 58
#define X_DIR_PIN 57
#define X_ENABLE_PIN 59
#define Y_STEP_PIN 5
#define Y_DIR_PIN 17
#define Y_ENABLE_PIN 4
#define Z_STEP_PIN 16
#define Z_DIR_PIN 11
#define Z_ENABLE_PIN 3
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 29
#define E1_STEP_PIN 25
#define E1_DIR_PIN 24
#define E1_ENABLE_PIN 26
#define E2_STEP_PIN 22
#define E2_DIR_PIN 60
#define E2_ENABLE_PIN 23
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 11 // Analog Input
#else
#define TEMP_0_PIN 15 // Analog Input
#endif
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 10 // Analog Input
#else
#define TEMP_1_PIN 13 // Analog Input
#endif
#if TEMP_SENSOR_2 == -1
#define TEMP_2_PIN 9 // Analog Input
#else
#define TEMP_2_PIN 12 // Analog Input
#endif
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 8 // Analog Input
#else
#define TEMP_BED_PIN 14 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 9
#define HEATER_2_PIN 8
#define HEATER_BED_PIN 10
#define FAN_PIN 6
#define FAN1_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define CASE_LIGHT_PIN 45 // Try the keypad connector
//
// LCD / Controller
//
#define BEEPER_PIN 61
#define BTN_EN1 44
#define BTN_EN2 45
#define BTN_ENC 33
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define LCD_PINS_RS 56 // CS chip select / SS chip slave select
#define LCD_PINS_ENABLE 51 // SID (MOSI)
#define LCD_PINS_D4 52 // SCK (CLK) clock
#define SD_DETECT_PIN 35
#else
#define LCD_PINS_RS 32
#define LCD_PINS_ENABLE 31
#define LCD_PINS_D4 14
#define LCD_PINS_D5 30
#define LCD_PINS_D6 39
#define LCD_PINS_D7 15
#define SHIFT_CLK 43
#define SHIFT_LD 35
#define SHIFT_OUT 34
#define SHIFT_EN 44
#if ENABLED(MEGATRONICS_31)
#define SD_DETECT_PIN 56
#else
#define SD_DETECT_PIN -1
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if DISABLED(REPRAPWORLD_KEYPAD) // try to use the keypad connector first
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 43 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 42
#elif EXTRUDERS <= 2
// Hijack the last extruder so that we can get the PWM signal off the Y breakout
// Move Y to the E2 plug. This makes dual Y steppers harder
#undef Y_ENABLE_PIN // 4
#undef Y_STEP_PIN // 5
#undef Y_DIR_PIN // 17
#undef E2_ENABLE_PIN // 23
#undef E2_STEP_PIN // 22
#undef E2_DIR_PIN // 60
#define Y_ENABLE_PIN 23
#define Y_STEP_PIN 22
#define Y_DIR_PIN 60
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 17 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 5
#endif

View File

@ -0,0 +1,29 @@
/**
* 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/>.
*
*/
/**
* Melzi pin assignments
*/
#define BOARD_NAME "Melzi"
#define IS_MELZI
#include "pins_SANGUINOLOLU_12.h"

View File

@ -0,0 +1,110 @@
/**
* 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/>.
*
*/
/**
* Melzi (Creality) pin assignments
*
* The Creality board needs a bootloader installed before Marlin can be uploaded.
* If you don't have a chip programmer you can use a spare Arduino plus a few
* electronic components to write the bootloader.
*
* See http://www.instructables.com/id/Burn-Arduino-Bootloader-with-Arduino-MEGA/
*/
#define BOARD_NAME "Melzi (Creality)"
#define IS_MELZI
#include "pins_SANGUINOLOLU_12.h"
// For the stock CR-10 use the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
// option for the display in Configuration.h
#undef LCD_SDSS
#undef LED_PIN
#undef LCD_PINS_RS
#undef LCD_PINS_ENABLE
#undef LCD_PINS_D4
#undef LCD_PINS_D5
#undef LCD_PINS_D6
#undef LCD_PINS_D7
#undef FIL_RUNOUT_PIN
#define LCD_SDSS 31 // Smart Controller SD card reader (rather than the Melzi)
#define LCD_PINS_RS 28 // st9720 CS
#define LCD_PINS_ENABLE 17 // st9720 DAT
#define LCD_PINS_D4 30 // st9720 CLK
#define LCD_PINS_D5 -1
#define LCD_PINS_D6 -1
#define LCD_PINS_D7 -1
#define FIL_RUNOUT_PIN -1 // Uses Beeper/LED Pin Pulled to GND
// Alter timing for graphical display
#define ST7920_DELAY_1 DELAY_2_NOP
#define ST7920_DELAY_2 DELAY_2_NOP
#define ST7920_DELAY_3 DELAY_2_NOP
/**
PIN: 0 Port: B0 E0_DIR_PIN protected
PIN: 1 Port: B1 E0_STEP_PIN protected
PIN: 2 Port: B2 Z_DIR_PIN protected
PIN: 3 Port: B3 Z_STEP_PIN protected
PIN: 4 Port: B4 AVR_SS_PIN protected
. FAN_PIN protected
. SS_PIN protected
PIN: 5 Port: B5 AVR_MOSI_PIN Output = 1
. MOSI_PIN Output = 1
PIN: 6 Port: B6 AVR_MISO_PIN Input = 0 TIMER3A PWM: 0 WGM: 1 COM3A: 0 CS: 3 TCCR3A: 1 TCCR3B: 3 TIMSK3: 0
. MISO_PIN Input = 0
PIN: 7 Port: B7 AVR_SCK_PIN Output = 0 TIMER3B PWM: 0 WGM: 1 COM3B: 0 CS: 3 TCCR3A: 1 TCCR3B: 3 TIMSK3: 0
. SCK_PIN Output = 0
PIN: 8 Port: D0 RXD Input = 1
PIN: 9 Port: D1 TXD Input = 0
PIN: 10 Port: D2 BTN_EN2 Input = 1
PIN: 11 Port: D3 BTN_EN1 Input = 1
PIN: 12 Port: D4 HEATER_BED_PIN protected
PIN: 13 Port: D5 HEATER_0_PIN protected
PIN: 14 Port: D6 E0_ENABLE_PIN protected
. X_ENABLE_PIN protected
. Y_ENABLE_PIN protected
PIN: 15 Port: D7 X_STEP_PIN protected
PIN: 16 Port: C0 BTN_ENC Input = 1
. SCL Input = 1
PIN: 17 Port: C1 LCD_PINS_ENABLE Output = 0
. SDA Output = 0
PIN: 18 Port: C2 X_MIN_PIN protected
. X_STOP_PIN protected
PIN: 19 Port: C3 Y_MIN_PIN protected
. Y_STOP_PIN protected
PIN: 20 Port: C4 Z_MIN_PIN protected
. Z_STOP_PIN protected
PIN: 21 Port: C5 X_DIR_PIN protected
PIN: 22 Port: C6 Y_STEP_PIN protected
PIN: 23 Port: C7 Y_DIR_PIN protected
PIN: 24 Port: A7 TEMP_0_PIN protected
PIN: 25 Port: A6 TEMP_BED_PIN protected
PIN: 26 Port: A5 Z_ENABLE_PIN protected
PIN: 27 Port: A4 BEEPER_PIN Output = 0
PIN: 28 Port: A3 LCD_PINS_RS Output = 0
PIN: 29 Port: A2 <unused/unknown> Input = 0
PIN: 30 Port: A1 LCD_PINS_D4 Output = 1
PIN: 31 Port: A0 SDSS Output = 1
*/

View File

@ -0,0 +1,29 @@
/**
* 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/>.
*
*/
/**
* Melzi with ATmega1284 (MaKr3d version) pin assignments
*/
#define BOARD_NAME "Melzi (ATmega1284)"
#define IS_MELZI
#include "pins_SANGUINOLOLU_12.h"

View File

@ -0,0 +1,333 @@
/**
* 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/>.
*
*/
/**
* Mightyboard Rev.E pin assignments
*/
/**
*
* This is a starting-point to support the Makerbot Replicator series of 3D printers.
* It's not functional because Marlin has limited support for some features.
* Marlin will need the following augmentations before it will be supportable:
*
* - Support for two or more MAX6675 thermocouples
* - Support for multiple i2c buses to control the MCP4018 digital pots
* - Support for one additional unidirectional SPI bus, to read the thermocouples
* - Support for an RGB LED that may work differently from BLINKM
*
* The MCP4018 requires separate I2C buses because it has a fixed address (0x2F << 1 = 0x5E)
* The thermocouples share the same SCK and DO pins, with their own CS pins.
* The controller interface port connects to a 3-wire shift-register display controller
*
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for:
* M3, M4 & M5 spindle control commands
* case light
*
* Corrected pin assignment for MOSFET_B_PIN pin. Changed it from 9 to 11. The port
* number (B5) agrees with the schematic but B5 is assigned to logical pin 11.
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define DEFAULT_MACHINE_NAME "MB Replicator"
#define BOARD_NAME "Mightyboard"
#define LARGE_FLASH true
//
// Servos
//
#define SERVO0_PIN 36 // C1 (1280-EX1)
#define SERVO1_PIN 37 // C0 (1280-EX2)
#define SERVO2_PIN 40 // G1 (1280-EX3)
#define SERVO3_PIN 41 // G0 (1280-EX4)
//
// Limit Switches
//
#define X_MIN_PIN 49 // L0
#define X_MAX_PIN 48 // L1
#define Y_MIN_PIN 47 // L2
#define Y_MAX_PIN 46 // L3
#define Z_MIN_PIN 43 // L6
#define Z_MAX_PIN 42 // L7
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 42
#endif
//
// Steppers
//
#define X_STEP_PIN 55 // F1
#define X_DIR_PIN 54 // F0
#define X_ENABLE_PIN 56 // F2
#define Y_STEP_PIN 59 // F5
#define Y_DIR_PIN 58 // F4
#define Y_ENABLE_PIN 60 // F6
#define Z_STEP_PIN 63 // K1
#define Z_DIR_PIN 62 // K0
#define Z_ENABLE_PIN 64 // K2
#define E0_STEP_PIN 25 // A3
#define E0_DIR_PIN 24 // A2
#define E0_ENABLE_PIN 26 // A4
#define E1_STEP_PIN 29 // A7
#define E1_DIR_PIN 28 // A6
#define E1_ENABLE_PIN 39 // G2
//
// I2C Digipots - MCP4018
// Address 5E (2F << 1)
// Set from 0 - 127 with stop bit.
// (Ex. 3F << 1 | 1)
//
#define DIGIPOTS_I2C_SCL 76 // J5
#define DIGIPOTS_I2C_SDA_X 57 // F3
#define DIGIPOTS_I2C_SDA_Y 61 // F7
#define DIGIPOTS_I2C_SDA_Z 65 // K3
#define DIGIPOTS_I2C_SDA_E0 27 // A5
#define DIGIPOTS_I2C_SDA_E1 77 // J6
//
// Temperature Sensors
//
#define TEMP_BED_PIN 69 // K7
// SPI for Max6675 or Max31855 Thermocouple
// Uses a separate SPI bus
//
// 3 E5 DO (SO)
// 5 E3 CS1
// 2 E4 CS2
// 78 E2 SCK
//
#define THERMO_SCK_PIN 78 // E2
#define THERMO_DO_PIN 3 // E5
#define THERMO_CS1 5 // E3
#define THERMO_CS2 2 // E4
#define MAX6675_SS THERMO_CS1
#define MAX6675_SCK_PIN THERMO_SCK_PIN
#define MAX6675_DO_PIN THERMO_DO_PIN
//
// Augmentation for auto-assigning plugs
//
// Two thermocouple connectors allows for either
// 2 extruders or 1 extruder and a heated bed.
// With no heated bed, an additional 24V fan is possible.
//
#define MOSFET_A_PIN 6 // H3
#define MOSFET_B_PIN 11 // B5 - Rev A of this file had this pin assigned to 9
#define MOSFET_C_PIN 45 // L4
#define MOSFET_D_PIN 44 // L5
#if HOTENDS > 1
#if TEMP_SENSOR_BED
#define IS_EEB
#else
#define IS_EEF
#endif
#elif TEMP_SENSOR_BED
#define IS_EFB
#else
#define IS_EFF
#endif
//
// Heaters / Fans (24V)
//
#define HEATER_0_PIN MOSFET_A_PIN
#if ENABLED(IS_EFB) // Hotend, Fan, Bed
#define FAN_PIN MOSFET_B_PIN
#define HEATER_BED_PIN MOSFET_C_PIN
#elif ENABLED(IS_EEF) // Hotend, Hotend, Fan
#define HEATER_1_PIN MOSFET_B_PIN
#define FAN_PIN MOSFET_C_PIN
#elif ENABLED(IS_EEB) // Hotend, Hotend, Bed
#define HEATER_1_PIN MOSFET_B_PIN
#define HEATER_BED_PIN MOSFET_C_PIN
#elif ENABLED(IS_EFF) // Hotend, Fan, Fan
#define FAN_PIN MOSFET_B_PIN
#define FAN1_PIN MOSFET_C_PIN
#elif ENABLED(IS_SF) // Spindle, Fan
#define FAN_PIN MOSFET_C_PIN
#endif
#ifndef FAN_PIN
#define FAN_PIN MOSFET_D_PIN
#endif
//
// Extruder Auto Fan Pins
//
#define ORIG_E0_AUTO_FAN_PIN 7 // H4
#define ORIG_E1_AUTO_FAN_PIN 12 // B6
//
// Misc. Functions
//
#define LED_PIN 13 // B7
#define CUTOFF_RESET_PIN 16 // H1
#define CUTOFF_TEST_PIN 17 // H0
#define CASE_LIGHT_PIN 44 // L5 MUST BE HARDWARE PWM
//
// LCD / Controller
//
#ifdef REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
#define LCD_PINS_RS 33 // C4: LCD-STROBE
#define LCD_PINS_ENABLE 72 // J2: LEFT
#define LCD_PINS_D4 35 // C2: LCD-CLK
#define LCD_PINS_D5 32 // C5: RLED
#define LCD_PINS_D6 34 // C3: LCD-DATA
#define LCD_PINS_D7 31 // C6: GLED
#define BTN_EN2 75 // J4, UP
#define BTN_EN1 73 // J3, DOWN
//STOP button connected as KILL_PIN
#define KILL_PIN 14 // J1, RIGHT
//KILL - not connected
#define BEEPER_PIN 8 // H5, SD_WP
#define BTN_CENTER 15 // J0
#define BTN_ENC BTN_CENTER
//on board leds
#define STAT_LED_RED_LED SERVO0_PIN // C1 (1280-EX1, DEBUG2)
#define STAT_LED_BLUE_PIN SERVO1_PIN // C0 (1280-EX2, DEBUG3)
#else
// Replicator uses a 3-wire SR controller with HD44780
// For now, pretend it's the SAV
//
#define SAV_3DLCD
#define SR_DATA_PIN 34 // C3
#define SR_CLK_PIN 35 // C2
#define SR_STROBE_PIN 33 // C4
#define BTN_UP 75 // J4
#define BTN_DOWN 73 // J3
#define BTN_LEFT 72 // J2
#define BTN_RIGHT 14 // J1
#define BTN_CENTER 15 // J0
#define BTN_ENC BTN_CENTER
#define BEEPER_PIN 4 // G5
#define STAT_LED_RED_PIN 32 // C5
#define STAT_LED_BLUE_PIN 31 // C6 (Actually green)
#endif
//
// SD Card
//
#define SDSS 53 // B0
#define SD_DETECT_PIN 9 // H6
#define MAX_PIN THERMO_SCK_PIN
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 66 // K4 Pin should have a pullup!
#define SPINDLE_LASER_PWM_PIN 8 // H5 MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 67 // K5
// Check if all pins are defined in mega/pins_arduino.h
#include <Arduino.h>
static_assert(NUM_DIGITAL_PINS > MAX_PIN, "add missing pins to [arduino dir]/hardware/arduino/avr/variants/mega/pins_arduino.h based on fastio.h"
"to digital_pin_to_port_PGM, digital_pin_to_bit_mask_PGM, digital_pin_to_timer_PGM, NUM_DIGITAL_PINS, see below");
/* in [arduino dir]/hardware/arduino/avr/variants/mega/pins_arduino.h
change:
#define NUM_DIGITAL_PINS 70
to:
#define NUM_DIGITAL_PINS 80
to digital_pin_to_port_PGM add at the end:
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
....
PG , // PG 4 ** 70 **
PG , // PG 3 ** 71 **
PJ , // PJ 2 ** 72 **
PJ , // PJ 3 ** 73 **
PJ , // PJ 7 ** 74 **
PJ , // PJ 4 ** 75 **
PJ , // PJ 5 ** 76 **
PJ , // PJ 6 ** 77 **
PE , // PE 2 ** 78 **
PE , // PE 6 ** 79 **
};
to digital_pin_to_bit_mask_PGM add at the end:
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
....
_BV( 4 ) , // PG 4 ** 70 **
_BV( 3 ) , // PG 3 ** 71 **
_BV( 2 ) , // PJ 2 ** 72 **
_BV( 3 ) , // PJ 3 ** 73 **
_BV( 7 ) , // PJ 7 ** 74 **
_BV( 4 ) , // PJ 4 ** 75 **
_BV( 5 ) , // PJ 5 ** 76 **
_BV( 6 ) , // PJ 6 ** 77 **
_BV( 2 ) , // PE 2 ** 78 **
_BV( 6 ) , // PE 6 ** 79 **
};
to digital_pin_to_timer_PGM add at the end:
const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
....
NOT_ON_TIMER , // PG 4 ** 70 **
NOT_ON_TIMER , // PG 3 ** 71 **
NOT_ON_TIMER , // PJ 2 ** 72 **
NOT_ON_TIMER , // PJ 3 ** 73 **
NOT_ON_TIMER , // PJ 7 ** 74 **
NOT_ON_TIMER , // PJ 4 ** 75 **
NOT_ON_TIMER , // PJ 5 ** 76 **
NOT_ON_TIMER , // PJ 6 ** 77 **
NOT_ON_TIMER , // PE 2 ** 78 **
NOT_ON_TIMER , // PE 6 ** 79 **
};
*/

View File

@ -0,0 +1,160 @@
/**
* 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/>.
*
*/
/**
* Mini-Rambo pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega 2560 or Rambo' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Mini Rambo"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_MIN_PIN 12
#define X_MAX_PIN 30
#define Y_MIN_PIN 11
#define Y_MAX_PIN 24
#define Z_MIN_PIN 10
#define Z_MAX_PIN 23
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 23
#endif
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_ENABLE_PIN 28
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E1_STEP_PIN -1
#define E1_DIR_PIN -1
#define E1_ENABLE_PIN -1
// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define MOTOR_CURRENT_PWM_XY_PIN 46
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 44
// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
#ifndef MOTOR_CURRENT_PWM_RANGE
#define MOTOR_CURRENT_PWM_RANGE 2000
#endif
#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250}
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 3
#define HEATER_1_PIN 7
#define HEATER_2_PIN 6
#define HEATER_BED_PIN 4
#define FAN_PIN 8
#define FAN1_PIN 6
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define CASE_LIGHT_PIN 9
//
// M3/M4/M5 - Spindle/Laser Control
//
// use P1 connector for spindle pins
#define SPINDLE_LASER_PWM_PIN 9 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 18 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 19
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD)
#define KILL_PIN 32
#if ENABLED(NEWPANEL)
// Beeper on AUX-4
#define BEEPER_PIN 84
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
// buttons are directly attached using AUX-2
#define BTN_EN1 14
#define BTN_EN2 72
#define BTN_ENC 9 // the click
#define SD_DETECT_PIN 15
#endif // NEWPANEL
#endif // ULTRA_LCD

View File

@ -0,0 +1,144 @@
/**
* 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/>.
*
*/
/**
* Minitronics v1.0/1.1 pin assignments
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for M3, M4 & M5 spindle control commands
*
*/
#ifndef __AVR_ATmega1281__
#error "Oops! Make sure you have 'Minitronics' selected from the 'Tools -> Boards' menu."
#endif
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Minitronics supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Minitronics v1.0 / v1.1"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_MIN_PIN 5
#define X_MAX_PIN 2
#define Y_MIN_PIN 2
#define Y_MAX_PIN 15
#define Z_MIN_PIN 6
#define Z_MAX_PIN -1
//
// Steppers
//
#define X_STEP_PIN 48
#define X_DIR_PIN 47
#define X_ENABLE_PIN 49
#define Y_STEP_PIN 39 // A6
#define Y_DIR_PIN 40 // A0
#define Y_ENABLE_PIN 38
#define Z_STEP_PIN 42 // A2
#define Z_DIR_PIN 43 // A6
#define Z_ENABLE_PIN 41 // A1
#define E0_STEP_PIN 45
#define E0_DIR_PIN 44
#define E0_ENABLE_PIN 27
#define E1_STEP_PIN 36
#define E1_DIR_PIN 35
#define E1_ENABLE_PIN 37
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // Analog Input
#define TEMP_1_PIN 6 // Analog Input
#define TEMP_BED_PIN 6 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 7 // EXTRUDER 1
#define HEATER_1_PIN 8 // EXTRUDER 2
#define HEATER_BED_PIN 3 // BED
#define FAN_PIN 9
//
// Misc. Functions
//
#define SDSS 16
#define LED_PIN 46
//
// LCD / Controller
//
#define BEEPER_PIN -1
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define LCD_PINS_RS 15 // CS chip select /SS chip slave select
#define LCD_PINS_ENABLE 11 // SID (MOSI)
#define LCD_PINS_D4 10 // SCK (CLK) clock
#define BTN_EN1 18
#define BTN_EN2 17
#define BTN_ENC 25
#define SD_DETECT_PIN 30
#else
#define LCD_PINS_RS -1
#define LCD_PINS_ENABLE -1
// Buttons are directly attached using keypad
#define BTN_EN1 -1
#define BTN_EN2 -1
#define BTN_ENC -1
#define SD_DETECT_PIN -1 // Minitronics doesn't use this
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) // assumes we're only doing CNC work (no 3D printing)
#undef HEATER_BED_PIN
#undef TEMP_BED_PIN // need to free up some pins but also need to
#undef TEMP_0_PIN // re-assign them (to unused pins) because Marlin
#undef TEMP_1_PIN // requires the presence of certain pins or else it
#define HEATER_BED_PIN 4 // won't compile
#define TEMP_BED_PIN 50
#define TEMP_0_PIN 51
#define SPINDLE_LASER_ENABLE_PIN 52 // using A6 because it already has a pull up on it
#define SPINDLE_LASER_PWM_PIN 3 // WARNING - LED & resistor pull up to +12/+24V stepper voltage
#define SPINDLE_DIR_PIN 53
#endif

View File

@ -0,0 +1,144 @@
/**
* 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/>.
*
*/
/**
* Arduino Mega with RAMPS v1.4 adjusted pin assignments
*
* MKS v1.3 (Extruder, Fan, Bed)
* MKS v1.3 (Extruder, Extruder, Fan, Bed)
* MKS v1.4 (Extruder, Fan, Bed)
* MKS v1.4 (Extruder, Extruder, Fan, Bed)
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS 1.3/1.4 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "MKS > v1.3"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
//
// PSU / SERVO
//
// If POWER_SUPPLY is specified, always hijack Servo 3
//
#if POWER_SUPPLY > 0
#define SERVO3_PIN -1
#define PS_ON_PIN 4
#endif
#include "pins_RAMPS.h"
//
// LCD / Controller
//
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
/**
* VIKI2 Has two groups of wires with...
*
* +Vin + Input supply, requires 120ma for LCD and mSD card
* GND Ground Pin
* MOSI Data input for LCD and SD
* MISO Data output for SD
* SCK Clock for LCD and SD
* AO Reg. Sel for LCD
* LCS Chip Select for LCD
* SDCS Chip Select for SD
* SDCD Card Detect pin for SD
* ENCA Encoder output A
* ENCB Encoder output B
* ENCBTN Encoder button switch
*
* BTN Panel mounted button switch
* BUZZER Piezo buzzer
* BLUE-LED Blue LED ring pin (3 to 5v, mosfet buffered)
* RED-LED Red LED ring pin (3 to 5v, mosfet buffered)
*
* This configuration uses the following arrangement:
*
* EXP1 D37 = EN2 D35 = EN1 EXP2 D50 = MISO D52 = SCK
* D17 = BLUE D16 = RED D31 = ENC D53 = SDCS
* D23 = KILL D25 = BUZZ D33 = --- D51 = MOSI
* D27 = A0 D29 = LCS D49 = SDCD RST = ---
* GND = GND 5V = 5V GND = --- D41 = ---
*/
#undef BTN_EN1
#undef BTN_EN2
#undef BTN_ENC
#undef DOGLCD_A0
#undef DOGLCD_CS
#undef SD_DETECT_PIN
#undef BEEPER_PIN
#undef KILL_PIN
//
// VIKI2 12-wire lead
//
// orange/white SDCD
#define SD_DETECT_PIN 49
// white ENCA
#define BTN_EN1 35
// green ENCB
#define BTN_EN2 37
// purple ENCBTN
#define BTN_ENC 31
// brown A0
#define DOGLCD_A0 27
// green/white LCS
#define DOGLCD_CS 29
// 50 gray MISO
// 51 yellow MOSI
// 52 orange SCK
// blue SDCS
//#define SDSS 53
//
// VIKI2 4-wire lead
//
// blue BTN
#define KILL_PIN 23
// green BUZZER
#define BEEPER_PIN 25
// yellow RED-LED
#define STAT_LED_RED_PIN 16
// white BLUE-LED
#define STAT_LED_BLUE_PIN 17
#endif

View File

@ -0,0 +1,50 @@
/**
* 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/>.
*
*/
/**
* MKS BASE 1.0 Arduino Mega2560 with RAMPS v1.4 pin assignments
*
* Rev B - Override pin definitions for CASE_LIGHT and M3/M4/M5 spindle control
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS BASE 1.0 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "MKS BASE 1.0"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
#define CASE_LIGHT_PIN 2
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 2 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 15 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 19
#include "pins_RAMPS.h"

148
Marlin/src/pins/pins_OMCA.h Normal file
View File

@ -0,0 +1,148 @@
/**
* 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/>.
*
*/
/**
* Open Motion controller with enable based extruders (Final!)
*
* ATMega644
*
* +---\/---+
* (D 0) PB0 1| |40 PA0 (AI 0 / D31)
* (D 1) PB1 2| |39 PA1 (AI 1 / D30)
* INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
* PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
* PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
* MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
* MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
* SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
* RST 9| |32 AREF
* VCC 10| |31 GND
* GND 11| |30 AVCC
* XTAL2 12| |29 PC7 (D 23)
* XTAL1 13| |28 PC6 (D 22)
* RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
* TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
* INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
* INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
* PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
* PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
* PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
* +--------+
*
* REF http://sanguino.cc/hardware
*/
/**
* Rev B 26 DEC 2016
*
* added pointer to a current Arduino IDE extension
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__)
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. (Final OMCA board)"
#endif
#define BOARD_NAME "Final OMCA"
//
// Limit Switches
//
#define X_STOP_PIN 0
#define Y_STOP_PIN 1
#define Z_STOP_PIN 2
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 25
#define X_ENABLE_PIN 10
#define Y_STEP_PIN 28
#define Y_DIR_PIN 27
#define Y_ENABLE_PIN 10
#define Z_STEP_PIN 23
#define Z_DIR_PIN 22
#define Z_ENABLE_PIN 10
#define E0_STEP_PIN 24
#define E0_DIR_PIN 21
#define E0_ENABLE_PIN 10
#define E1_STEP_PIN -1 // 21
#define E1_DIR_PIN -1 // 20
#define E1_ENABLE_PIN -1 // 19
#define E2_STEP_PIN -1 // 21
#define E2_DIR_PIN -1 // 20
#define E2_ENABLE_PIN -1 // 18
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input (1,2 or I2C)
//
// Heaters / Fans
//
#define HEATER_0_PIN 3 // DONE PWM on RIGHT connector
#define HEATER_BED_PIN 4
#define FAN_PIN 14 // PWM on MIDDLE connector
//
// Misc. Functions
//
#define SDSS 11
#define I2C_SCL_PIN 16
#define I2C_SDA_PIN 17
// future proofing
#define __FS 20
#define __FD 19
#define __GS 18
#define __GD 13
#define UNUSED_PWM 14 // PWM on LEFT connector

View File

@ -0,0 +1,135 @@
/**
* 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/>.
*
*/
/**
* Open Motion controller with enable based extruders (Alpha!)
*
* ATMega644
*
* +---\/---+
* (D 0) PB0 1| |40 PA0 (AI 0 / D31)
* (D 1) PB1 2| |39 PA1 (AI 1 / D30)
* INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
* PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
* PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
* MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
* MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
* SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
* RST 9| |32 AREF
* VCC 10| |31 GND
* GND 11| |30 AVCC
* XTAL2 12| |29 PC7 (D 23)
* XTAL1 13| |28 PC6 (D 22)
* RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
* TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
* INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
* INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
* PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
* PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
* PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
* +--------+
*
*/
/**
* Rev B 26 DEC 2016
*
* added pointer to a current Arduino IDE extension
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#ifndef __AVR_ATmega644__
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Alpha OMCA"
//
// Limit Switches
//
#define X_STOP_PIN 0
#define Y_STOP_PIN 1
#define Z_STOP_PIN 2
//
// Steppers
//
#define X_STEP_PIN 21
#define X_DIR_PIN 20
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Z_STEP_PIN 26
#define Z_DIR_PIN 25
#define Z_ENABLE_PIN 24
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 24
#define E1_STEP_PIN -1 // 19
#define E1_DIR_PIN -1 // 18
#define E1_ENABLE_PIN 24
#define E2_STEP_PIN -1 // 17
#define E2_DIR_PIN -1 // 16
#define E2_ENABLE_PIN 24
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input (D27)
//
// Heaters / Fans
//
#define HEATER_0_PIN 4
#define FAN_PIN 3
//
// Misc. Functions
//
#define SDSS 11
/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */

View File

@ -0,0 +1,177 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Rev B 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software.
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
*
* Installation instructions are at the above URL. Don't bother loading the
* libraries - they are not used with the Marlin software.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
*
* Installation:
*
* 1. Go to the above URL, click on the "Clone or Download" button and then
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Teensyduino is the most popular option. Printrboard is used if your board doesn't have
* the Teensyduino bootloader on it.
*/
/**
* To burn the bootloader that comes with Printrboard:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
#ifndef __AVR_AT90USB1286__
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Printrboard"
#define LARGE_FLASH true
// Disable JTAG pins so they can be used for the Extrudrboard
#define DISABLE_JTAG true
//
// Limit Switches
//
#define X_STOP_PIN 47 // E3
#if ENABLED(SDSUPPORT)
#define Y_STOP_PIN 37 // E5 - Move Ystop to Estop socket
#else
#define Y_STOP_PIN 20 // B0 SS - Ystop in Ystop socket
#endif
#define Z_STOP_PIN 36 // E4
//
// Steppers
//
#define X_STEP_PIN 28 // A0
#define X_DIR_PIN 29 // A1
#define X_ENABLE_PIN 19 // E7
#define Y_STEP_PIN 30 // A2
#define Y_DIR_PIN 31 // A3
#define Y_ENABLE_PIN 18 // E6
#define Z_STEP_PIN 32 // A4
#define Z_DIR_PIN 33 // A5
#define Z_ENABLE_PIN 17 // C7
#define E0_STEP_PIN 34 // A6
#define E0_DIR_PIN 35 // A7
#define E0_ENABLE_PIN 13 // C3
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // Analog Input
#define TEMP_BED_PIN 0 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 15 // C5 PWM3B - Extruder
#define HEATER_1_PIN 44 // F6
#define HEATER_2_PIN 45 // F7
#define HEATER_BED_PIN 14 // C4 PWM3C
#define FAN_PIN 16 // C6 PWM3A
//
// Misc. Functions
//
#define SDSS 20 // B0 SS
#define FILWIDTH_PIN 2 // Analog Input
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)
// we have no buzzer installed
#define BEEPER_PIN -1
// LCD Pins
#if ENABLED(LCD_I2C_PANELOLU2)
#define BTN_EN1 3 // D3 RX1 JP2-7
#define BTN_EN2 2 // D2 TX1 JP2-5
#define BTN_ENC 41 // F3 JP2-4
#define SDSS 38 // F0 B-THERM connector - use SD card on Panelolu2
#else
#define BTN_EN1 10 // C0 JP11-12
#define BTN_EN2 11 // C1 JP11-13
#define BTN_ENC 12 // C2 JP11-14
#endif
// not connected
#define SD_DETECT_PIN -1
#define LCD_PINS_RS 9 // E1 JP11-11
#define LCD_PINS_ENABLE 8 // E0 JP11-10
#define LCD_PINS_D4 7 // D7 JP11-8
#define LCD_PINS_D5 6 // D6 JP11-7
#define LCD_PINS_D6 5 // D5 JP11-6
#define LCD_PINS_D7 4 // D4 JP11-5
#endif // ULTRA_LCD && NEWPANEL
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#define BEEPER_PIN 8 // E0 JP11-10
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 40 // F2 JP2-2
#define DOGLCD_CS 41 // F3 JP2-4
#define LCD_SCREEN_ROT_180
// The encoder and click button
#define BTN_EN1 2 // D2 TX1 JP2-5
#define BTN_EN2 3 // D3 RX1 JP2-7
#define BTN_ENC 45 // F7 TDI JP2-12
#define SDSS 43 // F5 TMS JP2-8
#define SD_DETECT_PIN -1
#define STAT_LED_RED_PIN 12 // C2 JP11-14
#define STAT_LED_BLUE_PIN 10 // C0 JP11-12
#endif

View File

@ -0,0 +1,219 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Rev B 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software.
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Installation instructions are at the above URL.
*
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
*
* Note: With Teensyduino extension, the Arduino IDE will report 130048 bytes of program storage space available,
* but there is actually only 122880 bytes due to the larger DFU bootloader shipped by default on all Printrboard RevF.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
*
* Installation:
*
* 1. Go to the above URL, click on the "Clone or Download" button and then
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Teensyduino is the most popular and easiest option.
*/
/**
* To burn the bootloader that comes with Printrboard HID extension:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
#ifndef __AVR_AT90USB1286__
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Printrboard Rev F"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 47 // E3
#define Y_STOP_PIN 24 // B4 PWM2A
#define Z_STOP_PIN 36 // E4
//
// Steppers
//
#define X_STEP_PIN 28 // A0
#define X_DIR_PIN 29 // A1
#define X_ENABLE_PIN 19 // E7
#define Y_STEP_PIN 30 // A2
#define Y_DIR_PIN 31 // A3
#define Y_ENABLE_PIN 18 // E6
#define Z_STEP_PIN 32 // A4
#define Z_DIR_PIN 33 // A5
#define Z_ENABLE_PIN 17 // C7
#define E0_STEP_PIN 34 // A6
#define E0_DIR_PIN 35 // A7
#define E0_ENABLE_PIN 13 // C3
// Enable control of stepper motor currents with the I2C based MCP4728 DAC used on Printrboard REVF
#define DAC_STEPPER_CURRENT
// Set default drive strength percents if not already defined - X, Y, Z, E axis
#ifndef DAC_MOTOR_CURRENT_DEFAULT
#define DAC_MOTOR_CURRENT_DEFAULT { 70, 70, 50, 70 }
#endif
// Number of channels available for DAC
#define DAC_STEPPER_ORDER { 3, 2, 1, 0 }
#define DAC_STEPPER_SENSE 0.11
#define DAC_STEPPER_ADDRESS 0
#define DAC_STEPPER_MAX 3520
#define DAC_STEPPER_VREF 1 // internal Vref, gain 1x = 2.048V
#define DAC_STEPPER_GAIN 0
#define DAC_OR_ADDRESS 0x00
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // Analog Input (Extruder)
#define TEMP_BED_PIN 0 // Analog Input (Bed)
//
// Heaters / Fans
//
#define HEATER_0_PIN 15 // C5 PWM3B - Extruder
#define HEATER_1_PIN 44 // F6
#define HEATER_2_PIN 45 // F7
#define HEATER_BED_PIN 14 // C4 PWM3C
#define FAN_PIN 16 // C6 PWM3A
//
// LCD / Controller
//
//#define USE_INTERNAL_SD
#if ENABLED(ULTRA_LCD)
#define BEEPER_PIN -1
#define LCD_PINS_RS 9 // E1 JP11-11
#define LCD_PINS_ENABLE 8 // E0 JP11-10
#define LCD_PINS_D4 7 // D7 JP11-8
#define LCD_PINS_D5 6 // D6 JP11-7
#define LCD_PINS_D6 5 // D5 JP11-6
#define LCD_PINS_D7 4 // D4 JP11-5
#define BTN_EN1 10 // C0 JP11-12
#define BTN_EN2 11 // C1 JP11-13
#define BTN_ENC 12 // C2 JP11-14
#define SD_DETECT_PIN -1
#endif
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#define BEEPER_PIN 8 // E0 JP11-10
#define DOGLCD_A0 40 // F2 JP2-2
#define DOGLCD_CS 41 // F3 JP2-4
#define LCD_SCREEN_ROT_180
#define BTN_EN1 2 // D2 TX1 JP2-5
#define BTN_EN2 3 // D3 RX1 JP2-7
#define BTN_ENC 45 // F7 TDI JP2-12
#define SDSS 43 // F5 TMS JP2-8
#define SD_DETECT_PIN -1
#define STAT_LED_RED_PIN 12 // C2 JP11-14
#define STAT_LED_BLUE_PIN 10 // C0 JP11-12
#endif
#if ENABLED(MINIPANEL)
#if ENABLED(USE_INTERNAL_SD)
// PIN FASTIO PIN# ATUSB90 PIN# Teensy2.0++ PIN#
#define SDSS 20 // 10 B0
#define SD_DETECT_PIN -1 // no auto-detect SD insertion on built-in Printrboard SD reader
#else
// PIN FASTIO PIN# ATUSB90 PIN# Teensy2.0++ PIN# Printrboard RevF Conn. MKSLCD12864 PIN#
#define SDSS 11 // 36 C1 EXP2-13 EXP2-07
#define SD_DETECT_PIN 9 // 34 E1 EXP2-11 EXP2-04
#endif
// PIN FASTIO PIN# ATUSB90 PIN# Teensy2.0++ PIN# Printrboard RevF Conn. MKSLCD12864 PIN#
#define DOGLCD_A0 4 // 29 D4 EXP2-05 EXP1-04
#define DOGLCD_CS 5 // 30 D5 EXP2-06 EXP1-05
#define BTN_ENC 6 // 31 D6 EXP2-07 EXP1-09
#define BEEPER_PIN 7 // 32 D7 EXP2-08 EXP1-10
#define KILL_PIN 8 // 33 E0 EXP2-10 EXP2-03
#define BTN_EN1 10 // 35 C0 EXP2-12 EXP2-06
#define BTN_EN2 12 // 37 C2 EXP2-14 EXP2-08
//#define LCD_BACKLIGHT_PIN 43 // 56 F5 EXP1-12 Not Implemented
//#define SCK 21 // 11 B1 ICSP-04 EXP2-09
//#define MOSI 22 // 12 B2 ICSP-03 EXP2-05
//#define MISO 23 // 13 B3 ICSP-06 EXP2-05
// encoder connections present
#define BLEN_A 0
#define BLEN_B 1
#define BLEN_C 2
// encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
// increase delays to max
#define ST7920_DELAY_1 DELAY_5_NOP
#define ST7920_DELAY_2 DELAY_5_NOP
#define ST7920_DELAY_3 DELAY_5_NOP
#endif
//
// Misc. Functions
//
#ifndef SDSS
#define SDSS 20 // B0 SS
#endif
#define FILWIDTH_PIN 2 // Analog Input

View File

@ -0,0 +1,193 @@
/**
* 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/>.
*
*/
/**
* RADDS
*/
#ifndef __SAM3X8E__
#error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu."
#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
//
// Steppers
//
#define X_STEP_PIN 24
#define X_DIR_PIN 23
#define X_ENABLE_PIN 26
#define X_CS_PIN 25
#define Y_STEP_PIN 17
#define Y_DIR_PIN 16
#define Y_ENABLE_PIN 22
#define Y_CS_PIN 27
#define Z_STEP_PIN 2
#define Z_DIR_PIN 3
#define Z_ENABLE_PIN 15
#define Z_CS_PIN 29
#define E0_STEP_PIN 61
#define E0_DIR_PIN 60
#define E0_ENABLE_PIN 62
#define E0_CS_PIN 31
#define E1_STEP_PIN 64
#define E1_DIR_PIN 63
#define E1_ENABLE_PIN 65
#define E1_CS_PIN 33
#define E2_STEP_PIN 51
#define E2_DIR_PIN 53
#define E2_ENABLE_PIN 49
#define E2_CS_PIN 35
// For Extension Board V2
// http://doku.radds.org/dokumentation/extension-board
//#define E3_STEP_PIN 35
//#define E3_DIR_PIN 33
//#define E3_ENABLE_PIN 37
//#define E3_CS_PIN 6
//#define Z2_STEP_PIN 29
//#define Z2_DIR_PIN 27
//#define Z2_ENABLE_PIN 31
//#define Z2_CS_PIN 39
// Microstepping pins - Mapping not from fastio.h (?)
//#define E3_MS1_PIN 67
//#define E3_MS2_PIN 68
//#define E3_MS3_PIN 69
//#define Z2_MS1_PIN 67 // shared with E3_MS1_PIN
//#define Z2_MS2_PIN 68 // shared with E3_MS2_PIN
//#define Z2_MS3_PIN 69 // shared with E3_MS3_PIN
//
// 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_BED_PIN 4 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS 53
#else
#define MAX6675_SS 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
#define FAN_PIN 9
#define FAN1_PIN 8
//
// Misc. Functions
//
#define SDSS 4
#define PS_ON_PIN 40
#define I2C_EEPROM
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD)
// RADDS LCD panel
#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
#undef SDSS
#define SDSS 10
#define SD_DETECT_PIN 14
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define LCD_PINS_RS 46
#define LCD_PINS_ENABLE 47
#define LCD_PINS_D4 44
#define BEEPER_PIN 41
#define BTN_EN1 50
#define BTN_EN2 52
#define BTN_ENC 48
#elif ENABLED(SSD1306_OLED_I2C_CONTROLLER)
#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 // ULTRA_LCD

View File

@ -0,0 +1,228 @@
/**
* 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/>.
*
*/
/**
* IMPORTANT NOTE:
* Rambo users should be sure to compile Marlin using either the RAMBo
* board type if using the Arduino IDE - available via the link below - or
* the 'rambo' environment if using platformio, by specifying '-e rambo' on
* the command line or by changing the value of the 'env_default' variable to
* 'rambo' in the supplied platformio.ini.
*
* If you don't compile using the proper board type, the RAMBo's extended
* pins will likely be unavailable and accessories/addons may not work.
*
* Instructions for installing the Arduino RAMBo board type for the
* Arduino IDE are available at:
* http://reprap.org/wiki/Rambo_firmware
*/
/**
* Rambo pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Rambo"
#define LARGE_FLASH true
//
// Servos
//
#define SERVO0_PIN 22 // Motor header MX1
#define SERVO1_PIN 23 // Motor header MX2
#define SERVO2_PIN 24 // Motor header MX3
#define SERVO3_PIN 5 // PWM header pin 5
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 30
#endif
//
// Limit Switches
//
#define X_MIN_PIN 12
#define X_MAX_PIN 24
#define Y_MIN_PIN 11
#define Y_MAX_PIN 23
#define Z_MIN_PIN 10
#define Z_MAX_PIN 30
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_ENABLE_PIN 28
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64
#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 7
#define HEATER_2_PIN 6
#define HEATER_BED_PIN 3
#define FAN_PIN 8
#define FAN1_PIN 6
#define FAN2_PIN 2
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 4
#define CASE_LIGHT_PIN 46
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 3 // Analog Input
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 45 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 31 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 32
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 84 // 84 in MK2 Firmware
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD)
#define KILL_PIN 80
#if ENABLED(NEWPANEL)
#define LCD_PINS_RS 70
#define LCD_PINS_ENABLE 71
#define LCD_PINS_D4 72
#define LCD_PINS_D5 73
#define LCD_PINS_D6 74
#define LCD_PINS_D7 75
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#define BEEPER_PIN 44
// NB: Panucatt's Viki 2.0 wiring diagram (v1.2) indicates that the
// beeper/buzzer is connected to pin 33; however, the pin used in the
// diagram is actually pin 44, so this is correct.
#define DOGLCD_A0 70
#define DOGLCD_CS 71
#define LCD_SCREEN_ROT_180
#define BTN_EN1 85
#define BTN_EN2 84
#define BTN_ENC 83
#define SD_DETECT_PIN -1 // Pin 72 if using easy adapter board
#define STAT_LED_RED_PIN 22
#define STAT_LED_BLUE_PIN 32
#else
#define BEEPER_PIN 79 // AUX-4
// AUX-2
#define BTN_EN1 76
#define BTN_EN2 77
#define BTN_ENC 78
#define SD_DETECT_PIN 81
#endif // VIKI2/miniVIKI
#else // !NEWPANEL - old style panel with shift register
// No Beeper added
#define BEEPER_PIN 33
// buttons are attached to a shift register
// Not wired yet
//#define SHIFT_CLK 38
//#define SHIFT_LD 42
//#define SHIFT_OUT 40
//#define SHIFT_EN 17
#define LCD_PINS_RS 75
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#endif // !NEWPANEL
#endif // ULTRA_LCD

View File

@ -0,0 +1,413 @@
/**
* 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/>.
*
*/
/**
* Arduino Mega with RAMPS v1.4 (or v1.3) pin assignments
*
* Applies to the following boards:
*
* RAMPS_14_EFB (Hotend, Fan, Bed)
* RAMPS_14_EEB (Hotend0, Hotend1, Bed)
* RAMPS_14_EFF (Hotend, Fan0, Fan1)
* RAMPS_14_EEF (Hotend0, Hotend1, Fan)
* RAMPS_14_SF (Spindle, Controller Fan)
*
* RAMPS_13_EFB (Hotend, Fan, Bed)
* RAMPS_13_EEB (Hotend0, Hotend1, Bed)
* RAMPS_13_EFF (Hotend, Fan0, Fan1)
* RAMPS_13_EEF (Hotend0, Hotend1, Fan)
* RAMPS_13_SF (Spindle, Controller Fan)
*
* Other pins_MYBOARD.h files may override these defaults
*
* Differences between
* RAMPS_13 | RAMPS_14
* 7 | 11
*/
#if ENABLED(IS_REARM)
#error "Oops! use 'pins_RAMPS_RE_ARM.h' when Re-Arm is used."
#endif
#if !ENABLED(IS_RAMPS_SMART) && !ENABLED(IS_RAMPS_DUO) && !ENABLED(IS_RAMPS4DUE) && !ENABLED(TARGET_LPC1768)
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS 1.4"
#endif
#define LARGE_FLASH true
//
// Servos
//
#ifdef IS_RAMPS_13
#define SERVO0_PIN 7 // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI
#else
#define SERVO0_PIN 11
#endif
#define SERVO1_PIN 6
#define SERVO2_PIN 5
#ifndef SERVO3_PIN
#define SERVO3_PIN 4
#endif
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_CS_PIN 53
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_CS_PIN 49
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_CS_PIN 40
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#define E0_CS_PIN 42
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#define E1_CS_PIN 44
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 14 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS 66 // 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
//
// Augmentation for auto-assigning RAMPS plugs
//
#if DISABLED(IS_RAMPS_EEB) && DISABLED(IS_RAMPS_EEF) && DISABLED(IS_RAMPS_EFB) && DISABLED(IS_RAMPS_EFF) && DISABLED(IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
#if HOTENDS > 1
#if TEMP_SENSOR_BED
#define IS_RAMPS_EEB
#else
#define IS_RAMPS_EEF
#endif
#elif TEMP_SENSOR_BED
#define IS_RAMPS_EFB
#else
#define IS_RAMPS_EFF
#endif
#endif
//
// Heaters / Fans
//
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif
#ifndef RAMPS_D8_PIN
#define RAMPS_D8_PIN 8
#endif
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN 9
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN 10
#endif
#define HEATER_0_PIN RAMPS_D10_PIN
#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed
#define FAN_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan
#define HEATER_1_PIN RAMPS_D9_PIN
#define FAN_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
#define HEATER_1_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan
#define FAN_PIN RAMPS_D9_PIN
#define FAN1_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_SF) // Spindle, Fan
#define FAN_PIN RAMPS_D8_PIN
#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
#define FAN_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#if HOTENDS == 1
#define FAN1_PIN MOSFET_D_PIN
#else
#define HEATER_1_PIN MOSFET_D_PIN
#endif
#endif
#ifndef FAN_PIN
#define FAN_PIN 4 // IO pin. Buffer needed
#endif
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 5 // Analog Input on AUX2
#endif
// define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector
#define FIL_RUNOUT_PIN 4
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) && !defined(SPINDLE_LASER_ENABLE_PIN)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
#define CASE_LIGHT_PIN 6 // MUST BE HARDWARE PWM
#elif !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) \
&& (ENABLED(PANEL_ONE) || ENABLED(VIKI2) || ENABLED(miniVIKI) || ENABLED(MINIPANEL) || ENABLED(REPRAPWORLD_KEYPAD))) // try to use AUX 2
#define CASE_LIGHT_PIN 44 // MUST BE HARDWARE PWM
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENABLE)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // try to use servo connector first
#define SPINDLE_LASER_ENABLE_PIN 4 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
#elif !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) \
&& (ENABLED(PANEL_ONE) || ENABLED(VIKI2) || ENABLED(miniVIKI) || ENABLED(MINIPANEL) || ENABLED(REPRAPWORLD_KEYPAD))) // try to use AUX 2
#define SPINDLE_LASER_ENABLE_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 65
#endif
#endif
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 40 // Z_CS_PIN
#define E_MUX1_PIN 42 // E0_CS_PIN
#define E_MUX2_PIN 44 // E1_CS_PIN
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD)
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define LCD_PINS_RS 49 // CS chip select /SS chip slave select
#define LCD_PINS_ENABLE 51 // SID (MOSI)
#define LCD_PINS_D4 52 // SCK (CLK) clock
#elif ENABLED(NEWPANEL) && ENABLED(PANEL_ONE)
#define LCD_PINS_RS 40
#define LCD_PINS_ENABLE 42
#define LCD_PINS_D4 65
#define LCD_PINS_D5 66
#define LCD_PINS_D6 44
#define LCD_PINS_D7 64
#else
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#if DISABLED(NEWPANEL)
#define BEEPER_PIN 33
// Buttons are attached to a shift register
// Not wired yet
//#define SHIFT_CLK 38
//#define SHIFT_LD 42
//#define SHIFT_OUT 40
//#define SHIFT_EN 17
#endif
#endif
#if ENABLED(NEWPANEL)
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 37
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#if ENABLED(BQ_LCD_SMART_CONTROLLER)
#define LCD_BACKLIGHT_PIN 39
#endif
#elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define BTN_EN1 64
#define BTN_EN2 59
#define BTN_ENC 63
#define SD_DETECT_PIN 42
#elif ENABLED(LCD_I2C_PANELOLU2)
#define BTN_EN1 47
#define BTN_EN2 43
#define BTN_ENC 32
#define LCD_SDSS 53
#define SD_DETECT_PIN -1
#define KILL_PIN 41
#elif ENABLED(LCD_I2C_VIKI)
#define BTN_EN1 22 // http://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42.
#define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13.
#define BTN_ENC -1
#define LCD_SDSS 53
#define SD_DETECT_PIN 49
#elif ENABLED(VIKI2) || ENABLED(miniVIKI)
#define BEEPER_PIN 33
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 44
#define DOGLCD_CS 45
#define LCD_SCREEN_ROT_180
#define BTN_EN1 22
#define BTN_EN2 7
#define BTN_ENC 39
#define SDSS 53
#define SD_DETECT_PIN -1 // Pin 49 for display sd interface, 72 for easy adapter board
#define KILL_PIN 31
#define STAT_LED_RED_PIN 32
#define STAT_LED_BLUE_PIN 35
#elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
#define BTN_EN1 35
#define BTN_EN2 37
#define BTN_ENC 31
#define SD_DETECT_PIN 49
#define LCD_SDSS 53
#define KILL_PIN 41
#define BEEPER_PIN 23
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define LCD_BACKLIGHT_PIN 33
#elif ENABLED(MINIPANEL)
#define BEEPER_PIN 42
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 44
#define DOGLCD_CS 66
#define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
#define SDSS 53
#define KILL_PIN 64
// GLCD features
//#define LCD_CONTRAST 190
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
// The encoder and click button
#define BTN_EN1 40
#define BTN_EN2 63
#define BTN_ENC 59
// not connected to a pin
#define SD_DETECT_PIN 49
#else
// Beeper on AUX-4
#define BEEPER_PIN 33
// buttons are directly attached using AUX-2
#if ENABLED(REPRAPWORLD_KEYPAD)
#define BTN_EN1 64
#define BTN_EN2 59
#define BTN_ENC 63
#define SHIFT_OUT 40
#define SHIFT_CLK 44
#define SHIFT_LD 42
#elif ENABLED(PANEL_ONE)
#define BTN_EN1 59 // AUX2 PIN 3
#define BTN_EN2 63 // AUX2 PIN 4
#define BTN_ENC 49 // AUX3 PIN 7
#else
#define BTN_EN1 37
#define BTN_EN2 35
#define BTN_ENC 31
#endif
#if ENABLED(G3D_PANEL)
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#else
//#define SD_DETECT_PIN -1 // Ramps doesn't use this
#endif
#endif
#endif // NEWPANEL
#endif // ULTRA_LCD

View File

@ -0,0 +1,62 @@
/**
* 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/>.
*
*/
/**
* 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! Make sure you have 'Arduino Due' or 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS4DUE"
#endif
#define IS_RAMPS4DUE
#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 -1 // Analog Input
#undef TEMP_BED_PIN
#define TEMP_BED_PIN 10 // Analog Input

View File

@ -0,0 +1,41 @@
/**
* 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/>.
*
*/
/**
* Arduino Mega with RAMPS v1.3 pin assignments
*
* Applies to the following boards:
*
* RAMPS_13_EFB (Extruder, Fan, Bed)
* RAMPS_13_EEB (Extruder, Extruder, Bed)
* RAMPS_13_EFF (Extruder, Fan, Fan)
* RAMPS_13_EEF (Extruder, Extruder, Fan)
* RAMPS_13_SF (Spindle, Controller Fan)
*
*/
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS 1.3"
#endif
#define IS_RAMPS_13
#include "pins_RAMPS.h"

View File

@ -0,0 +1,123 @@
/**
* 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/>.
*
*/
/**
* 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! Make sure you have 'Arduino Due' or 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS Duo"
#endif
#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
#if DISABLED(SDSUPPORT)
#define MAX6675_SS 69 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS 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 ENABLED(ULTRA_LCD)
#if ENABLED(NEWPANEL) && ENABLED(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 // ULTRA_LCD

View File

@ -0,0 +1,148 @@
/**
* 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/>.
*
*/
/**
* RAMPS-FD
*
* No EEPROM
* Use 4k7 thermistor tables
*/
#ifndef __SAM3X8E__
#error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS-FD"
#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
#define X_CS_PIN 68
#define Y_STEP_PIN 65
#define Y_DIR_PIN 64
#define Y_ENABLE_PIN 46
#define Y_CS_PIN 60
#define Z_STEP_PIN 67
#define Z_DIR_PIN 66
#define Z_ENABLE_PIN 44
#define Z_CS_PIN 58
#define E0_STEP_PIN 36
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 42
#define E0_CS_PIN 67
#define E1_STEP_PIN 43
#define E1_DIR_PIN 41
#define E1_ENABLE_PIN 39
#define E1_CS_PIN 61
#define E2_STEP_PIN 32
#define E2_DIR_PIN 47
#define E2_ENABLE_PIN 45
#define E2_CS_PIN 59
//
// 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 53
#else
#define MAX6675_SS 49
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 10
#define HEATER_2_PIN 11
#define HEATER_BED_PIN 8 // BED
#define FAN_PIN 12
#define CONTROLLER_FAN_PIN -1
//
// Misc. Functions
//
#define SDSS 4
#define LED_PIN 13
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD)
#if ENABLED(NEWPANEL)
// ramps-fd lcd adaptor
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 37
#define BTN_EN1 33
#define BTN_EN2 31
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#endif
#endif
#endif // ULTRA_LCD

View File

@ -0,0 +1,38 @@
/**
* 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/>.
*
*/
/**
* RAMPS-FD v2
*
* EEPROM supported
* Use 1k thermistor tables
*/
#define BOARD_NAME "RAMPS-FD v2"
#include "pins_RAMPS_FD.h"
#undef INVERTED_HEATER_PINS
#undef INVERTED_BED_PINS
#undef INVERTED_FAN_PINS
#define I2C_EEPROM

View File

@ -0,0 +1,111 @@
/**
* 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/>.
*
*/
/**
* Arduino Mega with RAMPS v1.0, v1.1, v1.2 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "MEGA/RAMPS <1.2"
// Uncomment the following line for RAMPS v1.0
//#define RAMPS_V_1_0
//
// Limit Switches
//
#define X_MIN_PIN 3
#define X_MAX_PIN 2
#define Y_MIN_PIN 16
#define Y_MAX_PIN 17
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 28
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 38
#define Y_DIR_PIN 40
#define Y_ENABLE_PIN 36
#define Z_STEP_PIN 44
#define Z_DIR_PIN 46
#define Z_ENABLE_PIN 42
#define E0_STEP_PIN 32
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
//
// Temperature Sensors
//
#define TEMP_0_PIN 2 // Analog Input
#define TEMP_BED_PIN 1 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS 66 // 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
//
// Heaters / Fans
//
#if ENABLED(RAMPS_V_1_0)
#define HEATER_0_PIN 12
#define HEATER_BED_PIN -1
#define FAN_PIN 11
#else // RAMPS_V_1_1 or RAMPS_V_1_2
#define HEATER_0_PIN 10
#define HEATER_BED_PIN 8
#define FAN_PIN 9
#endif
//
// Misc. Functions
//
#define SDPOWER 48
#define SDSS 53
#define LED_PIN 13
#define CASE_LIGHT_PIN 45 // MUST BE HARDWARE PWM
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 41 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 45 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 43

View File

@ -0,0 +1,402 @@
/**
* 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/>.
*
*/
/**
* Re-ARM with RAMPS v1.4 pin assignments
*
* Applies to the following boards:
*
* RAMPS_14_EFB (Hotend, Fan, Bed)
* RAMPS_14_EEB (Hotend0, Hotend1, Bed)
* RAMPS_14_EFF (Hotend, Fan0, Fan1)
* RAMPS_14_EEF (Hotend0, Hotend1, Fan)
* RAMPS_14_SF (Spindle, Controller Fan)
*
*/
//#if !defined(TARGET_LPC1768)
#if DISABLED(IS_REARM)
#error "Oops! Make sure you have Re-Arm selected."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "Re-ARM RAMPS 1.4"
#endif
#define LARGE_FLASH true
// unused
#define D57 57
#define D58 58
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN 6 // also on J5-1
#define SERVO2_PIN 5
#define SERVO3_PIN 4 // 5V output - PWM capable
//
// Limit Switches
//
#define X_MIN_PIN 3 //10k pullup to 3.3V, 1K series
#define X_MAX_PIN 2 //10k pullup to 3.3V, 1K series
#define Y_MIN_PIN 14 //10k pullup to 3.3V, 1K series
#define Y_MAX_PIN 15 //10k pullup to 3.3V, 1K series
#define Z_MIN_PIN 18 //10k pullup to 3.3V, 1K series
#define Z_MAX_PIN 19 //10k pullup to 3.3V, 1K series
//#define Z_probe_pin 1 // AUX-1
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#define E2_STEP_PIN 36
#define E2_DIR_PIN 34
#define E2_ENABLE_PIN 30
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN 0 //A0 (T0) - D67 - TEMP_0_PIN
#define TEMP_BED_PIN 1 //A1 (T1) - D68 - TEMP_BED_PIN
#define TEMP_1_PIN 2 //A2 (T2) - D69 - TEMP_1_PIN
#define TEMP_2_PIN 3 //A3 - D63 - J5-3 & AUX-2
#define TEMP_3_PIN 4 //A4 - D37 - BUZZER_PIN
#define TEMP_4_PIN 5 //A5 - D49 - SD_DETECT_PIN
//#define ?? 6 //A6 - D0 - RXD0 - J4-4 & AUX-1
#define FILWIDTH_PIN 7 //A7 - D1 - TXD0 - J4-5 & AUX-1
//
// Augmentation for auto-assigning RAMPS plugs
//
#if DISABLED(IS_RAMPS_EEB) && DISABLED(IS_RAMPS_EEF) && DISABLED(IS_RAMPS_EFB) && DISABLED(IS_RAMPS_EFF) && DISABLED(IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
#if HOTENDS > 1
#if TEMP_SENSOR_BED
#define IS_RAMPS_EEB
#else
#define IS_RAMPS_EEF
#endif
#elif TEMP_SENSOR_BED
#define IS_RAMPS_EFB
#else
#define IS_RAMPS_EFF
#endif
#endif
//
// Heaters / Fans
//
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif
#ifndef RAMPS_D8_PIN
#define RAMPS_D8_PIN 8
#endif
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN 9
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN 10
#endif
#define HEATER_0_PIN RAMPS_D10_PIN
#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed
#define FAN_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan
#define HEATER_1_PIN RAMPS_D9_PIN
#define FAN_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
#define HEATER_1_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan
#define FAN_PIN RAMPS_D9_PIN
#define FAN1_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_SF) // Spindle, Fan
#define FAN_PIN RAMPS_D8_PIN
#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
#define FAN_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#if HOTENDS == 1
#define FAN1_PIN MOSFET_D_PIN
#else
#define HEATER_1_PIN MOSFET_D_PIN
#endif
#endif
#ifndef FAN_PIN
#define FAN_PIN 4 // IO pin. Buffer needed
#endif
//
// Misc. Functions
//
#define LED_PIN 13
// define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector
#define FIL_RUNOUT_PIN 4
#define PS_ON_PIN 12
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) && !defined(SPINDLE_LASER_ENABLE_PIN)
#if !defined(NUM_SERVOS) || NUM_SERVOS < 4 // try to use servo connector
#define CASE_LIGHT_PIN 4 // MUST BE HARDWARE PWM
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) && !PIN_EXISTS(SPINDLE_LASER_ENABLE)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 1 // must use servo connector
#undef SERVO1
#undef SERVO2
#undef SERVO3
#define SPINDLE_LASER_ENABLE_PIN 6 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
#endif
#endif
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 0 // Z_CS_PIN
#define E_MUX1_PIN 1 // E0_CS_PIN
#define E_MUX2_PIN 63 // E1_CS_PIN
/**
* LCD / Controller
*
* All controllers can use J3 and J5 on the Re-ARM board. Custom cabling will be required.
*/
/**
* Smart LCD adapter
*
* The Smart LCD adapter can be used for the two 10 pin LCD controllers such as
* REPRAP_DISCOUNT_SMART_CONTROLLER. It can't be used for controllers that use
* DOGLCD_A0, DOGLCD_CS, LCD_PINS_D5, LCD_PINS_D6 or LCD_PINS_D7. A custom cable
* is needed to pick up 5V for the EXP1 connection.
*
* SD card on the LCD uses the same SPI signals as the LCD. This results in garbage/lines
* on the LCD display during accesses of the SD card. The menus/code has been arranged so
* that the garbage/lines are erased immediately after the SD card accesses are completed.
*/
#if ENABLED(ULTRA_LCD)
#define BEEPER_PIN 37 // not 5V tolerant
#define BTN_EN1 31 // J3-2 & AUX-4
#define BTN_EN2 33 // J3-4 & AUX-4
#define BTN_ENC 35 // J3-3 & AUX-4
#define SD_DETECT_PIN 49 // not 5V tolerant J3-1 & AUX-3
#define KILL_PIN 41 // J5-4 & AUX-4
#define LCD_PINS_RS 16 // J3-7 & AUX-4
#define LCD_SDSS 16 // J3-7 & AUX-4
#define LCD_BACKLIGHT_PIN 16 // J3-7 & AUX-4 - only used on DOGLCD controllers
#define LCD_PINS_ENABLE 51 // (MOSI) J3-10 & AUX-3
#define LCD_PINS_D4 52 // (SCK) J3-9 & AUX-3
#define DOGLCD_A0 59 // J3-8 & AUX-2
#define DOGLCD_CS 63 // J5-3 & AUX-2
#ifdef ULTIPANEL
#define LCD_PINS_D5 71 // ENET_MDIO
#define LCD_PINS_D6 73 // ENET_RX_ER
#define LCD_PINS_D7 75 // ENET_RXD1
#endif
#if ENABLED(NEWPANEL)
#if ENABLED(REPRAPWORLD_KEYPAD)
#define SHIFT_OUT 51 // (MOSI) J3-10 & AUX-3
#define SHIFT_CLK 52 // (SCK) J3-9 & AUX-3
#define SHIFT_LD 49 // not 5V tolerant J3-1 & AUX-3
#endif
#else
//#define SHIFT_CLK 31 // J3-2 & AUX-4
//#define SHIFT_LD 33 // J3-4 & AUX-4
//#define SHIFT_OUT 35 // J3-3 & AUX-4
//#define SHIFT_EN 41 // J5-4 & AUX-4
#endif
#if ENABLED(SDSUPPORT)
#define SDCARD_SORT_ALPHA // Using SORT feature to keep one directory level in RAM
// When going up/down directory levels the SD card is
// accessed but the garbage/lines are removed when the
// LCD updates
// SD Card Sorting options
#if ENABLED(SDCARD_SORT_ALPHA)
#define SDSORT_LIMIT 255 // Maximum number of sorted items (10-256).
#define FOLDER_SORTING -1 // -1=above 0=none 1=below
#define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code.
#define SDSORT_USES_RAM true // Pre-allocate a static array for faster pre-sorting.
#define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.)
#define SDSORT_CACHE_NAMES true // Keep sorted items in RAM longer for speedy performance. Most expensive option.
#define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use!
#endif
#endif
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
// #define LCD_SCREEN_ROT_180
#define SOFTWARE_SPI // temp to see if it fixes the "not found" error
#undef BEEPER_PIN
#define BEEPER_PIN 37 // may change if cable changes
#define BTN_EN1 31 // J3-2 & AUX-4
#define BTN_EN2 33 // J3-4 & AUX-4
#define BTN_ENC 35 // J3-3 & AUX-4
#define SD_DETECT_PIN 49 // not 5V tolerant J3-1 & AUX-3
#define KILL_PIN 41 // J5-4 & AUX-4
#undef DOGLCD_CS
#define DOGLCD_CS 16
#undef LCD_BACKLIGHT_PIN //16 // J3-7 & AUX-4 - only used on DOGLCD controllers
#undef LCD_PINS_ENABLE //51 // (MOSI) J3-10 & AUX-3
#undef LCD_PINS_D4 //52 // (SCK) J3-9 & AUX-3
#undef LCD_PINS_D5 //59 // J3-8 & AUX-2
#define DOGLCD_A0 59 // J3-8 & AUX-2
#undef LCD_PINS_D6 //63 // J5-3 & AUX-2
#undef LCD_PINS_D7 //6 // (SERVO1) J5-1 & SERVO connector
#define DOGLCD_SCK SCK_PIN
#define DOGLCD_MOSI MOSI_PIN
#define STAT_LED_BLUE_PIN 63 // may change if cable changes
#define STAT_LED_RED_PIN 6 // may change if cable changes
#endif
//#define MISO_PIN 50 // system defined J3-10 & AUX-3
//#define MOSI_PIN 51 // system defined J3-10 & AUX-3
//#define SCK_PIN 52 // system defined J3-9 & AUX-3
//#define SS_PIN 53 // system defined J3-5 & AUX-3 - sometimes called SDSS
#if ENABLED(MINIPANEL)
// GLCD features
//#define LCD_CONTRAST 190
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#endif
#endif // ULTRA_LCD
//
// Ethernet pins
//
#ifndef ULTIPANEL
#define ENET_MDIO 71 // J12-4
#define ENET_RX_ER 73 // J12-6
#define ENET_RXD1 75 // J12-8
#endif
#define ENET_MOC 70 // J12-3
#define REF_CLK 72 // J12-5
#define ENET_RXD0 74 // J12-7
#define ENET_CRS 76 // J12-9
#define ENET_TX_EN 77 // J12-10
#define ENET_TXD0 78 // J12-11
#define ENET_TXD1 79 // J12-12
/**
* PWMS
*
* There are 6 PWMS. Each PWM can be assigned to one of two pins.
*
* SERVO2 does NOT have a PWM assigned to it.
*
* PWM1.1 DIO4 SERVO3_PIN FIL_RUNOUT_PIN 5V output, PWM
* PWM1.1 DIO26 E0_STEP_PIN
* PWM1.2 DIO11 SERVO0_PIN
* PWM1.2 DIO54 X_STEP_PIN
* PWM1.3 DIO6 SERVO1_PIN J5-1
* PWM1.3 DIO60 Y_STEP_PIN
* PWM1.4 DIO53 SDSS(SSEL0) J3-5 AUX-3
* PWM1.4 DIO46 Z_STEP_PIN
* PWM1.5 DIO3 X_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.5 DIO9 RAMPS_D9_PIN
* PWM1.6 DIO14 Y_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.6 DIO10 RAMPS_D10_PIN
*/
/**
* The following pins are NOT available in a Re-ARM system
* 7
* 17
* 22
* 23
* 25
* 27
* 29
* 32
* 39
* 40
* 42
* 43
* 44
* 45
* 47
* 64
* 65
* 66
*/
/**
* special pins
* D37 - not 5V tolerant
* D49 - not 5V tolerant
* D57 - open collector
* D58 - open collector
*
*/

View File

@ -0,0 +1,113 @@
/**
* 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/>.
*
*/
/**
* 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
*/
#ifndef __SAM3X8E__
#error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS-SMART"
#endif
#define IS_RAMPS_SMART
#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 10 // Analog Input
#undef TEMP_BED_PIN
#define TEMP_BED_PIN 11 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#undef MAX6675_SS
#define MAX6675_SS 67 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#undef MAX6675_SS
#define MAX6675_SS 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 (not tested)
#if ENABLED(VIKI2)
#undef BEEPER_PIN
#define BEEPER_PIN 66
// Pins for DOGM SPI LCD Support
#undef DOGLCD_A0
#define DOGLCD_A0 59
#undef DOGLCD_A0
#define DOGLCD_CS 44
#undef BTN_EN1
#define BTN_EN1 58
#undef BTN_EN2
#define BTN_EN2 40
#undef BTN_ENC
#define BTN_ENC 67
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 49 // Pin 49 for display sd interface, 72 for easy adapter board
#undef KILL_PIN
#define KILL_PIN 42
#endif

View File

@ -0,0 +1,133 @@
/**
* 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/>.
*
*/
/**
* RIGIDBOARD Arduino Mega with RAMPS v1.4 pin assignments
*/
#define BOARD_NAME "RigidBoard"
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19 // Z-MAX pin J14 End Stops
#endif
//
// MOSFET changes
//
#define RAMPS_D10_PIN 9 // EXTRUDER 1
#define MOSFET_D_PIN 12 // EXTRUDER 2 or FAN
#include "pins_RAMPS.h"
//
// Steppers
//
// RigidBot swaps E0 / E1 plugs vs RAMPS 1.3
#undef E0_STEP_PIN
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#define E0_STEP_PIN 36
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
#undef E1_STEP_PIN
#undef E1_DIR_PIN
#undef E1_ENABLE_PIN
#define E1_STEP_PIN 26
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 24
#define STEPPER_RESET_PIN 41 // Stepper drivers have a reset on RigidBot
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#undef TEMP_1_PIN
#undef TEMP_BED_PIN
#define TEMP_0_PIN 14 // Analog Input
#define TEMP_1_PIN 13 // Analog Input
#define TEMP_BED_PIN 15 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#undef MAX6675_SS
#if DISABLED(SDSUPPORT)
#define MAX6675_SS 53 // Don't use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS 49 // Don't 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
//
// Heaters / Fans
//
#undef HEATER_BED_PIN
#define HEATER_BED_PIN 10
#undef FAN_PIN
#define FAN_PIN 8 // Same as RAMPS_13_EEF
//
// Misc. Functions
//
#undef PS_ON_PIN
#define PS_ON_PIN -1
//
// LCD / Controller
//
// LCD Panel options for the RigidBoard
#if ENABLED(RIGIDBOT_PANEL)
#undef BEEPER_PIN
#define BEEPER_PIN -1
// Direction buttons
#define BTN_UP 37
#define BTN_DWN 35
#define BTN_LFT 33
#define BTN_RT 32
// 'R' button
#undef BTN_ENC
#define BTN_ENC 31
// Disable encoder
#undef BTN_EN1
#define BTN_EN1 -1
#undef BTN_EN2
#define BTN_EN2 -1
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 22
#elif ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 22
#undef KILL_PIN
#define KILL_PIN 32
#endif

View File

@ -0,0 +1,52 @@
/**
* 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/>.
*
*/
/**
* RIGIDBOARD V2 Arduino Mega with RAMPS v1.4 pin assignments
*/
#include "pins_RIGIDBOARD.h"
#undef BOARD_NAME
#define BOARD_NAME "RigidBoard V2"
//
// Steppers
//
// I2C based DAC like on the Printrboard REVF
#define DAC_STEPPER_CURRENT
// Channels available for DAC, For Rigidboard there are 4
#define DAC_STEPPER_ORDER { 0, 1, 2, 3 }
#define DAC_STEPPER_SENSE 0.05 // sense resistors on rigidboard stepper chips are .05 value
#define DAC_STEPPER_ADDRESS 0
#define DAC_STEPPER_MAX 4096 // was 5000 but max allowable value is actually 4096
#define DAC_STEPPER_VREF 1 // internal Vref, gain 2x = 4.096V
#define DAC_STEPPER_GAIN 1 // value of 1 here sets gain of 2
#define DAC_DISABLE_PIN 42 // set low to enable DAC
#define DAC_OR_ADDRESS 0x01
#ifndef DAC_MOTOR_CURRENT_DEFAULT
#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis
#endif

View File

@ -0,0 +1,158 @@
/**
* 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/>.
*
*/
/**
* RUMBA pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#if HOTENDS > 3 || E_STEPPERS > 3
#error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue."
#endif
#define DEFAULT_MACHINE_NAME "Rumba"
#define BOARD_NAME "Rumba"
//
// Servos
//
#define SERVO0_PIN 5
//
// Limit Switches
//
#define X_MIN_PIN 37
#define X_MAX_PIN 36
#define Y_MIN_PIN 35
#define Y_MAX_PIN 34
#define Z_MIN_PIN 33
#define Z_MAX_PIN 32
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 17
#define X_DIR_PIN 16
#define X_ENABLE_PIN 48
#define Y_STEP_PIN 54
#define Y_DIR_PIN 47
#define Y_ENABLE_PIN 55
#define Z_STEP_PIN 57
#define Z_DIR_PIN 56
#define Z_ENABLE_PIN 62
#define E0_STEP_PIN 23
#define E0_DIR_PIN 22
#define E0_ENABLE_PIN 24
#define E1_STEP_PIN 26
#define E1_DIR_PIN 25
#define E1_ENABLE_PIN 27
#define E2_STEP_PIN 29
#define E2_DIR_PIN 28
#define E2_ENABLE_PIN 39
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 6 // Analog Input (connector *K1* on RUMBA thermocouple ADD ON is used)
#else
#define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
#endif
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 5 // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
#else
#define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
#endif
#if TEMP_SENSOR_2 == -1
#define TEMP_2_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_BED is defined as thermocouple)
#else
#define TEMP_2_PIN 13 // Analog Input (default connector for thermistor *T2* on rumba board is used)
#endif
// optional for extruder 4 or chamber:
//#define TEMP_X_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_2 is defined as thermocouple)
#else
#define TEMP_BED_PIN 11 // Analog Input (default connector for thermistor *THB* on rumba board is used)
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_2_PIN 6
#define HEATER_3_PIN 8
#define HEATER_BED_PIN 9
#define FAN_PIN 7
#define FAN1_PIN 8
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 45
#define KILL_PIN 46
#define CASE_LIGHT_PIN 45
//
// LCD / Controller
//
#define SD_DETECT_PIN 49
#define BEEPER_PIN 44
#define LCD_PINS_RS 19
#define LCD_PINS_ENABLE 42
#define LCD_PINS_D4 18
#define LCD_PINS_D5 38
#define LCD_PINS_D6 41
#define LCD_PINS_D7 40
#define BTN_EN1 11
#define BTN_EN2 12
#define BTN_ENC 43
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 14 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 15

View File

@ -0,0 +1,41 @@
/**
* 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/>.
*
*/
/**
* Sainsmart 2-in-1 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Sainsmart 2-in-1 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Sainsmart"
//
// Heaters / Fans
//
#define RAMPS_D10_PIN 9 // E
#define RAMPS_D9_PIN 7 // F PART FAN in front of board next to Extruder heat
// RAMPS_D8_PIN 8 // B
#define MOSFET_D_PIN 10 // F / E
#include "pins_RAMPS.h"

View File

@ -0,0 +1,310 @@
/**
* 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/>.
*
*/
/**
* Sanguinololu board pin assignments
*/
/**
* Rev B 26 DEC 2016
*
* 1) added pointer to a current Arduino IDE extension
* 2) added support for M3, M4 & M5 spindle control commands
* 3) added case light pin definition
*
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "Sanguinololu <1.2"
#endif
#ifdef __AVR_ATmega1284P__
#define LARGE_FLASH true
#endif
//
// Limit Switches
//
#define X_STOP_PIN 18
#define Y_STOP_PIN 19
#define Z_STOP_PIN 20
//
// Steppers
//
#define X_STEP_PIN 15
#define X_DIR_PIN 21
#define Y_STEP_PIN 22
#define Y_DIR_PIN 23
#define Z_STEP_PIN 3
#define Z_DIR_PIN 2
#define E0_STEP_PIN 1
#define E0_DIR_PIN 0
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // Analog Input (pin 33 extruder)
#define TEMP_BED_PIN 6 // Analog Input (pin 34 bed)
//
// Heaters / Fans
//
#define HEATER_0_PIN 13 // (extruder)
#if ENABLED(SANGUINOLOLU_V_1_2)
#define HEATER_BED_PIN 12 // (bed)
#define X_ENABLE_PIN 14
#define Y_ENABLE_PIN 14
#define Z_ENABLE_PIN 26
#define E0_ENABLE_PIN 14
#if ENABLED(LCD_I2C_PANELOLU2)
#define FAN_PIN 4 // Uses Transistor1 (PWM) on Panelolu2's Sanguino Adapter Board to drive the fan
#endif
#else
#define HEATER_BED_PIN 14 // (bed)
#define X_ENABLE_PIN -1
#define Y_ENABLE_PIN -1
#define Z_ENABLE_PIN -1
#define E0_ENABLE_PIN -1
#endif
#if MB(AZTEEG_X1) || MB(STB_11) || ENABLED(IS_MELZI)
#define FAN_PIN 4 // Works for Panelolu2 too
#endif
//
// Misc. Functions
//
/**
* In some versions of the Sanguino libraries the pin
* definitions are wrong, with SDSS = 24 and LED_PIN = 28 (Melzi).
* If you encounter issues with these pins, upgrade your
* Sanguino libraries! See #368.
*/
//#define SDSS 24
#define SDSS 31
#if ENABLED(IS_MELZI)
#define LED_PIN 27
#elif MB(STB_11)
#define LCD_BACKLIGHT_PIN 17 // LCD backlight LED
#endif
#if DISABLED(SPINDLE_LASER_ENABLE) && ENABLED(SANGUINOLOLU_V_1_2) && !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)) // try to use IO Header
#define CASE_LIGHT_PIN 4 // MUST BE HARDWARE PWM - see if IO Header is available
#endif
/**
* Sanguinololu 1.4 AUX pins:
*
* PWM TX1 RX1 SDA SCL
* 12V 5V D12 D11 D10 D17 D16
* GND GND D31 D30 D29 D28 D27
* A4 A3 A2 A1 A0
*/
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)
#if ENABLED(DOGLCD)
#if ENABLED(U8GLIB_ST7920) // SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0
#if ENABLED(IS_MELZI)
#define LCD_PINS_RS 30 // CS chip select /SS chip slave select
#define LCD_PINS_ENABLE 29 // SID (MOSI)
#define LCD_PINS_D4 17 // SCK (CLK) clock
// Pin 27 is taken by LED_PIN, but Melzi LED does nothing with
// Marlin so this can be used for BEEPER_PIN. You can use this pin
// with M42 instead of BEEPER_PIN.
#define BEEPER_PIN 27
#else // Sanguinololu >=1.3
#define LCD_PINS_RS 4
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 30
#define LCD_PINS_D5 29
#define LCD_PINS_D6 28
#define LCD_PINS_D7 27
#endif
#else // DOGM SPI LCD Support
#define DOGLCD_A0 30
#define LCD_CONTRAST 1
#if ENABLED(MAKRPANEL)
#define BEEPER_PIN 29
#define DOGLCD_CS 17
#define LCD_BACKLIGHT_PIN 28 // PA3
#else // !MAKRPANEL
#define DOGLCD_CS 29
#endif
#endif
// Uncomment screen orientation
#define LCD_SCREEN_ROT_0
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#else // !DOGLCD
#define LCD_PINS_RS 4
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 30
#define LCD_PINS_D5 29
#define LCD_PINS_D6 28
#define LCD_PINS_D7 27
#endif // !DOGLCD
#define BTN_EN1 11
#define BTN_EN2 10
#if ENABLED(LCD_I2C_PANELOLU2)
#if ENABLED(IS_MELZI)
#define BTN_ENC 29
#define LCD_SDSS 30 // Panelolu2 SD card reader rather than the Melzi
#else
#define BTN_ENC 30
#endif
#elif ENABLED(LCD_FOR_MELZI)
#define LCD_PINS_RS 17
#define LCD_PINS_ENABLE 16
#define LCD_PINS_D4 11
#define BTN_ENC 28
#define BTN_EN1 29
#define BTN_EN2 30
#ifndef ST7920_DELAY_1
#define ST7920_DELAY_1 DELAY_0_NOP
#endif
#ifndef ST7920_DELAY_3
#define ST7920_DELAY_2 DELAY_3_NOP
#endif
#ifndef ST7920_DELAY_3
#define ST7920_DELAY_3 DELAY_0_NOP
#endif
#else // !LCD_I2C_PANELOLU2 && !LCD_FOR_MELZI
#define BTN_ENC 16
#define LCD_SDSS 28 // Smart Controller SD card reader rather than the Melzi
#endif
#define SD_DETECT_PIN -1
#endif // ULTRA_LCD && NEWPANEL
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE)
#if !MB(AZTEEG_X1) && ENABLED(SANGUINOLOLU_V_1_2) && !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)) // try to use IO Header
#define SPINDLE_LASER_ENABLE_PIN 10 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 11
#elif !MB(MELZI) // use X stepper motor socket
/**
* To control the spindle speed and have an LCD you must sacrifice
* the Extruder and pull some signals off the X stepper driver socket.
*
* The following assumes:
* - The X stepper driver socket is empty
* - The extruder driver socket has a driver board plugged into it
* - The X stepper wires are attached the the extruder connector
*/
/**
* Where to get the spindle signals
*
* spindle signal socket name socket name
* -------
* /ENABLE O| |O VMOT
* MS1 O| |O GND
* MS2 O| |O 2B
* MS3 O| |O 2A
* /RESET O| |O 1A
* /SLEEP O| |O 1B
* SPINDLE_LASER_PWM_PIN STEP O| |O VDD
* SPINDLE_LASER_ENABLE_PIN DIR O| |O GND
* -------
*
* Note: Socket names vary from vendor to vendor.
*/
#undef X_DIR_PIN
#undef X_ENABLE_PIN
#undef X_STEP_PIN
#define X_DIR_PIN 0
#define X_ENABLE_PIN 14
#define X_STEP_PIN 1
#define SPINDLE_LASER_PWM_PIN 15 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 21 // Pin should have a pullup!
#define SPINDLE_DIR_PIN -1 // No pin available on the socket for the direction pin
#endif
#endif // SPINDLE_LASER_ENABLE

View File

@ -0,0 +1,41 @@
/**
* 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/>.
*
*/
/**
* Sanguinololu V1.2 pin assignments
*
* Applies to the following boards:
*
* AZTEEG_X1
* MELZI
* MELZI_CREALITY
* MELZI_MAKR3D
* SANGUINOLOLU_12
* STB_11
*/
#ifndef BOARD_NAME
#define BOARD_NAME "Sanguinololu 1.2"
#endif
#define SANGUINOLOLU_V_1_2
#include "pins_SANGUINOLOLU_11.h"

184
Marlin/src/pins/pins_SAV_MKI.h Executable file
View File

@ -0,0 +1,184 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Rev B 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software.
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
*
* Installation instructions are at the above URL. Don't bother loading the
* libraries - they are not used with the Marlin software.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
*
* Installation:
*
* 1. Go to the above URL, click on the "Clone or Download" button and then
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Teensyduino is the most popular option. Printrboard is used if your board doesn't have
* the Teensyduino bootloader on it.
*/
/**
* To burn the bootloader that comes with Printrboard:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
#ifndef __AVR_AT90USB1286__
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define DEFAULT_MACHINE_NAME "SAV MkI"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config"
#define BOARD_NAME "SAV MkI"
#define LARGE_FLASH true
//
// Servos
//
#define SERVO0_PIN 39 // F1 In teensy's pin definition for pinMode (in servo.cpp)
//
// Limit Switches
//
#define X_STOP_PIN 25 // B5
#define Y_STOP_PIN 26 // B6
//#define Z_STOP_PIN 27 // B7
#define Z_STOP_PIN 36 // E4 For inductive sensor.
//#define E_STOP_PIN 36 // E4
//
// Steppers
//
#define X_STEP_PIN 28 // A0
#define X_DIR_PIN 29 // A1
#define X_ENABLE_PIN 19 // E7
#define Y_STEP_PIN 30 // A2
#define Y_DIR_PIN 31 // A3
#define Y_ENABLE_PIN 18 // E6
#define Z_STEP_PIN 32 // A4
#define Z_DIR_PIN 33 // A5
#define Z_ENABLE_PIN 17 // C7
#define E0_STEP_PIN 34 // A6
#define E0_DIR_PIN 35 // A7
#define E0_ENABLE_PIN 13 // C3
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // F7 Analog Input (Extruder)
#define TEMP_BED_PIN 6 // F6 Analog Input (Bed)
//
// Heaters / Fans
//
#define HEATER_0_PIN 15 // C5 PWM3B - Extruder
#define HEATER_BED_PIN 14 // C4 PWM3C - Bed
#define FAN_PIN 16 // C6 PWM3A
//
// Misc. Functions
//
#define SDSS 20 // B0
// Extension header pin mapping
// ----------------------------
// SCL (I2C)-D0 A0 (An), IO
// SDA (I2C)-D1 A1 (An), IO
// RX1-D2 A2 (An), IO
// TX1-D3 A3 (An), IO
// PWM-D24 A4 (An), IO
// 5V GND
// 12V GND
#define EXT_AUX_SCL_D0 0 // D0 PWM0B
#define EXT_AUX_SDA_D1 1 // D1
#define EXT_AUX_RX1_D2 2 // D2
#define EXT_AUX_TX1_D3 3 // D3
#define EXT_AUX_PWM_D24 24 // B4 PWM2A
#define EXT_AUX_A0 0 // F0 Analog Input
#define EXT_AUX_A0_IO 38 // F0 Digital IO
#define EXT_AUX_A1 1 // F1 Analog Input
#define EXT_AUX_A1_IO 39 // F1 Digital IO
#define EXT_AUX_A2 2 // F2 Analog Input
#define EXT_AUX_A2_IO 40 // F2 Digital IO
#define EXT_AUX_A3 3 // F3 Analog Input
#define EXT_AUX_A3_IO 41 // F3 Digital IO
#define EXT_AUX_A4 4 // F4 Analog Input
#define EXT_AUX_A4_IO 42 // F4 Digital IO
//
// LCD / Controller
//
#define BEEPER_PIN -1
#define LCD_PINS_RS -1
#define LCD_PINS_ENABLE -1
#if ENABLED(SAV_3DLCD)
// For LCD SHIFT register LCD
#define SR_DATA_PIN EXT_AUX_SDA_D1
#define SR_CLK_PIN EXT_AUX_SCL_D0
#endif
#if ENABLED(SAV_3DLCD) || ENABLED(SAV_3DGLCD)
#define BTN_EN1 EXT_AUX_A1_IO
#define BTN_EN2 EXT_AUX_A0_IO
#define BTN_ENC EXT_AUX_PWM_D24
#define KILL_PIN EXT_AUX_A2_IO
#define HOME_PIN EXT_AUX_A4_IO
#else // Use the expansion header for spindle control
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 24 // B4 PWM2A
#define SPINDLE_LASER_ENABLE_PIN 39 // F1 Pin should have a pullup!
#define SPINDLE_DIR_PIN 40 // F2
#define CASE_LIGHT_PIN 0 // D0 PWM0B
#endif

View File

@ -0,0 +1,158 @@
/**
* 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/>.
*
*/
/************************************************
* Rambo pin assignments MODIFIED FOR Scoovo X9H
************************************************/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Scoovo X9H"
#define LARGE_FLASH true
//
// Servos
//
#define SERVO0_PIN 22 // Motor header MX1
#define SERVO1_PIN 23 // Motor header MX2
#define SERVO2_PIN 24 // Motor header MX3
#define SERVO3_PIN 5 // PWM header pin 5
//
// Limit Switches
//
#define X_MIN_PIN 12
#define X_MAX_PIN 24
#define Y_MIN_PIN 11
#define Y_MAX_PIN 23
#define Z_MIN_PIN 10
#define Z_MAX_PIN 30
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 30
#endif
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_ENABLE_PIN 28
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64
#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_BED_PIN 7 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 3
#define FAN_PIN 8
#define FAN1_PIN 6
#define FAN2_PIN 2
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 4
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 3 // Analog Input
#endif
//
// LCD / Controller
//
#define LCD_PINS_RS 70 // Ext2_5
#define LCD_PINS_ENABLE 71 // Ext2_7
#define LCD_PINS_D4 72 // Ext2_9 ?
#define LCD_PINS_D5 73 // Ext2_11 ?
#define LCD_PINS_D6 74 // Ext2_13
#define LCD_PINS_D7 75 // Ext2_15 ?
#define BEEPER_PIN -1
#define BTN_HOME 80 // Ext_16
#define BTN_CENTER 81 // Ext_14
#define BTN_ENC BTN_CENTER
#define BTN_RIGHT 82 // Ext_12
#define BTN_LEFT 83 // Ext_10
#define BTN_UP 84 // Ext2_8
#define BTN_DOWN 85 // Ext2_6
#define HOME_PIN BTN_HOME
#if ENABLED(VIKI2) || ENABLED(miniVIKI)
#define BEEPER_PIN 44
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 70
#define DOGLCD_CS 71
#define LCD_SCREEN_ROT_180
#define SD_DETECT_PIN -1 // Pin 72 if using easy adapter board
#define STAT_LED_RED_PIN 22
#define STAT_LED_BLUE_PIN 32
#endif // VIKI2/miniVIKI

View File

@ -0,0 +1,123 @@
/**
* 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/>.
*
*/
/**
* Sethi 3D_1 pin assignments - www.sethi3d.com.br
*/
/**
* Rev B 26 DEC 2016
*
* added pointer to a current Arduino IDE extension
* this assumes that this board uses the Sanguino pin map
*/
/**
* A useable Arduino IDE extension (board manager) can be found at
* https://github.com/Lauszus/Sanguino
*
* This extension has been tested on Arduino 1.6.12 & 1.8.0
*
* Here's the JSON path:
* https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
*
* When installing select 1.0.2
*
* Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
* Just use the above JSON URL instead of Sparkfun's JSON.
*
* Once installed select the Sanguino board and then select the CPU.
*
*/
#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#error "Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Sethi 3D_1"
#ifndef GEN7_VERSION
#define GEN7_VERSION 12 // v1.x
#endif
//
// Limit Switches
//
#define X_STOP_PIN 2
#define Y_STOP_PIN 0
#define Z_MIN_PIN 1
#define Z_MAX_PIN 0
//
// Steppers
//
#define X_STEP_PIN 19
#define X_DIR_PIN 18
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Z_STEP_PIN 26
#define Z_DIR_PIN 25
#define Z_ENABLE_PIN 24
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 24
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 4
#define HEATER_BED_PIN 3
#if GEN7_VERSION >= 13
// Gen7 v1.3 removed the fan pin
#define FAN_PIN -1
#else
#define FAN_PIN 31
#endif
//
// Misc. Functions
//
#define PS_ON_PIN 15
// All these generations of Gen7 supply thermistor power
// via PS_ON, so ignore bad thermistor readings
#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
// our pin for debugging.
#define DEBUG_PIN 0
// our RS485 pins
#define TX_ENABLE_PIN 12
#define RX_ENABLE_PIN 13

View File

@ -0,0 +1,28 @@
/**
* 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/>.
*
*/
/**
* STB V1.1 pin assignments
*/
#define BOARD_NAME "STB V1.1"
#include "pins_SANGUINOLOLU_12.h"

184
Marlin/src/pins/pins_TEENSY2.h Executable file
View File

@ -0,0 +1,184 @@
/**
* Marlin 3D Printer Firmware
* 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/>.
*
*/
/**
* Rev B 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software.
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
*
* Installation instructions are at the above URL. Don't bother loading the
* libraries - they are not used with the Marlin software.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
*
* Installation:
*
* 1. Go to the above URL, click on the "Clone or Download" button and then
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Teensyduino is the most popular option. Printrboard is used if your board doesn't have
* the Teensyduino bootloader on it.
*/
/**
* To burn the bootloader that comes with Printrboard:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
/**
* Teensy++ 2.0 Breadboard pin assignments (AT90USB1286)
* Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
* http://www.pjrc.com/teensy/teensyduino.html
* See http://reprap.org/wiki/Printrboard for more info
*
* CLI build: HARDWARE_MOTHERBOARD=84 make
*
* DaveX plan for Teensylu/printrboard-type pinouts for a TeensyBreadboard:
* (ref teensylu & sprinter)
*
* USB
* GND GND |-----#####-----| +5V ATX +5SB
* ATX PS_ON PWM 27 |b7 ##### b6| 26 PWM* Stepper Enable
* PWM 0 |d0 b5| 25 PWM*
* PWM 1 |d1 b4| 24 PWM
* X_MIN 2 |d2 b3| 23 MISO_PIN
* Y_MIN 3 |d3 b2| 22 MOSI_PIN
* Z_MIN 4 |d4 * * b1| 21 SCK_PIN
* 5 |d5 e e b0| 20 SDSS
* LED 6 |d6 5 4 e7| 19
* 7 |d7 e6| 18
* LCD RS 8 |e0 | GND
* LCD EN 9 |e1 a4 a0 R| AREF
* LCD D4 10 |c0 a5 a1 f0| 38 A0 ENC_1
* LCD D5 11 |c1 a6 a2 f1| 39 A1 ENC_2
* LCD D6 12 |c2 a7 a3 f2| 40 A2 ENC_CLK
* LCD D6 13 |c3 f3| 41 A3
* Bed Heat PWM 14 |c4 V G R f4| 42 A4
* Extruder Heat PWM 15 |c5 c n S f5| 43 A5
* Fan PWM 16 |c6 c d T f6| 44 A6 Bed TC
* 17 |c7 * * * f7| 45 A7 Extruder TC * 4.7k * +5
* -----------------
*
* Interior E4: 36, INT4
* Interior E5: 37, INT5
* Interior PA0-7: 28-35 -- Printrboard and Teensylu use these pins for step & direction:
* T++ PA Signal Marlin
*
* Z STEP 32 a4 a0 28 X STEP
* Z DIR 33 a5 a1 29 X DIR
* E STEP 34 a6 a2 30 Y STEP
* E DIR 35 a7 a3 31 Y DIR
*/
#ifndef __AVR_AT90USB1286__
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Teensy++2.0"
#define LARGE_FLASH true
//
// Limit Switches
//
#define X_STOP_PIN 2 // D2
#define Y_STOP_PIN 3 // D3
#define Z_STOP_PIN 4 // D4
//
// Steppers
//
#define X_STEP_PIN 28 // A0 Marlin
#define X_DIR_PIN 29 // A1 Marlin
#define X_ENABLE_PIN 26 // B6
#define Y_STEP_PIN 30 // A2 Marlin
#define Y_DIR_PIN 31 // A3
#define Y_ENABLE_PIN 26 // B6 Shared w/x
#define Z_STEP_PIN 32 // A4
#define Z_DIR_PIN 33 // A5
#define Z_ENABLE_PIN 26 // B6 Shared w/x
#define E0_STEP_PIN 34 // A6
#define E0_DIR_PIN 35 // A7
#define E0_ENABLE_PIN 26 // B6 Shared w/x
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // F7 Analog Input (Extruder)
#define TEMP_BED_PIN 6 // F6 Analog Input (Bed)
//
// Heaters / Fans
//
#define HEATER_0_PIN 15 // C5 PWM3B Extruder
#define HEATER_BED_PIN 14 // C4 PWM3C
#define FAN_PIN 16 // C6 PWM3A Fan
//
// Misc. Functions
//
#define SDSS 20 // B0
#define LED_PIN 6 // D6
#define PS_ON_PIN 27 // B7
#define CASE_LIGHT_PIN 1 // D1 PWM2B MUST BE HARDWARE PWM
//
// LCD / Controller
//
#if ENABLED(ULTIPANEL)
#define LCD_PINS_RS 8 // E0
#define LCD_PINS_ENABLE 9 // E1
#define LCD_PINS_D4 10 // C0
#define LCD_PINS_D5 11 // C1
#define LCD_PINS_D6 12 // C2
#define LCD_PINS_D7 13 // C3
#define BTN_EN1 38 // F0
#define BTN_EN2 39 // F1
#define BTN_ENC 40 // F2
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENABLE_PIN 5 // D5 Pin should have a pullup!
#define SPINDLE_LASER_PWM_PIN 0 // D0 PWM0B MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 7 // D7

View File

@ -0,0 +1,130 @@
/****************************************************************************************
* Teensy 3.5 (MK64FX512) and Teensy 3.6 (MK66FX1M0) Breadboard pin assignments
* Requires the Teensyduino software with Teensy 3.5 or Teensy 3.6 selected in Arduino IDE!
* http://www.pjrc.com/teensy/teensyduino.html
*
****************************************************************************************/
#if MOTHERBOARD == 841 // BOARD_TEENSY35_36
#define KNOWN_BOARD 1
#define AT90USB 1286 // Disable MarlinSerial etc.
#if !IS_32BIT_TEENSY
#error Oops! Make sure you have 'Teensy 3.5' or 'Teensy 3.6' selected from the 'Tools -> Boards' menu.
#endif
#if IS_TEENSY35
#define BOARD_NAME "Teensy3.5"
#elif IS_TEENSY36
#define BOARD_NAME "Teensy3.6"
#endif
#define LARGE_FLASH true
#define USBCON //1286 // Disable MarlinSerial etc.
/*
teemuatlut plan for Teensy3.5 and Teensy3.6:
USB
GND |-----#####-----| VIN 5V
X_STEP_PIN MOSI1 RX1 0 | ##### | Analog GND
X_DIR_PIN MISO1 TX1 1 | | 3.3V
Y_STEP_PIN PWM 2 | *NC AREF* | 23 A9 PWM
Y_DIR_PIN SCL2 CAN0TX PWM 3 | *A26 A10* | 22 A8 PWM
Z_STEP_PIN SDA2 CAN0RX PWM 4 | *A25 A11* | 21 A7 PWM CS0 MOSI1 RX1
Z_DIR_PIN MISO1 TX1 PWM 5 | *GND * * 57 | 20 A6 PWM CS0 SCK1 FILWIDTH_PIN
X_ENABLE_PIN PWM 6 | *GND * * 56 | 19 A5 SCL0 E0_STEP_PIN
Y_ENABLE_PIN SCL0 MOSI0 RX3 PWM 7 | * * 55 | 18 A4 SDA0 E0_DIR_PIN
Z_ENABLE_PIN SDA0 MISO0 TX3 PWM 8 | * * 54 | 17 A3 SDA0 E0_ENABLE_PIN
CS0 RX2 PWM 9 | | 16 A2 SCL0 TEMP_0_PIN
CS0 TX2 PWM 10 | | 15 A1 CS0 TEMP_BED_PIN
X_STOP_PIN MOSI0 11 | | 14 A0 PWM CS0 TEMP_1_PIN
Y_STOP_PIN MISO0 12 | | 13 LED SCK0 LED_PIN
3.3V | | GND
Z_STOP_PIN 24 | 40 * * 53 | A22 DAC1
AUX2 25 | 41 * * 52 | A21 DAC0
AUX2 FAN_PIN SCL2 TX1 26 | 42 * * 51 | 39 A20 MISO0 SDSS
AUX2 Z-PROBE PWR SCK0 RX1 27 | * * * * * | 38 A19 PWM SDA1
AUX2 SOL1_PIN MOSI0 28 | 43 * * 50 | 37 A18 PWM SCL1
D10 CONTROLLERFAN_PIN CAN0TX PWM 29 | 44 * * 49 | 36 A17 PWM
D9 HEATER_0_PIN CAN0RX PWM 30 | 45 * * 48 | 35 A16 PWM E1_ENABLE_PIN
D8 HEATER_BED_PIN CS1 RX4 A12 31 | 46 * * 47 | 34 A15 PWM SDA0 RX5 E1_DIR_PIN
SCK1 TX4 A13 32 |__GND_*_*_3.3V_| 33 A14 PWM SCL0 TX5 E1_STEP_PIN
Interior pins:
LCD_PINS_RS 40 * * 53 SCK2
LCD_PINS_ENABLE 41 * * 52 MOSI2
LCD_PINS_D4 42 * * 51 MISO2
LCD_PINS_D5 CS2 43 * * 50 A24
LCD_PINS_D6 MOSI2 44 * * 49 A23
LCD_PINS_D7 MISO2 45 * * 48 TX6 SDA0 BTN_ENC
BTN_EN1 SCK2 46 * * 47 RX6 SCL0 BTN_EN2
GND * * 3.3V
*/
#define X_STEP_PIN 22
#define X_DIR_PIN 21
#define X_ENABLE_PIN 39
#define Y_STEP_PIN 19
#define Y_DIR_PIN 18
#define Y_ENABLE_PIN 20
#define Z_STEP_PIN 38
#define Z_DIR_PIN 37
#define Z_ENABLE_PIN 17
#define E0_STEP_PIN 31
#define E0_DIR_PIN 30
#define E0_ENABLE_PIN 32
#define E1_STEP_PIN 33
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 35
#define HEATER_0_PIN 30
#define HEATER_1_PIN 36
#define HEATER_2_PIN -1
#define HEATER_BED_PIN 31
#define FAN_PIN 2
#define X_STOP_PIN 24
#define Y_STOP_PIN 26
#define Z_STOP_PIN 28
#define TEMP_0_PIN 2 // Extruder / Analog pin numbering: 2 => A2
#define TEMP_BED_PIN 1 // Bed / Analog pin numbering
#define TEMP_1_PIN 0
#define TEMP_2_PIN -1
#define SDPOWER -1
#define SD_DETECT_PIN -1
#define SDSS 39 // 8
#define LED_PIN 13
#define PS_ON_PIN 1
#define KILL_PIN -1
#define ALARM_PIN -1
#define FILWIDTH_PIN 6
#define SOL1_PIN 28
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 13
#define MISO_PIN 12
#define MOSI_PIN 11
#endif
#ifdef ULTRA_LCD
#define LCD_PINS_RS 40
#define LCD_PINS_ENABLE 41
#define LCD_PINS_D4 42
#define LCD_PINS_D5 43
#define LCD_PINS_D6 44
#define LCD_PINS_D7 45
#define BTN_EN1 46
#define BTN_EN2 47
#define BTN_ENC 48
#endif
#endif // MOTHERBOARD == 841 (Teensy3.5 and Teensy3.6)

164
Marlin/src/pins/pins_TEENSYLU.h Executable file
View File

@ -0,0 +1,164 @@
/**
* 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/>.
*
*/
/**
* Rev C 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software. All have been used with Arduino 1.6.12
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
*
* Installation instructions are at the above URL. Don't bother loading the
* libraries - they are not used with the Marlin software.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
* This is basically Teensyduino but with a bootloader that can handle image sizes
* larger than 64K.
*
* Installation:
*
* 1. Go to the above URL, click on the "Clone or Download" button and then
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Teensyduino is the most popular option. Printrboard is used if your board doesn't have
* the Teensyduino bootloader on it.
*/
/**
* To burn the bootloader that comes with Printrboard:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
/**
* SILKSCREEN ERROR
*
* The silkscreen for the endstops do NOT match the schematic. The silkscreen SHOULD
* read (from left to right) X-STOP, Y-STOP, Z-STOP & E-STOP. The silkscreen actually
* reads E-STOP, X-STOP, Y-STOP & Z-STOP.
*
* The pin assignments in this file match the silkscreen.
*/
#if !defined(__AVR_AT90USB1286__) && !defined(__AVR_AT90USB1286P__)
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Teensylu"
#define LARGE_FLASH true
//
// Limit Switch definitions that match the SCHEMATIC
//
//#define X_STOP_PIN 25 // B5
//#define Y_STOP_PIN 26 // B6
//#define Z_STOP_PIN 27 // B7
//#define E_STOP_PIN 36 // E4
//
// Limit Switch definitions that match the SILKSCREEN
//
#define X_STOP_PIN 26 // B6
#define Y_STOP_PIN 27 // B7
#define Z_STOP_PIN 36 // E4
//#define E_STOP_PIN 25 // B5
//
// Steppers
//
#define X_STEP_PIN 28 // A0
#define X_DIR_PIN 29 // A1
#define X_ENABLE_PIN 19 // E7
#define Y_STEP_PIN 30 // A2
#define Y_DIR_PIN 31 // A3
#define Y_ENABLE_PIN 18 // E6
#define Z_STEP_PIN 32 // A4
#define Z_DIR_PIN 33 // A5
#define Z_ENABLE_PIN 17 // C7
#define E0_STEP_PIN 34 // A6
#define E0_DIR_PIN 35 // A7
#define E0_ENABLE_PIN 13 // C3
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // Analog Input (Extruder)
#define TEMP_BED_PIN 6 // Analog Input (Bed)
//
// Heaters / Fans
//
#define HEATER_0_PIN 15 // C5 PWM3B - Extruder
#define HEATER_BED_PIN 14 // C4 PWM3C
#define FAN_PIN 16 // C6 PWM3A
//
// Misc. Functions
//
#define SDSS 20 // B0 JP31-6
#define CASE_LIGHT_PIN 0 // D0 IO-14 PWM0B
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL)
#define BEEPER_PIN -1
#if ENABLED(LCD_I2C_PANELOLU2)
#define BTN_EN1 3 // D3 IO-8
#define BTN_EN2 2 // D2 IO-10
#define BTN_ENC 41 // F3 IO-7
#define SDSS 38 // F0 IO-13 use SD card on Panelolu2
#endif
#define SD_DETECT_PIN -1
#endif // ULTRA_LCD && NEWPANEL
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 24 // B4 IO-3 PWM2A - MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 39 // F1 IO-11 - Pin should have a pullup!
#define SPINDLE_DIR_PIN 40 // F2 IO-9

View File

@ -0,0 +1,135 @@
/**
* 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/>.
*
*/
/**
* Ultiboard v2.0 pin assignments
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for:
* M3, M4 & M5 spindle control commands
* case light
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu."
#endif
#define DEFAULT_MACHINE_NAME "Ultimaker"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/Ultimaker/Marlin"
#define BOARD_NAME "Ultimaker 2.x"
//
// Limit Switches
//
#define X_STOP_PIN 22
#define Y_STOP_PIN 26
#define Z_STOP_PIN 29
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27
#define Y_STEP_PIN 32
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 31
#define Z_STEP_PIN 35
#define Z_DIR_PIN 36
#define Z_ENABLE_PIN 34
#define E0_STEP_PIN 42
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 37
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
#define MOTOR_CURRENT_PWM_XY_PIN 44
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 46
// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
#ifndef MOTOR_CURRENT_PWM_RANGE
#define MOTOR_CURRENT_PWM_RANGE 2000
#endif
#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250}
//
// Temperature Sensors
//
#define TEMP_0_PIN 8 // Analog Input
#define TEMP_1_PIN 9 // Analog Input
#define TEMP_BED_PIN 10 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_BED_PIN 4
#define FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 39
#define LED_PIN 8
#define SAFETY_TRIGGERED_PIN 28 // PIN to detect the safety circuit has triggered
#define MAIN_VOLTAGE_MEASURE_PIN 14 // ANALOG PIN to measure the main voltage, with a 100k - 4k7 resitor divider.
//
// LCD / Controller
//
#define BEEPER_PIN 18
#define LCD_PINS_RS 20
#define LCD_PINS_ENABLE 15
#define LCD_PINS_D4 14
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
// Buttons are directly attached
#define BTN_EN1 40
#define BTN_EN2 41
#define BTN_ENC 19
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE) // use the LED_PIN for spindle speed control or case light
#undef LED_PIN
#define SPINDLE_DIR_PIN 16
#define SPINDLE_LASER_ENABLE_PIN 17 // Pin should have a pullup!
#define SPINDLE_LASER_PWM_PIN 8 // MUST BE HARDWARE PWM
#else
#undef LED_PIN
#define CASE_LIGHT_PIN 8
#endif

View File

@ -0,0 +1,164 @@
/**
* 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/>.
*
*/
/**
* Ultimaker pin assignments
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for:
* M3, M4 & M5 spindle control commands
* case light
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define DEFAULT_MACHINE_NAME "Ultimaker"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/Ultimaker/Marlin"
#define BOARD_NAME "Ultimaker"
#define LARGE_FLASH true
//
// Servos
//
#define SERVO0_PIN 13 // untested
//
// Limit Switches
//
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define Z_MIN_PIN 30
#define Z_MAX_PIN 32
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27
#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 37
#define Z_DIR_PIN 39
#define Z_ENABLE_PIN 35
#define E0_STEP_PIN 43
#define E0_DIR_PIN 45
#define E0_ENABLE_PIN 41
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
//
// Temperature Sensors
//
#define TEMP_0_PIN 8 // Analog Input
#define TEMP_1_PIN 9 // Analog Input
#define TEMP_BED_PIN 10 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_BED_PIN 4
#define FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define SUICIDE_PIN 54 // PIN that has to be turned on right after start, to keep power flowing.
#define CASE_LIGHT_PIN 8
//
// LCD / Controller
//
#if ENABLED(ULTRA_LCD)
#define BEEPER_PIN 18
#if ENABLED(NEWPANEL)
#define LCD_PINS_RS 20
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 16
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
// buttons are directly attached
#define BTN_EN1 40
#define BTN_EN2 42
#define BTN_ENC 19
#define SD_DETECT_PIN 38
#else // !NEWPANEL - Old style panel with shift register
// buttons are attached to a shift register
#define SHIFT_CLK 38
#define SHIFT_LD 42
#define SHIFT_OUT 40
#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 6
#define LCD_PINS_D5 21
#define LCD_PINS_D6 20
#define LCD_PINS_D7 19
#define SD_DETECT_PIN -1
#endif // !NEWPANEL
#endif // ULTRA_LCD
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 9 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 10 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 11 // use the EXP3 PWM header

View File

@ -0,0 +1,283 @@
/**
* 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/>.
*
*/
/**
* Ultimaker pin assignments (Old electronics)
*/
/**
* Rev B 3 JAN 2017
*
* Details on pin definitions for M3, M4 & M5 spindle control commands and for
* the CASE_LIGHT_PIN are at the end of this file.
*
* This started out as an attempt to add pin definitions for M3, M4 & M5 spindle
* control commands but quickly turned into a head scratcher as the sources for
* the revisions provided inconsistent information.
*
* As best I can determine:
* 1.5.3 boards should use the pins_ULTIMAKER.h file which means the BOARD_NAME
* define in this file should say 1.5.3 rather than 1.5.4
* This file is meant for 1.1 - 1.3 boards.
* The endstops for the 1.0 boards use different definitions than on the 1.1 - 1.3
* boards.
*
* I've added sections that have the 1.0 and 1.5.3 + endstop definitions so you can
* easily switch if needed. I've also copied over the 1.5.3 + LCD definitions.
*
* To be 100% sure of the board you have:
* 1. In Configuration_adv.h enable "PINS_DEBUGGING"
* 2. Compile & uploade
* 3. Enter the command "M43 W1 I1". This command will report that pin nmumber and
* name of any pin that changes state.
* 4. Using a 1k (approximately) resistor pull the endstops and some of the LCD pins
* to ground and see what is reported.
* 5. If the reported pin doesn't match the file then try a different board revision
* and repeat steps 2 - 5
*/
#define board_rev_1_1_TO_1_3
//#define board_rev_1_0
//#define board_rev_1_5
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
#define DEFAULT_MACHINE_NAME "Ultimaker"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/Ultimaker/Marlin"
#define BOARD_NAME "Ultimaker <1.5.4"
#define LARGE_FLASH true
//
// Limit Switches
//
#if ENABLED(board_rev_1_1_TO_1_3)
#define X_MIN_PIN 15 // SW1
#define X_MAX_PIN 14 // SW2
#define Y_MIN_PIN 17 // SW3
#define Y_MAX_PIN 16 // SW4
#define Z_MIN_PIN 19 // SW5
#define Z_MAX_PIN 18 // SW6
#endif
#if ENABLED(board_rev_1_0)
#define X_MIN_PIN 13 // SW1
#define X_MAX_PIN 12 // SW2
#define Y_MIN_PIN 11 // SW3
#define Y_MAX_PIN 10 // SW4
#define Z_MIN_PIN 9 // SW5
#define Z_MAX_PIN 8 // SW6
#endif
#if ENABLED(board_rev_1_5)
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define Z_MIN_PIN 30
#define Z_MAX_PIN 32
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN Z_MAX_PIN
#endif
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27
#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 37
#define Z_DIR_PIN 39
#define Z_ENABLE_PIN 35
#define E0_STEP_PIN 43
#define E0_DIR_PIN 45
#define E0_ENABLE_PIN 41
#define E1_STEP_PIN -1 // 49
#define E1_DIR_PIN -1 // 47
#define E1_ENABLE_PIN -1 // 48
//
// Temperature Sensors
//
#define TEMP_0_PIN 8 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
//#define HEATER_1_PIN 3 // used for case light Rev A said "1"
#define HEATER_BED_PIN 4
//
// LCD / Controller
//
#if ENABLED(board_rev_1_0) || ENABLED(board_rev_1_1_TO_1_3)
#define LCD_PINS_RS 24
#define LCD_PINS_ENABLE 22
#define LCD_PINS_D4 36
#define LCD_PINS_D5 34
#define LCD_PINS_D6 32
#define LCD_PINS_D7 30
#elif ENABLED(board_rev_1_5) && ENABLED(ULTRA_LCD)
#define BEEPER_PIN 18
#if ENABLED(NEWPANEL)
#define LCD_PINS_RS 20
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 16
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
// buttons are directly attached
#define BTN_EN1 40
#define BTN_EN2 42
#define BTN_ENC 19
#define SD_DETECT_PIN 38
#else // !NEWPANEL - Old style panel with shift register
// buttons are attached to a shift register
#define SHIFT_CLK 38
#define SHIFT_LD 42
#define SHIFT_OUT 40
#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 6
#define LCD_PINS_D5 21
#define LCD_PINS_D6 20
#define LCD_PINS_D7 19
#define SD_DETECT_PIN -1
#endif // !NEWPANEL
#endif // ULTRA_LCD
//
// case light - see spindle section for more info on available hardware PWMs
//
#if !PIN_EXISTS(CASE_LIGHT) && ENABLED(board_rev_1_5)
#define CASE_LIGHT_PIN 7 // use PWM - MUST BE HARDWARE PWM
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE)
#if ENABLED(board_rev_1_0) // use the last three SW positions
#undef Z_MIN_PROBE_PIN
#undef X_MIN_PIN // SW1
#undef X_MAX_PIN // SW2
#undef Y_MIN_PIN // SW3
#undef Y_MAX_PIN // SW4
#undef Z_MIN_PIN // SW5
#undef Z_MAX_PIN // SW6
#define X_STOP_PIN 13 // SW1 (didn't change) - also has a useable hardware PWM
#define Y_STOP_PIN 12 // SW2
#define Z_STOP_PIN 11 // SW3
#define SPINDLE_DIR_PIN 10 // SW4
#define SPINDLE_LASER_PWM_PIN 9 // SW5 MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 8 // SW6 Pin should have a pullup!
#elif ENABLED(board_rev_1_5) // use the same pins - but now they are on a different connector
#define SPINDLE_DIR_PIN 10 // EXP3-6 (silkscreen says 10)
#define SPINDLE_LASER_PWM_PIN 9 // EXP3-7 (silkscreen says 9) MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 8 // EXP3-8 (silkscreen says 8) Pin should have a pullup!
#elif ENABLED(board_rev_1_1_TO_1_3)
/**
* Only four hardware PWMs physically connected to anything on these boards:
*
* HEATER_0_PIN 2 silkscreen varies - usually "PWM 1" or "HEATER1"
* HEATER_1_PIN 3 silkscreen varies - usually "PWM 2" or "HEATER2"
* HEATER_BED_PIN 4 silkscreen varies - usually "PWM 3" or "HEATED BED"
* E0_DIR_PIN 45
*
* If one of the heaters is used then special precautions will usually be needed.
* They have an LED and resistor pullup to +24V which could damage 3.3V-5V ICs.
*/
#if EXTRUDERS == 1 // Move E0 stepper module to the spare and get signals from E0
#undef E0_STEP_PIN
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#define E0_STEP_PIN 49
#define E0_DIR_PIN 47
#define E0_ENABLE_PIN 48
#define SPINDLE_DIR_PIN 43
#define SPINDLE_LASER_PWM_PIN 45 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENABLE_PIN 41 // Pin should have a pullup!
#elif TEMP_SENSOR_BED == 0 // Can't use E0 so see if HEATER_BED_PIN is available
#undef HEATER_BED_PIN
#define SPINDLE_DIR_PIN 38 // Probably pin 4 on 10 pin connector closest to the E0 socket
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM - Special precautions usually needed.
#define SPINDLE_LASER_ENABLE_PIN 40 // Pin should have a pullup! (Probably pin 6 on the 10-pin
// connector closest to the E0 socket)
#endif
#endif
#endif
/**
* Where to get the spindle signals on the E0 socket
*
* spindle signal socket name socket name
* -------
* SPINDLE_LASER_ENABLE_PIN /ENABLE *| |O VMOT
* MS1 O| |O GND
* MS2 O| |O 2B
* MS3 O| |O 2A
* /RESET O| |O 1A
* /SLEEP O| |O 1B
* SPINDLE_DIR_PIN STEP O| |O VDD
* SPINDLE_LASER_PWM_PIN DIR O| |O GND
* -------
* * - pin closest to MS1, MS2 & MS3 jumpers on the board
*
* Note: Socket names vary from vendor to vendor.
*/

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/>.
*
*/
/**
* ZRIB V2.0 pin assignments
*/
#define ZRIB_V20_D6_PIN 6
#define ZRIB_V20_D9_PIN 9
#define RAMPS_D9_PIN ZRIB_V20_D6_PIN
#define ORIG_E0_AUTO_FAN_PIN ZRIB_V20_D9_PIN
#define ORIG_E1_AUTO_FAN_PIN ZRIB_V20_D9_PIN
#define ORIG_E2_AUTO_FAN_PIN ZRIB_V20_D9_PIN
#define ORIG_E3_AUTO_FAN_PIN ZRIB_V20_D9_PIN
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 11 // Analog Input
#endif
#include "pins_MKS_13.h"