Created
November 26, 2011 13:45
-
-
Save justjoheinz/1395694 to your computer and use it in GitHub Desktop.
Marlin Config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef __CONFIGURATION_H | |
#define __CONFIGURATION_H | |
// This determines the communication speed of the printer | |
//#define BAUDRATE 250000 | |
#define BAUDRATE 115200 | |
//#define BAUDRATE 230400 | |
// Frequency limit | |
// See nophead's blog for more info | |
// Not working O | |
//#define XY_FREQUENCY_LIMIT 15 | |
// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end | |
// of the buffer and all stops. This should not be much greater than zero and should only be changed | |
// if unwanted behavior is observed on a user's machine when running at very slow speeds. | |
#define MINIMUM_PLANNER_SPEED 2.0 // (mm/sec) | |
// If defined the movements slow down when the look ahead buffer is only half full | |
#define SLOWDOWN | |
// BASIC SETTINGS: select your board type, thermistor type, axis scaling, and endstop configuration | |
//// The following define selects which electronics board you have. Please choose the one that matches your setup | |
// MEGA/RAMPS up to 1.2 = 3, | |
// RAMPS 1.3 = 33 | |
// Gen6 = 5, | |
// Sanguinololu 1.2 and above = 62 | |
// Ultimaker = 7, | |
// Teensylu = 8 | |
#define MOTHERBOARD 3 | |
//=========================================================================== | |
//=============================Thermal Settings ============================ | |
//=========================================================================== | |
//// Thermistor settings: | |
// 1 is 100k thermistor | |
// 2 is 200k thermistor | |
// 3 is mendel-parts thermistor | |
// 4 is 10k thermistor | |
// 5 is ParCan supplied 104GT-2 100K | |
// 6 is EPCOS 100k | |
// 7 is 100k Honeywell thermistor 135-104LAG-J01 | |
#define THERMISTORHEATER_0 1 | |
//#define THERMISTORHEATER_1 3 | |
#define THERMISTORBED 1 | |
#define HEATER_0_USES_THERMISTOR | |
//#define HEATER_1_USES_THERMISTOR | |
//#define HEATER_0_USES_AD595 | |
//#define HEATER_1_USES_AD595 | |
// Select one of these only to define how the bed temp is read. | |
#define BED_USES_THERMISTOR | |
//#define BED_USES_AD595 | |
#define BED_CHECK_INTERVAL 5000 //ms | |
//// Experimental watchdog and minimal temp | |
// The watchdog waits for the watchperiod in milliseconds whenever an M104 or M109 increases the target temperature | |
// If the temperature has not increased at the end of that period, the target temperature is set to zero. It can be reset with another M104/M109 | |
/// CURRENTLY NOT IMPLEMENTED AND UNUSEABLE | |
//#define WATCHPERIOD 5000 //5 seconds | |
// Actual temperature must be close to target for this long before M109 returns success | |
//#define TEMP_RESIDENCY_TIME 20 // (seconds) | |
//#define TEMP_HYSTERESIS 5 // (C°) range of +/- temperatures considered "close" to the target one | |
//// The minimal temperature defines the temperature below which the heater will not be enabled | |
//#define HEATER_0_MINTEMP 5 | |
//#define HEATER_1_MINTEMP 5 | |
//#define BED_MINTEMP 1 | |
// When temperature exceeds max temp, your heater will be switched off. | |
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! | |
// You should use MINTEMP for thermistor short/failure protection. | |
//#define HEATER_0_MAXTEMP 275 | |
//#define HEATER_1_MAXTEMP 275 | |
//#define BED_MAXTEMP 150 | |
// PID settings: | |
// Uncomment the following line to enable PID support. | |
//#define PIDTEMP | |
#ifdef PIDTEMP | |
#if MOTHERBOARD == 62 | |
#error Sanguinololu does not support PID, sorry. Please disable it. | |
#endif | |
//#define PID_DEBUG // Sends debug data to the serial port. | |
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104 sets the output power in % | |
#define PID_MAX 255 // limits current to nozzle; 255=full current | |
#define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term | |
#define K1 0.95 //smoothing factor withing the PID | |
#define PID_dT 0.1 //sampling period of the PID | |
//To develop some PID settings for your machine, you can initiall follow | |
// the Ziegler-Nichols method. | |
// set Ki and Kd to zero. | |
// heat with a defined Kp and see if the temperature stabilizes | |
// ideally you do this graphically with repg. | |
// the PID_CRITIAL_GAIN should be the Kp at which temperature oscillatins are not dampned out/decreas in amplitutde | |
// PID_SWING_AT_CRITIAL is the time for a full period of the oscillations at the critical Gain | |
// usually further manual tunine is necessary. | |
#define PID_CRITIAL_GAIN 50 | |
#define PID_SWING_AT_CRITIAL 47 //seconds | |
//#define PID_PI //no differentail term | |
#define PID_PID //normal PID | |
#ifdef PID_PID | |
//PID according to Ziegler-Nichols method | |
// #define DEFAULT_Kp (0.6*PID_CRITIAL_GAIN) | |
// #define DEFAULT_Ki (2*Kp/PID_SWING_AT_CRITIAL*PID_dT) | |
// #define DEFAULT_Kd (PID_SWING_AT_CRITIAL/8./PID_dT) | |
// Ultitmaker | |
#define DEFAULT_Kp 22.2 | |
#define DEFAULT_Ki (1.25*PID_dT) | |
#define DEFAULT_Kd (99/PID_dT) | |
// Mendel Parts V9 on 12V | |
// #define DEFAULT_Kp 63.0 | |
// #define DEFAULT_Ki (2.25*PID_dT) | |
// #define DEFAULT_Kd (440/PID_dT) | |
#endif | |
#ifdef PID_PI | |
//PI according to Ziegler-Nichols method | |
#define DEFAULT_Kp (PID_CRITIAL_GAIN/2.2) | |
#define DEFAULT_Ki (1.2*Kp/PID_SWING_AT_CRITIAL*PID_dT) | |
#define DEFAULT_Kd (0) | |
#endif | |
// this adds an experimental additional term to the heatingpower, proportional to the extrusion speed. | |
// if Kc is choosen well, the additional required power due to increased melting should be compensated. | |
#define PID_ADD_EXTRUSION_RATE | |
#ifdef PID_ADD_EXTRUSION_RATE | |
#define DEFAULT_Kc (3) //heatingpower=Kc*(e_speed) | |
#endif | |
#endif // PIDTEMP | |
//=========================================================================== | |
//=============================Mechanical Settings=========================== | |
//=========================================================================== | |
// Endstop Settings | |
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors | |
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. | |
const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. | |
const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. | |
const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. | |
// For optos H21LOB set to true, for Mendel-Parts newer optos TCST2103 set to false | |
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 | |
#define X_ENABLE_ON 0 | |
#define Y_ENABLE_ON 0 | |
#define Z_ENABLE_ON 0 | |
#define E_ENABLE_ON 0 | |
// Disables axis when it's not being used. | |
#define DISABLE_X false | |
#define DISABLE_Y false | |
#define DISABLE_Z true | |
#define DISABLE_E false | |
// Inverting axis direction | |
//#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true | |
//#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false | |
//#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true | |
//#define INVERT_E_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false | |
#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true | |
#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false | |
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true | |
#define INVERT_E_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false | |
//// ENDSTOP SETTINGS: | |
// Sets direction of endstops when homing; 1=MAX, -1=MIN | |
#define X_HOME_DIR -1 | |
#define Y_HOME_DIR -1 | |
#define Z_HOME_DIR 1 | |
#define min_software_endstops false //If true, axis won't move to coordinates less than zero. | |
#define max_software_endstops false //If true, axis won't move to coordinates greater than the defined lengths below. | |
#define X_MAX_LENGTH 210 | |
#define Y_MAX_LENGTH 210 | |
#define Z_MAX_LENGTH 210 | |
//// MOVEMENT SETTINGS | |
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E | |
#define HOMING_FEEDRATE {50*60, 50*60, 2*60, 0} // set the homing speeds (mm/min) | |
#define AXIS_RELATIVE_MODES {false, false, false, false} | |
#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step) | |
// default settings | |
#define DEFAULT_AXIS_STEPS_PER_UNIT {94.1397046, 94.1397046, 2560,96.52} // default steps per unit for ultimaker | |
//#define DEFAULT_AXIS_STEPS_PER_UNIT {40, 40, 3333.92, 67} //sells mendel with v9 extruder | |
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 200000} // (mm/sec) | |
#define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. | |
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves | |
#define DEFAULT_RETRACT_ACCELERATION 7000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts | |
#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate | |
#define DEFAULT_MINTRAVELFEEDRATE 0.0 | |
// minimum time in microseconds that a movement needs to take if the buffer is emptied. Increase this number if you see blobs while printing high speed & high detail. It will slowdown on the detailed stuff. | |
#define DEFAULT_MINSEGMENTTIME 20000 // Obsolete delete this | |
#define DEFAULT_XYJERK 30.0 // (mm/sec) | |
#define DEFAULT_ZJERK 0.4 // (mm/sec) | |
//=========================================================================== | |
//=============================Additional Features=========================== | |
//=========================================================================== | |
// EEPROM | |
// the microcontroller can store settings in the EEPROM, e.g. max velocity... | |
// M500 - stores paramters in EEPROM | |
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). | |
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. | |
//define this to enable eeprom support | |
#define EEPROM_SETTINGS | |
//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: | |
// please keep turned on if you can. | |
#define EEPROM_CHITCHAT | |
// The hardware watchdog should halt the Microcontroller, in case the firmware gets stuck somewhere. However: | |
// the Watchdog is not working well, so please only enable this for testing | |
// this enables the watchdog interrupt. | |
//#define USE_WATCHDOG | |
//#ifdef USE_WATCHDOG | |
// you cannot reboot on a mega2560 due to a bug in he bootloader. Hence, you have to reset manually, and this is done hereby: | |
//#define RESET_MANUAL | |
//#define WATCHDOG_TIMEOUT 4 //seconds | |
//#endif | |
// extruder advance constant (s2/mm3) | |
// | |
// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTUDER_ADVANCE_K * cubic mm per second ^ 2 | |
// | |
// hooke's law says: force = k * distance | |
// bernoulli's priniciple says: v ^ 2 / 2 + g . h + pressure / density = constant | |
// so: v ^ 2 is proportional to number of steps we advance the extruder | |
//#define ADVANCE | |
#ifdef ADVANCE | |
#define EXTRUDER_ADVANCE_K .3 | |
#define D_FILAMENT 1.7 | |
#define STEPS_MM_E 65 | |
#define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) | |
#define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA) | |
#endif // ADVANCE | |
//LCD and SD support | |
//#define ULTRA_LCD //general lcd support, also 16x2 | |
//#define SDSUPPORT // Enable SD Card Support in Hardware Console | |
//#define ULTIPANEL | |
#ifdef ULTIPANEL | |
//#define NEWPANEL //enable this if you have a click-encoder panel | |
#define SDSUPPORT | |
#define ULTRA_LCD | |
#define LCD_WIDTH 20 | |
#define LCD_HEIGHT 4 | |
#else //no panel but just lcd | |
#ifdef ULTRA_LCD | |
#define LCD_WIDTH 16 | |
#define LCD_HEIGHT 2 | |
#endif | |
#endif | |
// A debugging feature to compare calculated vs performed steps, to see if steps are lost by the software. | |
//#define DEBUG_STEPS | |
// Arc interpretation settings: | |
#define MM_PER_ARC_SEGMENT 1 | |
#define N_ARC_CORRECTION 25 | |
//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode. | |
//The maximum buffered steps/sec of the extruder motor are called "se". | |
//You enter the autotemp mode by a M109 S<mintemp> T<maxtemp> F<factor> | |
// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp | |
// you exit the value by any M109 without F* | |
// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp. | |
// on an ultimaker, some initial testing worked with M109 S215 T260 F0.1 in the start.gcode | |
//#define AUTOTEMP | |
#ifdef AUTOTEMP | |
#define AUTOTEMP_OLDWEIGHT 0.98 | |
#endif | |
const int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement | |
//=========================================================================== | |
//=============================Buffers ============================ | |
//=========================================================================== | |
// The number of linear motions that can be in the plan at any give time. | |
// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ringbuffering. | |
#if defined SDSUPPORT | |
#define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller | |
#else | |
#define BLOCK_BUFFER_SIZE 16 // maximize block buffer | |
#endif | |
//The ASCII buffer for recieving from the serial: | |
#define MAX_CMD_SIZE 96 | |
#define BUFSIZE 4 | |
#include "thermistortables.h" | |
#endif //__CONFIGURATION_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef PINS_H | |
#define PINS_H | |
/**************************************************************************************** | |
* Arduino pin assignment | |
* | |
* ATMega168 | |
* +-\/-+ | |
* PC6 1| |28 PC5 (AI 5 / D19) | |
* (D 0) PD0 2| |27 PC4 (AI 4 / D18) | |
* (D 1) PD1 3| |26 PC3 (AI 3 / D17) | |
* (D 2) PD2 4| |25 PC2 (AI 2 / D16) | |
* PWM+ (D 3) PD3 5| |24 PC1 (AI 1 / D15) | |
* (D 4) PD4 6| |23 PC0 (AI 0 / D14) | |
* VCC 7| |22 GND | |
* GND 8| |21 AREF | |
* PB6 9| |20 AVCC | |
* PB7 10| |19 PB5 (D 13) | |
* PWM+ (D 5) PD5 11| |18 PB4 (D 12) | |
* PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM | |
* (D 7) PD7 13| |16 PB2 (D 10) PWM | |
* (D 8) PB0 14| |15 PB1 (D 9) PWM | |
* +----+ | |
****************************************************************************************/ | |
#if MOTHERBOARD == 0 | |
#define KNOWN_BOARD 1 | |
#ifndef __AVR_ATmega168__ | |
#error Oops! Make sure you have 'Arduino Diecimila' selected from the boards menu. | |
#endif | |
#define X_STEP_PIN 2 | |
#define X_DIR_PIN 3 | |
#define X_ENABLE_PIN -1 | |
#define X_MIN_PIN 4 | |
#define X_MAX_PIN 9 | |
#define Y_STEP_PIN 10 | |
#define Y_DIR_PIN 7 | |
#define Y_ENABLE_PIN -1 | |
#define Y_MIN_PIN 8 | |
#define Y_MAX_PIN 13 | |
#define Z_STEP_PIN 19 | |
#define Z_DIR_PIN 18 | |
#define Z_ENABLE_PIN 5 | |
#define Z_MIN_PIN 17 | |
#define Z_MAX_PIN 16 | |
#define E_STEP_PIN 11 | |
#define E_DIR_PIN 12 | |
#define E_ENABLE_PIN -1 | |
#define SDPOWER -1 | |
#define SDSS -1 | |
#define LED_PIN -1 | |
#define FAN_PIN -1 | |
#define PS_ON_PIN 15 | |
#define KILL_PIN -1 | |
#define HEATER_0_PIN 6 | |
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! | |
#define HEATER_1_PIN -1 | |
#define HEATER_2_PIN -1 | |
#endif | |
/**************************************************************************************** | |
* Sanguino/RepRap Motherboard with direct-drive extruders | |
* | |
* ATMega644P | |
* | |
* +---\/---+ | |
* (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 | |
* +--------+ | |
* | |
****************************************************************************************/ | |
#if MOTHERBOARD == 1 | |
#define KNOWN_BOARD 1 | |
#ifndef __AVR_ATmega644P__ | |
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. | |
#endif | |
#define X_STEP_PIN 15 | |
#define X_DIR_PIN 18 | |
#define X_ENABLE_PIN 19 | |
#define X_MIN_PIN 20 | |
#define X_MAX_PIN 21 | |
#define Y_STEP_PIN 23 | |
#define Y_DIR_PIN 22 | |
#define Y_ENABLE_PIN 19 | |
#define Y_MIN_PIN 25 | |
#define Y_MAX_PIN 26 | |
#define Z_STEP_PIN 29 | |
#define Z_DIR_PIN 30 | |
#define Z_ENABLE_PIN 31 | |
#define Z_MIN_PIN 2 | |
#define Z_MAX_PIN 1 | |
#define E_STEP_PIN 12 | |
#define E_DIR_PIN 16 | |
#define E_ENABLE_PIN 3 | |
#define SDPOWER -1 | |
#define SDSS -1 | |
#define LED_PIN 0 | |
#define FAN_PIN -1 | |
#define PS_ON_PIN -1 | |
#define KILL_PIN -1 | |
#define HEATER_0_PIN 14 | |
#define TEMP_0_PIN 4 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! | |
#define HEATER_1_PIN -1 | |
#define HEATER_2_PIN -1 | |
/* 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) */ | |
#endif | |
/**************************************************************************************** | |
* RepRap Motherboard ****---NOOOOOO RS485/EXTRUDER CONTROLLER!!!!!!!!!!!!!!!!!---******* | |
* | |
****************************************************************************************/ | |
#if MOTHERBOARD == 2 | |
#define KNOWN_BOARD 1 | |
#ifndef __AVR_ATmega644P__ | |
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. | |
#endif | |
#define X_STEP_PIN 15 | |
#define X_DIR_PIN 18 | |
#define X_ENABLE_PIN 19 | |
#define X_MIN_PIN 20 | |
#define X_MAX_PIN 21 | |
#define Y_STEP_PIN 23 | |
#define Y_DIR_PIN 22 | |
#define Y_ENABLE_PIN 24 | |
#define Y_MIN_PIN 25 | |
#define Y_MAX_PIN 26 | |
#define Z_STEP_PINN 27 | |
#define Z_DIR_PINN 28 | |
#define Z_ENABLE_PIN 29 | |
#define Z_MIN_PIN 30 | |
#define Z_MAX_PIN 31 | |
#define E_STEP_PIN 17 | |
#define E_DIR_PIN 16 | |
#define E_ENABLE_PIN -1 | |
#define SDPOWER -1 | |
#define SDSS 4 | |
#define LED_PIN 0 | |
#define SD_CARD_WRITE 2 | |
#define SD_CARD_DETECT 3 | |
#define SD_CARD_SELECT 4 | |
//our RS485 pins | |
#define TX_ENABLE_PIN 12 | |
#define RX_ENABLE_PIN 13 | |
//pin for controlling the PSU. | |
#define PS_ON_PIN 14 | |
#define FAN_PIN -1 | |
#define KILL_PIN -1 | |
#define HEATER_0_PIN -1 | |
#define TEMP_0_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! | |
#define HEATER_1_PIN -1 | |
#define HEATER_2_PIN -1 | |
#endif | |
/**************************************************************************************** | |
* Arduino Mega pin assignment | |
* | |
****************************************************************************************/ | |
#if MOTHERBOARD == 33 | |
#define MOTHERBOARD 3 | |
#define RAMPS_V_1_3 | |
#endif | |
#if MOTHERBOARD == 3 | |
#define KNOWN_BOARD 1 | |
//////////////////FIX THIS////////////// | |
#ifndef __AVR_ATmega1280__ | |
#ifndef __AVR_ATmega2560__ | |
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. | |
#endif | |
#endif | |
// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1 | |
// #define RAMPS_V_1_3 | |
// #define RAMPS_V_1_0 | |
#ifdef RAMPS_V_1_3 | |
#define X_STEP_PIN 54 | |
#define X_DIR_PIN 55 | |
#define X_ENABLE_PIN 38 | |
#define X_MIN_PIN 3 | |
#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. | |
#define Y_STEP_PIN 60 | |
#define Y_DIR_PIN 61 | |
#define Y_ENABLE_PIN 56 | |
#define Y_MIN_PIN 14 | |
#define Y_MAX_PIN -1 //15 | |
#define Z_STEP_PIN 46 | |
#define Z_DIR_PIN 48 | |
#define Z_ENABLE_PIN 62 | |
#define Z_MIN_PIN 18 | |
#define Z_MAX_PIN -1 //19 | |
#define E_STEP_PIN 26 | |
#define E_DIR_PIN 28 | |
#define E_ENABLE_PIN 24 | |
#define SDPOWER -1 | |
#define SDSS 53 | |
#define LED_PIN 13 | |
#define FAN_PIN 9 | |
#define PS_ON_PIN 12 | |
#define KILL_PIN -1 | |
#define HEATER_0_PIN 10 | |
#define HEATER_1_PIN 8 | |
#define HEATER_2_PIN -1 | |
#define TEMP_0_PIN 13 // ANALOG NUMBERING | |
#define TEMP_1_PIN 14 // ANALOG NUMBERING | |
#define TEMP_2_PIN -1 // ANALOG NUMBERING | |
#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default | |
#define X_STEP_PIN 26 | |
#define X_DIR_PIN 28 | |
#define X_ENABLE_PIN 24 | |
#define X_MIN_PIN 3 | |
#define X_MAX_PIN -1 //2 | |
#define Y_STEP_PIN 38 | |
#define Y_DIR_PIN 40 | |
#define Y_ENABLE_PIN 36 | |
#define Y_MIN_PIN 16 | |
#define Y_MAX_PIN -1 //17 | |
#define Z_STEP_PIN 44 | |
#define Z_DIR_PIN 46 | |
#define Z_ENABLE_PIN 42 | |
#define Z_MIN_PIN 18 | |
#define Z_MAX_PIN 19 //19 | |
#define E_STEP_PIN 32 | |
#define E_DIR_PIN 34 | |
#define E_ENABLE_PIN 30 | |
#define SDPOWER 48 | |
#define SDSS 53 | |
#define LED_PIN 13 | |
#define PS_ON_PIN -1 | |
#define KILL_PIN -1 | |
#ifdef RAMPS_V_1_0 // RAMPS_V_1_0 | |
#define HEATER_0_PIN 12 // RAMPS 1.0 | |
#define HEATER_1_PIN -1 // RAMPS 1.0 | |
#define FAN_PIN 11 // RAMPS 1.0 | |
#else // RAMPS_V_1_1 or RAMPS_V_1_2 | |
#define HEATER_0_PIN 10 // RAMPS 1.1 | |
#define HEATER_1_PIN 8 // RAMPS 1.1 | |
#define FAN_PIN 9 // RAMPS 1.1 | |
#endif | |
#define HEATER_2_PIN -1 | |
#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! | |
#define TEMP_1_PIN 8 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! | |
#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! | |
#endif | |
// SPI for Max6675 Thermocouple | |
#ifndef SDSUPPORT | |
// these pins are defined in the SD library if building with SD support #define SCK_PIN 52 | |
#define MISO_PIN 50 | |
#define MOSI_PIN 51 | |
#define MAX6675_SS 53 | |
#else | |
#define MAX6675_SS 49 | |
#endif | |
#endif | |
/**************************************************************************************** | |
* Duemilanove w/ ATMega328P pin assignment | |
* | |
****************************************************************************************/ | |
#if MOTHERBOARD == 4 | |
#define KNOWN_BOARD 1 | |
#ifndef __AVR_ATmega328P__ | |
#error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu. | |
#endif | |
#define X_STEP_PIN 19 | |
#define X_DIR_PIN 18 | |
#define X_ENABLE_PIN -1 | |
#define X_MIN_PIN 17 | |
#define X_MAX_PIN -1 | |
#define Y_STEP_PIN 10 | |
#define Y_DIR_PIN 7 | |
#define Y_ENABLE_PIN -1 | |
#define Y_MIN_PIN 8 | |
#define Y_MAX_PIN -1 | |
#define Z_STEP_PIN 13 | |
#define Z_DIR_PIN 3 | |
#define Z_ENABLE_PIN 2 | |
#define Z_MIN_PIN 4 | |
#define Z_MAX_PIN -1 | |
#define E_STEP_PIN 11 | |
#define E_DIR_PIN 12 | |
#define E_ENABLE_PIN -1 | |
#define SDPOWER -1 | |
#define SDSS -1 | |
#define LED_PIN -1 | |
#define FAN_PIN 5 | |
#define PS_ON_PIN -1 | |
#define KILL_PIN -1 | |
#define HEATER_0_PIN 6 | |
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! | |
#define HEATER_1_PIN -1 | |
#define HEATER_2_PIN -1 | |
#endif | |
/**************************************************************************************** | |
* Gen6 pin assignment | |
* | |
****************************************************************************************/ | |
#if MOTHERBOARD == 5 | |
#define KNOWN_BOARD 1 | |
#ifndef __AVR_ATmega644P__ | |
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. | |
#endif | |
//x axis pins | |
#define X_STEP_PIN 15 | |
#define X_DIR_PIN 18 | |
#define X_ENABLE_PIN 19 | |
#define X_MIN_PIN 20 | |
#define X_MAX_PIN -1 | |
//y axis pins | |
#define Y_STEP_PIN 23 | |
#define Y_DIR_PIN 22 | |
#define Y_ENABLE_PIN 24 | |
#define Y_MIN_PIN 25 | |
#define Y_MAX_PIN -1 | |
//z axis pins | |
#define Z_STEP_PIN 27 | |
#define Z_DIR_PIN 28 | |
#define Z_ENABLE_PIN 29 | |
#define Z_MIN_PIN 30 | |
#define Z_MAX_PIN -1 | |
//extruder pins | |
#define E_STEP_PIN 4 //Edited @ EJE Electronics 20100715 | |
#define E_DIR_PIN 2 //Edited @ EJE Electronics 20100715 | |
#define E_ENABLE_PIN 3 //Added @ EJE Electronics 20100715 | |
#define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 | |
#define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 | |
#define HEATER_1_PIN -1 //changed @ rkoeppl 20110410 | |
#define HEATER_2_PIN -1 | |
#define SDPOWER -1 | |
#define SDSS 17 | |
#define LED_PIN -1 //changed @ rkoeppl 20110410 | |
#define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 | |
#define TEMP_2_PIN -1 | |
#define FAN_PIN -1 //changed @ rkoeppl 20110410 | |
#define PS_ON_PIN -1 //changed @ rkoeppl 20110410 | |
//our pin for debugging. | |
#define DEBUG_PIN 0 | |
//our RS485 pins | |
#define TX_ENABLE_PIN 12 | |
#define RX_ENABLE_PIN 13 | |
#endif | |
/**************************************************************************************** | |
* Sanguinololu pin assignment | |
* | |
****************************************************************************************/ | |
#if MOTHERBOARD == 62 | |
#define MOTHERBOARD 6 | |
#define SANGUINOLOLU_V_1_2 | |
#endif | |
#if MOTHERBOARD == 6 | |
#define KNOWN_BOARD 1 | |
#ifndef __AVR_ATmega644P__ | |
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. | |
#endif | |
#define X_STEP_PIN 15 | |
#define X_DIR_PIN 21 | |
#define X_MIN_PIN 18 | |
#define X_MAX_PIN -2 | |
#define Y_STEP_PIN 22 | |
#define Y_DIR_PIN 23 | |
#define Y_MIN_PIN 19 | |
#define Y_MAX_PIN -1 | |
#define Z_STEP_PIN 3 | |
#define Z_DIR_PIN 2 | |
#define Z_MIN_PIN 20 | |
#define Z_MAX_PIN -1 | |
#define E_STEP_PIN 1 | |
#define E_DIR_PIN 0 | |
#define LED_PIN -1 | |
#define FAN_PIN -1 | |
#define PS_ON_PIN -1 | |
#define KILL_PIN -1 | |
#define HEATER_0_PIN 13 // (extruder) | |
#ifdef SANGUINOLOLU_V_1_2 | |
#define HEATER_1_PIN 12 // (bed) | |
#define X_ENABLE_PIN 14 | |
#define Y_ENABLE_PIN 14 | |
#define Z_ENABLE_PIN 26 | |
#define E_ENABLE_PIN 14 | |
#else | |
#define HEATER_1_PIN 14 // (bed) | |
#define X_ENABLE_PIN -1 | |
#define Y_ENABLE_PIN -1 | |
#define Z_ENABLE_PIN -1 | |
#define E_ENABLE_PIN -1 | |
#endif | |
#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) | |
#define TEMP_1_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) | |
#define TEMP_2_PIN -1 | |
#define SDPOWER -1 | |
#define SDSS 31 | |
#define HEATER_2_PIN -1 | |
#endif | |
#if MOTHERBOARD == 7 | |
#define KNOWN_BOARD | |
/***************************************************************** | |
* Ultimaker pin assignment | |
******************************************************************/ | |
#ifndef __AVR_ATmega1280__ | |
#ifndef __AVR_ATmega2560__ | |
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. | |
#endif | |
#endif | |
#define X_STEP_PIN 25 | |
#define X_DIR_PIN 23 | |
#define X_MIN_PIN 22 | |
#define X_MAX_PIN 24 | |
#define X_ENABLE_PIN 27 | |
#define Y_STEP_PIN 31 | |
#define Y_DIR_PIN 33 | |
#define Y_MIN_PIN 26 | |
#define Y_MAX_PIN 28 | |
#define Y_ENABLE_PIN 29 | |
#define Z_STEP_PIN 37 | |
#define Z_DIR_PIN 39 | |
#define Z_MIN_PIN 30 | |
#define Z_MAX_PIN 32 | |
#define Z_ENABLE_PIN 35 | |
#define HEATER_1_PIN 4 | |
#define TEMP_1_PIN 11 | |
#define EXTRUDER_0_STEP_PIN 43 | |
#define EXTRUDER_0_DIR_PIN 45 | |
#define EXTRUDER_0_ENABLE_PIN 41 | |
#define HEATER_0_PIN 2 | |
#define TEMP_0_PIN 8 | |
#define EXTRUDER_1_STEP_PIN 49 | |
#define EXTRUDER_1_DIR_PIN 47 | |
#define EXTRUDER_1_ENABLE_PIN 51 | |
#define EXTRUDER_1_HEATER_PIN 3 | |
#define EXTRUDER_1_TEMPERATURE_PIN 10 | |
#define HEATER_2_PIN 51 | |
#define TEMP_2_PIN 3 | |
#define E_STEP_PIN EXTRUDER_0_STEP_PIN | |
#define E_DIR_PIN EXTRUDER_0_DIR_PIN | |
#define E_ENABLE_PIN EXTRUDER_0_ENABLE_PIN | |
#define SDPOWER -1 | |
#define SDSS 53 | |
#define LED_PIN 13 | |
#define FAN_PIN 7 | |
#define PS_ON_PIN 12 | |
#define KILL_PIN -1 | |
#ifdef ULTRA_LCD | |
#ifdef NEWPANEL | |
//arduino pin witch triggers an piezzo beeper | |
#define BEEPER 18 | |
#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 //the click | |
#define BLEN_C 2 | |
#define BLEN_B 1 | |
#define BLEN_A 0 | |
#define SDCARDDETECT 38 | |
//encoder rotation values | |
#define encrot0 0 | |
#define encrot1 2 | |
#define encrot2 3 | |
#define encrot3 1 | |
#else //old style panel with shift register | |
//arduino pin witch triggers an piezzo beeper | |
#define BEEPER 18 | |
//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 | |
//encoder rotation values | |
#define encrot0 0 | |
#define encrot1 2 | |
#define encrot2 3 | |
#define encrot3 1 | |
//bits in the shift register that carry the buttons for: | |
// left up center down right red | |
#define BL_LE 7 | |
#define BL_UP 6 | |
#define BL_MI 5 | |
#define BL_DW 4 | |
#define BL_RI 3 | |
#define BL_ST 2 | |
#define BLEN_B 1 | |
#define BLEN_A 0 | |
#endif | |
#endif //ULTRA_LCD | |
#endif | |
/**************************************************************************************** | |
* Teensylu 0.7 pin assingments (ATMEGA90USB) | |
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE! | |
****************************************************************************************/ | |
#if MOTHERBOARD == 8 | |
#define MOTHERBOARD 8 | |
#define KNOWN_BOARD 1 | |
#define X_STEP_PIN 0 | |
#define X_DIR_PIN 1 | |
#define X_ENABLE_PIN 39 | |
#define X_MIN_PIN 13 | |
#define X_MAX_PIN -1 | |
#define Y_STEP_PIN 2 | |
#define Y_DIR_PIN 3 | |
#define Y_ENABLE_PIN 38 | |
#define Y_MIN_PIN 14 | |
#define Y_MAX_PIN -1 | |
#define Z_STEP_PIN 4 | |
#define Z_DIR_PIN 5 | |
#define Z_ENABLE_PIN 23 | |
#define Z_MIN_PIN 15 | |
#define Z_MAX_PIN -1 | |
#define E_STEP_PIN 6 | |
#define E_DIR_PIN 7 | |
#define E_ENABLE_PIN 19 | |
#define HEATER_0_PIN 21 // Extruder | |
#define HEATER_1_PIN 20 // Bed | |
#define HEATER_2_PIN -1 | |
#define FAN_PIN 22 // Fan | |
#define TEMP_0_PIN 7 // Extruder | |
#define TEMP_1_PIN 6 // Bed | |
#define TEMP_2_PIN -1 | |
#define SDPOWER -1 | |
#define SDSS 8 | |
#define LED_PIN -1 | |
#define PS_ON_PIN -1 | |
#define KILL_PIN -1 | |
#define ALARM_PIN -1 | |
#ifndef SDSUPPORT | |
// these pins are defined in the SD library if building with SD support | |
#define SCK_PIN 9 | |
#define MISO_PIN 11 | |
#define MOSI_PIN 10 | |
#endif | |
#endif | |
#ifndef KNOWN_BOARD | |
#error Unknown MOTHERBOARD value in configuration.h | |
#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 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, E_STEP_PIN, E_DIR_PIN, E_ENABLE_PIN, LED_PIN, PS_ON_PIN, HEATER_0_PIN, HEATER_1_PIN, HEATER_2_PIN, FAN_PIN, TEMP_0_PIN, TEMP_1_PIN, TEMP_2_PIN} | |
#endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment