/** * 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 . * */ /** * Arduino Mega with RAMPS v1.4 adjusted pin assignments * * MKS GEN v1.3 (Extruder, Fan, Bed) * MKS GEN v1.3 (Extruder, Extruder, Fan, Bed) * MKS GEN v1.4 (Extruder, Fan, Bed) * MKS GEN v1.4 (Extruder, Extruder, Fan, Bed) */ #if HOTENDS > 2 || E_STEPPERS > 2 #error "MKS GEN 1.3/1.4 supports up to 2 hotends / E-steppers. Comment out this line to continue." #endif #define BOARD_NAME "MKS GEN >= 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" // // TBA // Define global dummy pin // #define DUMMY_PIN 5 // // TBA // Set E0 to dummy port, set E1 to E0 and E2 to E1 // This is used to mirror X and Y axes // #undef E0_STEP_PIN #undef E0_DIR_PIN #undef E0_ENABLE_PIN #undef E0_CS_PIN #undef E1_STEP_PIN #undef E1_DIR_PIN #undef E1_ENABLE_PIN #undef E1_CS_PIN #define E0_STEP_PIN DUMMY_PIN #define E0_DIR_PIN DUMMY_PIN #define E0_ENABLE_PIN DUMMY_PIN #define E0_CS_PIN DUMMY_PIN #define E1_STEP_PIN 26 #define E1_DIR_PIN 28 #define E1_ENABLE_PIN 24 #define E1_CS_PIN 42 #define E2_STEP_PIN 36 #define E2_DIR_PIN 34 #define E2_ENABLE_PIN 30 #define E2_CS_PIN 44 // // TBA // Set Spindle pin to E0 (tuned on with M03) // #undef HEATER_0_PIN #define HEATER_0_PIN DUMMY_PIN #undef SPINDLE_LASER_ENABLE_PIN #define SPINDLE_LASER_ENABLE_PIN 10 // // 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