From 06c3b3793342670f6b512f221a978a00fb97b184 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 23 Jan 2015 22:26:52 -0800 Subject: [PATCH 001/132] Formatting cleanup of quiet sources Formatting for code-folding plus minor style changes to less active code. --- Marlin/Servo.cpp | 326 +++++++++++++++++++++-------------------------- Marlin/Servo.h | 84 ++++++------ 2 files changed, 185 insertions(+), 225 deletions(-) diff --git a/Marlin/Servo.cpp b/Marlin/Servo.cpp index 5f8c7efe30..27a7d3cf3e 100644 --- a/Marlin/Servo.cpp +++ b/Marlin/Servo.cpp @@ -44,6 +44,7 @@ #include "Configuration.h" #ifdef NUM_SERVOS + #include #include @@ -52,7 +53,6 @@ #define usToTicks(_us) (( clockCyclesPerMicrosecond()* _us) / 8) // converts microseconds to tick (assumes prescale of 8) // 12 Aug 2009 #define ticksToUs(_ticks) (( (unsigned)_ticks * 8)/ clockCyclesPerMicrosecond() ) // converts from ticks back to microseconds - #define TRIM_DURATION 2 // compensation ticks to trim adjust for digitalWrite delays // 12 August 2009 //#define NBR_TIMERS (MAX_SERVOS / SERVOS_PER_TIMER) @@ -74,24 +74,23 @@ uint8_t ServoCount = 0; // the total number /************ static functions common to all instances ***********************/ -static inline void handle_interrupts(timer16_Sequence_t timer, volatile uint16_t *TCNTn, volatile uint16_t* OCRnA) -{ - if( Channel[timer] < 0 ) +static inline void handle_interrupts(timer16_Sequence_t timer, volatile uint16_t *TCNTn, volatile uint16_t* OCRnA) { + if (Channel[timer] < 0) *TCNTn = 0; // channel set to -1 indicated that refresh interval completed so reset the timer - else{ - if( SERVO_INDEX(timer,Channel[timer]) < ServoCount && SERVO(timer,Channel[timer]).Pin.isActive == true ) + else { + if (SERVO_INDEX(timer,Channel[timer]) < ServoCount && SERVO(timer,Channel[timer]).Pin.isActive) digitalWrite( SERVO(timer,Channel[timer]).Pin.nbr,LOW); // pulse this channel low if activated } Channel[timer]++; // increment to the next channel - if( SERVO_INDEX(timer,Channel[timer]) < ServoCount && Channel[timer] < SERVOS_PER_TIMER) { + if (SERVO_INDEX(timer,Channel[timer]) < ServoCount && Channel[timer] < SERVOS_PER_TIMER) { *OCRnA = *TCNTn + SERVO(timer,Channel[timer]).ticks; - if(SERVO(timer,Channel[timer]).Pin.isActive == true) // check if activated + if (SERVO(timer,Channel[timer]).Pin.isActive) // check if activated digitalWrite( SERVO(timer,Channel[timer]).Pin.nbr,HIGH); // its an active channel so pulse it high } else { // finished all channels so wait for the refresh period to expire before starting over - if( ((unsigned)*TCNTn) + 4 < usToTicks(REFRESH_INTERVAL) ) // allow a few ticks to ensure the next OCR1A not missed + if ( ((unsigned)*TCNTn) + 4 < usToTicks(REFRESH_INTERVAL) ) // allow a few ticks to ensure the next OCR1A not missed *OCRnA = (unsigned int)usToTicks(REFRESH_INTERVAL); else *OCRnA = *TCNTn + 4; // at least REFRESH_INTERVAL has elapsed @@ -100,142 +99,126 @@ static inline void handle_interrupts(timer16_Sequence_t timer, volatile uint16_t } #ifndef WIRING // Wiring pre-defines signal handlers so don't define any if compiling for the Wiring platform -// Interrupt handlers for Arduino -#if defined(_useTimer1) -SIGNAL (TIMER1_COMPA_vect) -{ - handle_interrupts(_timer1, &TCNT1, &OCR1A); -} -#endif -#if defined(_useTimer3) -SIGNAL (TIMER3_COMPA_vect) -{ - handle_interrupts(_timer3, &TCNT3, &OCR3A); -} -#endif + // Interrupt handlers for Arduino + #if defined(_useTimer1) + SIGNAL (TIMER1_COMPA_vect) { handle_interrupts(_timer1, &TCNT1, &OCR1A); } + #endif -#if defined(_useTimer4) -SIGNAL (TIMER4_COMPA_vect) -{ - handle_interrupts(_timer4, &TCNT4, &OCR4A); -} -#endif + #if defined(_useTimer3) + SIGNAL (TIMER3_COMPA_vect) { handle_interrupts(_timer3, &TCNT3, &OCR3A); } + #endif -#if defined(_useTimer5) -SIGNAL (TIMER5_COMPA_vect) -{ - handle_interrupts(_timer5, &TCNT5, &OCR5A); -} -#endif + #if defined(_useTimer4) + SIGNAL (TIMER4_COMPA_vect) { handle_interrupts(_timer4, &TCNT4, &OCR4A); } + #endif -#elif defined WIRING -// Interrupt handlers for Wiring -#if defined(_useTimer1) -void Timer1Service() -{ - handle_interrupts(_timer1, &TCNT1, &OCR1A); -} -#endif -#if defined(_useTimer3) -void Timer3Service() -{ - handle_interrupts(_timer3, &TCNT3, &OCR3A); -} -#endif -#endif + #if defined(_useTimer5) + SIGNAL (TIMER5_COMPA_vect) { handle_interrupts(_timer5, &TCNT5, &OCR5A); } + #endif + +#else //!WIRING + + // Interrupt handlers for Wiring + #if defined(_useTimer1) + void Timer1Service() { handle_interrupts(_timer1, &TCNT1, &OCR1A); } + #endif + #if defined(_useTimer3) + void Timer3Service() { handle_interrupts(_timer3, &TCNT3, &OCR3A); } + #endif + +#endif //!WIRING -static void initISR(timer16_Sequence_t timer) -{ -#if defined (_useTimer1) - if(timer == _timer1) { - TCCR1A = 0; // normal counting mode - TCCR1B = _BV(CS11); // set prescaler of 8 - TCNT1 = 0; // clear the timer count -#if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__) - TIFR |= _BV(OCF1A); // clear any pending interrupts; - TIMSK |= _BV(OCIE1A) ; // enable the output compare interrupt -#else - // here if not ATmega8 or ATmega128 - TIFR1 |= _BV(OCF1A); // clear any pending interrupts; - TIMSK1 |= _BV(OCIE1A) ; // enable the output compare interrupt -#endif -#if defined(WIRING) - timerAttach(TIMER1OUTCOMPAREA_INT, Timer1Service); -#endif - } -#endif +static void initISR(timer16_Sequence_t timer) { + #if defined(_useTimer1) + if (timer == _timer1) { + TCCR1A = 0; // normal counting mode + TCCR1B = _BV(CS11); // set prescaler of 8 + TCNT1 = 0; // clear the timer count + #if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__) + TIFR |= _BV(OCF1A); // clear any pending interrupts; + TIMSK |= _BV(OCIE1A); // enable the output compare interrupt + #else + // here if not ATmega8 or ATmega128 + TIFR1 |= _BV(OCF1A); // clear any pending interrupts; + TIMSK1 |= _BV(OCIE1A); // enable the output compare interrupt + #endif + #if defined(WIRING) + timerAttach(TIMER1OUTCOMPAREA_INT, Timer1Service); + #endif + } + #endif -#if defined (_useTimer3) - if(timer == _timer3) { - TCCR3A = 0; // normal counting mode - TCCR3B = _BV(CS31); // set prescaler of 8 - TCNT3 = 0; // clear the timer count -#if defined(__AVR_ATmega128__) - TIFR |= _BV(OCF3A); // clear any pending interrupts; - ETIMSK |= _BV(OCIE3A); // enable the output compare interrupt -#else - TIFR3 = _BV(OCF3A); // clear any pending interrupts; - TIMSK3 = _BV(OCIE3A) ; // enable the output compare interrupt -#endif -#if defined(WIRING) - timerAttach(TIMER3OUTCOMPAREA_INT, Timer3Service); // for Wiring platform only -#endif - } -#endif + #if defined(_useTimer3) + if (timer == _timer3) { + TCCR3A = 0; // normal counting mode + TCCR3B = _BV(CS31); // set prescaler of 8 + TCNT3 = 0; // clear the timer count + #if defined(__AVR_ATmega128__) + TIFR |= _BV(OCF3A); // clear any pending interrupts; + ETIMSK |= _BV(OCIE3A); // enable the output compare interrupt + #else + TIFR3 = _BV(OCF3A); // clear any pending interrupts; + TIMSK3 = _BV(OCIE3A) ; // enable the output compare interrupt + #endif + #if defined(WIRING) + timerAttach(TIMER3OUTCOMPAREA_INT, Timer3Service); // for Wiring platform only + #endif + } + #endif -#if defined (_useTimer4) - if(timer == _timer4) { - TCCR4A = 0; // normal counting mode - TCCR4B = _BV(CS41); // set prescaler of 8 - TCNT4 = 0; // clear the timer count - TIFR4 = _BV(OCF4A); // clear any pending interrupts; - TIMSK4 = _BV(OCIE4A) ; // enable the output compare interrupt - } -#endif + #if defined(_useTimer4) + if (timer == _timer4) { + TCCR4A = 0; // normal counting mode + TCCR4B = _BV(CS41); // set prescaler of 8 + TCNT4 = 0; // clear the timer count + TIFR4 = _BV(OCF4A); // clear any pending interrupts; + TIMSK4 = _BV(OCIE4A) ; // enable the output compare interrupt + } + #endif -#if defined (_useTimer5) - if(timer == _timer5) { - TCCR5A = 0; // normal counting mode - TCCR5B = _BV(CS51); // set prescaler of 8 - TCNT5 = 0; // clear the timer count - TIFR5 = _BV(OCF5A); // clear any pending interrupts; - TIMSK5 = _BV(OCIE5A) ; // enable the output compare interrupt - } -#endif + #if defined(_useTimer5) + if (timer == _timer5) { + TCCR5A = 0; // normal counting mode + TCCR5B = _BV(CS51); // set prescaler of 8 + TCNT5 = 0; // clear the timer count + TIFR5 = _BV(OCF5A); // clear any pending interrupts; + TIMSK5 = _BV(OCIE5A) ; // enable the output compare interrupt + } + #endif } -static void finISR(timer16_Sequence_t timer) -{ - //disable use of the given timer -#if defined WIRING // Wiring - if(timer == _timer1) { - #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__) - TIMSK1 &= ~_BV(OCIE1A) ; // disable timer 1 output compare interrupt - #else - TIMSK &= ~_BV(OCIE1A) ; // disable timer 1 output compare interrupt - #endif - timerDetach(TIMER1OUTCOMPAREA_INT); - } - else if(timer == _timer3) { - #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__) - TIMSK3 &= ~_BV(OCIE3A); // disable the timer3 output compare A interrupt - #else - ETIMSK &= ~_BV(OCIE3A); // disable the timer3 output compare A interrupt - #endif - timerDetach(TIMER3OUTCOMPAREA_INT); - } -#else - //For arduino - in future: call here to a currently undefined function to reset the timer -#endif +static void finISR(timer16_Sequence_t timer) { + // Disable use of the given timer + #if defined(WIRING) + if (timer == _timer1) { + #if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) + TIMSK1 + #else + TIMSK + #endif + &= ~_BV(OCIE1A); // disable timer 1 output compare interrupt + timerDetach(TIMER1OUTCOMPAREA_INT); + } + else if (timer == _timer3) { + #if defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__) + TIMSK3 + #else + ETIMSK + #endif + &= ~_BV(OCIE3A); // disable the timer3 output compare A interrupt + timerDetach(TIMER3OUTCOMPAREA_INT); + } + #else //!WIRING + // For arduino - in future: call here to a currently undefined function to reset the timer + #endif } -static boolean isTimerActive(timer16_Sequence_t timer) -{ +static boolean isTimerActive(timer16_Sequence_t timer) { // returns true if any servo is active on this timer for(uint8_t channel=0; channel < SERVOS_PER_TIMER; channel++) { - if(SERVO(timer,channel).Pin.isActive == true) + if (SERVO(timer,channel).Pin.isActive) return true; } return false; @@ -244,70 +227,59 @@ static boolean isTimerActive(timer16_Sequence_t timer) /****************** end of static functions ******************************/ -Servo::Servo() -{ - if( ServoCount < MAX_SERVOS) { +Servo::Servo() { + if ( ServoCount < MAX_SERVOS) { this->servoIndex = ServoCount++; // assign a servo index to this instance - servos[this->servoIndex].ticks = usToTicks(DEFAULT_PULSE_WIDTH); // store default values - 12 Aug 2009 + servos[this->servoIndex].ticks = usToTicks(DEFAULT_PULSE_WIDTH); // store default values - 12 Aug 2009 } else - this->servoIndex = INVALID_SERVO ; // too many servos + this->servoIndex = INVALID_SERVO; // too many servos } -uint8_t Servo::attach(int pin) -{ +uint8_t Servo::attach(int pin) { return this->attach(pin, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH); } -uint8_t Servo::attach(int pin, int min, int max) -{ - if(this->servoIndex < MAX_SERVOS ) { -#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0) +uint8_t Servo::attach(int pin, int min, int max) { + if (this->servoIndex < MAX_SERVOS ) { + #if defined(ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0) if (pin > 0) this->pin = pin; else pin = this->pin; -#endif - pinMode( pin, OUTPUT) ; // set servo pin to output + #endif + pinMode(pin, OUTPUT); // set servo pin to output servos[this->servoIndex].Pin.nbr = pin; // todo min/max check: abs(min - MIN_PULSE_WIDTH) /4 < 128 - this->min = (MIN_PULSE_WIDTH - min)/4; //resolution of min/max is 4 uS - this->max = (MAX_PULSE_WIDTH - max)/4; + this->min = (MIN_PULSE_WIDTH - min) / 4; //resolution of min/max is 4 uS + this->max = (MAX_PULSE_WIDTH - max) / 4; // initialize the timer if it has not already been initialized timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex); - if(isTimerActive(timer) == false) - initISR(timer); + if (!isTimerActive(timer)) initISR(timer); servos[this->servoIndex].Pin.isActive = true; // this must be set after the check for isTimerActive } - return this->servoIndex ; + return this->servoIndex; } -void Servo::detach() -{ +void Servo::detach() { servos[this->servoIndex].Pin.isActive = false; timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex); - if(isTimerActive(timer) == false) { - finISR(timer); - } + if (!isTimerActive(timer)) finISR(timer); } -void Servo::write(int value) -{ - if(value < MIN_PULSE_WIDTH) - { // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds) - if(value < 0) value = 0; - if(value > 180) value = 180; +void Servo::write(int value) { + if (value < MIN_PULSE_WIDTH) { // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds) + if (value < 0) value = 0; + if (value > 180) value = 180; value = map(value, 0, 180, SERVO_MIN(), SERVO_MAX()); } this->writeMicroseconds(value); } -void Servo::writeMicroseconds(int value) -{ +void Servo::writeMicroseconds(int value) { // calculate and store the values for the given channel byte channel = this->servoIndex; - if( (channel < MAX_SERVOS) ) // ensure channel is valid - { - if( value < SERVO_MIN() ) // ensure pulse width is valid + if (channel < MAX_SERVOS) { // ensure channel is valid + if (value < SERVO_MIN()) // ensure pulse width is valid value = SERVO_MIN(); - else if( value > SERVO_MAX() ) + else if (value > SERVO_MAX()) value = SERVO_MAX(); value = value - TRIM_DURATION; @@ -320,25 +292,13 @@ void Servo::writeMicroseconds(int value) } } -int Servo::read() // return the value as degrees -{ - return map( this->readMicroseconds()+1, SERVO_MIN(), SERVO_MAX(), 0, 180); +// return the value as degrees +int Servo::read() { return map( this->readMicroseconds()+1, SERVO_MIN(), SERVO_MAX(), 0, 180); } + +int Servo::readMicroseconds() { + return (this->servoIndex == INVALID_SERVO) ? 0 : ticksToUs(servos[this->servoIndex].ticks) + TRIM_DURATION; } -int Servo::readMicroseconds() -{ - unsigned int pulsewidth; - if( this->servoIndex != INVALID_SERVO ) - pulsewidth = ticksToUs(servos[this->servoIndex].ticks) + TRIM_DURATION ; // 12 aug 2009 - else - pulsewidth = 0; - - return pulsewidth; -} - -bool Servo::attached() -{ - return servos[this->servoIndex].Pin.isActive ; -} +bool Servo::attached() { return servos[this->servoIndex].Pin.isActive; } #endif diff --git a/Marlin/Servo.h b/Marlin/Servo.h index 204497a4ad..bbdf6bf0ab 100644 --- a/Marlin/Servo.h +++ b/Marlin/Servo.h @@ -58,35 +58,36 @@ // Say which 16 bit timers can be used and in what order #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) -#define _useTimer5 -//#define _useTimer1 -#define _useTimer3 -#define _useTimer4 -//typedef enum { _timer5, _timer1, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ; -typedef enum { _timer5, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ; + #define _useTimer5 + //#define _useTimer1 + #define _useTimer3 + #define _useTimer4 + //typedef enum { _timer5, _timer1, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer5, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ; #elif defined(__AVR_ATmega32U4__) -//#define _useTimer1 -#define _useTimer3 -//typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ; -typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; + //#define _useTimer1 + #define _useTimer3 + //typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; #elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) -#define _useTimer3 -//#define _useTimer1 -//typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ; -typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; + #define _useTimer3 + //#define _useTimer1 + //typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; #elif defined(__AVR_ATmega128__) ||defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) ||defined(__AVR_ATmega2561__) -#define _useTimer3 -//#define _useTimer1 -//typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ; -typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; + #define _useTimer3 + //#define _useTimer1 + //typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ; #else // everything else -//#define _useTimer1 -//typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ; -typedef enum { _Nbr_16timers } timer16_Sequence_t ; + //#define _useTimer1 + //typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ; + typedef enum { _Nbr_16timers } timer16_Sequence_t ; + #endif #define Servo_VERSION 2 // software version of this library @@ -101,35 +102,34 @@ typedef enum { _Nbr_16timers } timer16_Sequence_t ; #define INVALID_SERVO 255 // flag indicating an invalid servo index -typedef struct { +typedef struct { uint8_t nbr :6 ; // a pin number from 0 to 63 uint8_t isActive :1 ; // true if this channel is enabled, pin not pulsed if false -} ServoPin_t ; +} ServoPin_t; typedef struct { ServoPin_t Pin; unsigned int ticks; } servo_t; -class Servo -{ -public: - Servo(); - uint8_t attach(int pin); // attach the given pin to the next free channel, sets pinMode, returns channel number or 0 if failure - uint8_t attach(int pin, int min, int max); // as above but also sets min and max values for writes. - void detach(); - void write(int value); // if value is < 200 it is treated as an angle, otherwise as pulse width in microseconds - void writeMicroseconds(int value); // Write pulse width in microseconds - int read(); // returns current pulse width as an angle between 0 and 180 degrees - int readMicroseconds(); // returns current pulse width in microseconds for this servo (was read_us() in first release) - bool attached(); // return true if this servo is attached, otherwise false -#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0) - int pin; // store the hardware pin of the servo -#endif -private: - uint8_t servoIndex; // index into the channel data for this servo - int8_t min; // minimum is this value times 4 added to MIN_PULSE_WIDTH - int8_t max; // maximum is this value times 4 added to MAX_PULSE_WIDTH +class Servo { + public: + Servo(); + uint8_t attach(int pin); // attach the given pin to the next free channel, sets pinMode, returns channel number or 0 if failure + uint8_t attach(int pin, int min, int max); // as above but also sets min and max values for writes. + void detach(); + void write(int value); // if value is < 200 it is treated as an angle, otherwise as pulse width in microseconds + void writeMicroseconds(int value); // Write pulse width in microseconds + int read(); // returns current pulse width as an angle between 0 and 180 degrees + int readMicroseconds(); // returns current pulse width in microseconds for this servo (was read_us() in first release) + bool attached(); // return true if this servo is attached, otherwise false + #if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0) + int pin; // store the hardware pin of the servo + #endif + private: + uint8_t servoIndex; // index into the channel data for this servo + int8_t min; // minimum is this value times 4 added to MIN_PULSE_WIDTH + int8_t max; // maximum is this value times 4 added to MAX_PULSE_WIDTH }; #endif From 1ed39133333ac534cd89c4dc9a6d3652cc08d0e0 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 23 Jan 2015 22:55:13 -0800 Subject: [PATCH 002/132] Rename lastnr to autostart_index and... Replace instances of the number 13 with FILENAME_LENGTH where appropriate. --- Marlin/SdBaseFile.cpp | 6 +++--- Marlin/SdFatConfig.h | 8 +++++--- Marlin/cardreader.cpp | 18 +++++++++--------- Marlin/cardreader.h | 10 +++++----- Marlin/ultralcd.cpp | 2 +- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Marlin/SdBaseFile.cpp b/Marlin/SdBaseFile.cpp index dbcf77fbdc..c72eced73c 100644 --- a/Marlin/SdBaseFile.cpp +++ b/Marlin/SdBaseFile.cpp @@ -1012,7 +1012,7 @@ void SdBaseFile::printFatTime( uint16_t fatTime) { * the value zero, false, is returned for failure. */ bool SdBaseFile::printName() { - char name[13]; + char name[FILENAME_LENGTH]; if (!getFilename(name)) return false; MYSERIAL.print(name); return true; @@ -1135,7 +1135,7 @@ int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) { if (VFAT->firstClusterLow == 0 && (VFAT->sequenceNumber & 0x1F) > 0 && (VFAT->sequenceNumber & 0x1F) <= MAX_VFAT_ENTRIES) { //TODO: Store the filename checksum to verify if a none-long filename aware system modified the file table. - n = ((VFAT->sequenceNumber & 0x1F) - 1) * 13; + n = ((VFAT->sequenceNumber & 0x1F) - 1) * FILENAME_LENGTH; longFilename[n+0] = VFAT->name1[0]; longFilename[n+1] = VFAT->name1[1]; longFilename[n+2] = VFAT->name1[2]; @@ -1151,7 +1151,7 @@ int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) { longFilename[n+12] = VFAT->name3[1]; //If this VFAT entry is the last one, add a NUL terminator at the end of the string if (VFAT->sequenceNumber & 0x40) - longFilename[n+13] = '\0'; + longFilename[n+FILENAME_LENGTH] = '\0'; } } // return if normal file or subdirectory diff --git a/Marlin/SdFatConfig.h b/Marlin/SdFatConfig.h index 24caf6f3eb..a549835f70 100644 --- a/Marlin/SdFatConfig.h +++ b/Marlin/SdFatConfig.h @@ -108,15 +108,17 @@ uint8_t const SOFT_SPI_SCK_PIN = 13; * a pure virtual function is called. */ #define USE_CXA_PURE_VIRTUAL 1 + +/** Number of UTF-16 characters per entry */ +#define FILENAME_LENGTH 13 + /** * Defines for long (vfat) filenames */ /** Number of VFAT entries used. Every entry has 13 UTF-16 characters */ #define MAX_VFAT_ENTRIES (2) -/** Number of UTF-16 characters per entry */ -#define FILENAME_LENGTH 13 /** Total size of the buffer used to store the long filenames */ -#define LONG_FILENAME_LENGTH (13*MAX_VFAT_ENTRIES+1) +#define LONG_FILENAME_LENGTH (FILENAME_LENGTH*MAX_VFAT_ENTRIES+1) #endif // SdFatConfig_h diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp index e22f3436b6..83671e00d0 100644 --- a/Marlin/cardreader.cpp +++ b/Marlin/cardreader.cpp @@ -23,7 +23,7 @@ CardReader::CardReader() memset(workDirParents, 0, sizeof(workDirParents)); autostart_stilltocheck=true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software. - lastnr=0; + autostart_index=0; //power to SD reader #if SDPOWER > -1 SET_OUTPUT(SDPOWER); @@ -60,8 +60,8 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m if( DIR_IS_SUBDIR(&p) && lsAction!=LS_Count && lsAction!=LS_GetFilename) // hence LS_SerialPrint { - char path[13*2]; - char lfilename[13]; + char path[FILENAME_LENGTH*2]; + char lfilename[FILENAME_LENGTH]; createFilename(lfilename,p); path[0]=0; @@ -241,7 +241,7 @@ void CardReader::getAbsFilename(char *t) while(*t!=0 && cnt< MAXPATHNAMELENGTH) {t++;cnt++;} //crawl counter forward. } - if(cnt0 && dirname_end>dirname_start) { - char subdirname[13]; + char subdirname[FILENAME_LENGTH]; strncpy(subdirname, dirname_start, dirname_end-dirname_start); subdirname[dirname_end-dirname_start]=0; SERIAL_ECHOLN(subdirname); @@ -408,7 +408,7 @@ void CardReader::removeFile(char* name) //SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end-name)); if(dirname_end>0 && dirname_end>dirname_start) { - char subdirname[13]; + char subdirname[FILENAME_LENGTH]; strncpy(subdirname, dirname_start, dirname_end-dirname_start); subdirname[dirname_end-dirname_start]=0; SERIAL_ECHOLN(subdirname); @@ -510,7 +510,7 @@ void CardReader::checkautostart(bool force) } char autoname[30]; - sprintf_P(autoname, PSTR("auto%i.g"), lastnr); + sprintf_P(autoname, PSTR("auto%i.g"), autostart_index); for(int8_t i=0;i<(int8_t)strlen(autoname);i++) autoname[i]=tolower(autoname[i]); dir_t p; @@ -537,9 +537,9 @@ void CardReader::checkautostart(bool force) } } if(!found) - lastnr=-1; + autostart_index=-1; else - lastnr++; + autostart_index++; } void CardReader::closefile(bool store_location) diff --git a/Marlin/cardreader.h b/Marlin/cardreader.h index e513dc064f..a1da3d64a3 100644 --- a/Marlin/cardreader.h +++ b/Marlin/cardreader.h @@ -50,12 +50,12 @@ public: public: bool saving; bool logging; - bool sdprinting ; - bool cardOK ; - char filename[13]; + bool sdprinting; + bool cardOK; + char filename[FILENAME_LENGTH]; char longFilename[LONG_FILENAME_LENGTH]; bool filenameIsDir; - int lastnr; //last number of the autostart; + int autostart_index; private: SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH]; uint16_t workDirDepth; @@ -63,7 +63,7 @@ private: SdVolume volume; SdFile file; #define SD_PROCEDURE_DEPTH 1 - #define MAXPATHNAMELENGTH (13*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1) + #define MAXPATHNAMELENGTH (FILENAME_LENGTH*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1) uint8_t file_subcall_ctr; uint32_t filespos[SD_PROCEDURE_DEPTH]; char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH]; diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 0f7645c873..a1ee315155 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -377,7 +377,7 @@ static void lcd_main_menu() #ifdef SDSUPPORT static void lcd_autostart_sd() { - card.lastnr=0; + card.autostart_index=0; card.setroot(); card.checkautostart(true); } From 03c9cb60e89e99cbd05377cdd0a5e7ad043a288d Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 23 Jan 2015 22:55:13 -0800 Subject: [PATCH 003/132] Rename lastnr to autostart_index and... Replace instances of the number 13 with FILENAME_LENGTH where appropriate. --- Marlin/SdBaseFile.cpp | 6 +++--- Marlin/SdFatConfig.h | 8 +++++--- Marlin/cardreader.cpp | 18 +++++++++--------- Marlin/cardreader.h | 10 +++++----- Marlin/ultralcd.cpp | 2 +- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Marlin/SdBaseFile.cpp b/Marlin/SdBaseFile.cpp index dbcf77fbdc..c72eced73c 100644 --- a/Marlin/SdBaseFile.cpp +++ b/Marlin/SdBaseFile.cpp @@ -1012,7 +1012,7 @@ void SdBaseFile::printFatTime( uint16_t fatTime) { * the value zero, false, is returned for failure. */ bool SdBaseFile::printName() { - char name[13]; + char name[FILENAME_LENGTH]; if (!getFilename(name)) return false; MYSERIAL.print(name); return true; @@ -1135,7 +1135,7 @@ int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) { if (VFAT->firstClusterLow == 0 && (VFAT->sequenceNumber & 0x1F) > 0 && (VFAT->sequenceNumber & 0x1F) <= MAX_VFAT_ENTRIES) { //TODO: Store the filename checksum to verify if a none-long filename aware system modified the file table. - n = ((VFAT->sequenceNumber & 0x1F) - 1) * 13; + n = ((VFAT->sequenceNumber & 0x1F) - 1) * FILENAME_LENGTH; longFilename[n+0] = VFAT->name1[0]; longFilename[n+1] = VFAT->name1[1]; longFilename[n+2] = VFAT->name1[2]; @@ -1151,7 +1151,7 @@ int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) { longFilename[n+12] = VFAT->name3[1]; //If this VFAT entry is the last one, add a NUL terminator at the end of the string if (VFAT->sequenceNumber & 0x40) - longFilename[n+13] = '\0'; + longFilename[n+FILENAME_LENGTH] = '\0'; } } // return if normal file or subdirectory diff --git a/Marlin/SdFatConfig.h b/Marlin/SdFatConfig.h index 24caf6f3eb..a549835f70 100644 --- a/Marlin/SdFatConfig.h +++ b/Marlin/SdFatConfig.h @@ -108,15 +108,17 @@ uint8_t const SOFT_SPI_SCK_PIN = 13; * a pure virtual function is called. */ #define USE_CXA_PURE_VIRTUAL 1 + +/** Number of UTF-16 characters per entry */ +#define FILENAME_LENGTH 13 + /** * Defines for long (vfat) filenames */ /** Number of VFAT entries used. Every entry has 13 UTF-16 characters */ #define MAX_VFAT_ENTRIES (2) -/** Number of UTF-16 characters per entry */ -#define FILENAME_LENGTH 13 /** Total size of the buffer used to store the long filenames */ -#define LONG_FILENAME_LENGTH (13*MAX_VFAT_ENTRIES+1) +#define LONG_FILENAME_LENGTH (FILENAME_LENGTH*MAX_VFAT_ENTRIES+1) #endif // SdFatConfig_h diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp index e22f3436b6..83671e00d0 100644 --- a/Marlin/cardreader.cpp +++ b/Marlin/cardreader.cpp @@ -23,7 +23,7 @@ CardReader::CardReader() memset(workDirParents, 0, sizeof(workDirParents)); autostart_stilltocheck=true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software. - lastnr=0; + autostart_index=0; //power to SD reader #if SDPOWER > -1 SET_OUTPUT(SDPOWER); @@ -60,8 +60,8 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m if( DIR_IS_SUBDIR(&p) && lsAction!=LS_Count && lsAction!=LS_GetFilename) // hence LS_SerialPrint { - char path[13*2]; - char lfilename[13]; + char path[FILENAME_LENGTH*2]; + char lfilename[FILENAME_LENGTH]; createFilename(lfilename,p); path[0]=0; @@ -241,7 +241,7 @@ void CardReader::getAbsFilename(char *t) while(*t!=0 && cnt< MAXPATHNAMELENGTH) {t++;cnt++;} //crawl counter forward. } - if(cnt0 && dirname_end>dirname_start) { - char subdirname[13]; + char subdirname[FILENAME_LENGTH]; strncpy(subdirname, dirname_start, dirname_end-dirname_start); subdirname[dirname_end-dirname_start]=0; SERIAL_ECHOLN(subdirname); @@ -408,7 +408,7 @@ void CardReader::removeFile(char* name) //SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end-name)); if(dirname_end>0 && dirname_end>dirname_start) { - char subdirname[13]; + char subdirname[FILENAME_LENGTH]; strncpy(subdirname, dirname_start, dirname_end-dirname_start); subdirname[dirname_end-dirname_start]=0; SERIAL_ECHOLN(subdirname); @@ -510,7 +510,7 @@ void CardReader::checkautostart(bool force) } char autoname[30]; - sprintf_P(autoname, PSTR("auto%i.g"), lastnr); + sprintf_P(autoname, PSTR("auto%i.g"), autostart_index); for(int8_t i=0;i<(int8_t)strlen(autoname);i++) autoname[i]=tolower(autoname[i]); dir_t p; @@ -537,9 +537,9 @@ void CardReader::checkautostart(bool force) } } if(!found) - lastnr=-1; + autostart_index=-1; else - lastnr++; + autostart_index++; } void CardReader::closefile(bool store_location) diff --git a/Marlin/cardreader.h b/Marlin/cardreader.h index e513dc064f..a1da3d64a3 100644 --- a/Marlin/cardreader.h +++ b/Marlin/cardreader.h @@ -50,12 +50,12 @@ public: public: bool saving; bool logging; - bool sdprinting ; - bool cardOK ; - char filename[13]; + bool sdprinting; + bool cardOK; + char filename[FILENAME_LENGTH]; char longFilename[LONG_FILENAME_LENGTH]; bool filenameIsDir; - int lastnr; //last number of the autostart; + int autostart_index; private: SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH]; uint16_t workDirDepth; @@ -63,7 +63,7 @@ private: SdVolume volume; SdFile file; #define SD_PROCEDURE_DEPTH 1 - #define MAXPATHNAMELENGTH (13*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1) + #define MAXPATHNAMELENGTH (FILENAME_LENGTH*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1) uint8_t file_subcall_ctr; uint32_t filespos[SD_PROCEDURE_DEPTH]; char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH]; diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 0f7645c873..a1ee315155 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -377,7 +377,7 @@ static void lcd_main_menu() #ifdef SDSUPPORT static void lcd_autostart_sd() { - card.lastnr=0; + card.autostart_index=0; card.setroot(); card.checkautostart(true); } From 86f1d1cfc3ba1f3074c77cb4f4d275a307588e21 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:40:00 -0800 Subject: [PATCH 004/132] Split up pins to make it more manageable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hopefully this is helpful to organization and future expansion…. --- Marlin/boards.h | 2 +- Marlin/pins.h | 3040 ++------------------------------ Marlin/pins_3DRAG.h | 39 + Marlin/pins_5DPRINT.h | 75 + Marlin/pins_99.h | 38 + Marlin/pins_AZTEEG_X1.h | 7 + Marlin/pins_AZTEEG_X3.h | 15 + Marlin/pins_AZTEEG_X3_PRO.h | 30 + Marlin/pins_BRAINWAVE.h | 61 + Marlin/pins_CHEAPTRONIC.h | 95 + Marlin/pins_DUEMILANOVE_328P.h | 43 + Marlin/pins_ELEFU_3.h | 116 ++ Marlin/pins_GEN3_MONOLITHIC.h | 61 + Marlin/pins_GEN3_PLUS.h | 45 + Marlin/pins_GEN6.h | 62 + Marlin/pins_GEN6_DELUXE.h | 5 + Marlin/pins_GEN7_12.h | 72 + Marlin/pins_GEN7_13.h | 8 + Marlin/pins_GEN7_14.h | 60 + Marlin/pins_GEN7_CUSTOM.h | 76 + Marlin/pins_K8200.h | 6 + Marlin/pins_LEAPFROG.h | 62 + Marlin/pins_MEGATRONICS.h | 92 + Marlin/pins_MEGATRONICS_1.h | 88 + Marlin/pins_MEGATRONICS_2.h | 103 ++ Marlin/pins_MELZI.h | 11 + Marlin/pins_MELZI_1284.h | 15 + Marlin/pins_OMCA.h | 91 + Marlin/pins_OMCA_A.h | 78 + Marlin/pins_PRINTRBOARD.h | 88 + Marlin/pins_RAMBO.h | 165 ++ Marlin/pins_RAMPS_13.h | 227 +++ Marlin/pins_RAMPS_OLD.h | 69 + Marlin/pins_RUMBA.h | 110 ++ Marlin/pins_SANGUINOLOLU_11.h | 172 ++ Marlin/pins_SANGUINOLOLU_12.h | 19 + Marlin/pins_SAV_MKI.h | 88 + Marlin/pins_SETHI.h | 71 + Marlin/pins_STB_11.h | 11 + Marlin/pins_TEENSY2.h | 115 ++ Marlin/pins_TEENSYLU.h | 85 + Marlin/pins_ULTIMAIN_2.h | 80 + Marlin/pins_ULTIMAKER.h | 100 ++ Marlin/pins_ULTIMAKER_OLD.h | 62 + 44 files changed, 3018 insertions(+), 2940 deletions(-) create mode 100644 Marlin/pins_3DRAG.h create mode 100644 Marlin/pins_5DPRINT.h create mode 100644 Marlin/pins_99.h create mode 100644 Marlin/pins_AZTEEG_X1.h create mode 100644 Marlin/pins_AZTEEG_X3.h create mode 100644 Marlin/pins_AZTEEG_X3_PRO.h create mode 100644 Marlin/pins_BRAINWAVE.h create mode 100644 Marlin/pins_CHEAPTRONIC.h create mode 100644 Marlin/pins_DUEMILANOVE_328P.h create mode 100644 Marlin/pins_ELEFU_3.h create mode 100644 Marlin/pins_GEN3_MONOLITHIC.h create mode 100644 Marlin/pins_GEN3_PLUS.h create mode 100644 Marlin/pins_GEN6.h create mode 100644 Marlin/pins_GEN6_DELUXE.h create mode 100644 Marlin/pins_GEN7_12.h create mode 100644 Marlin/pins_GEN7_13.h create mode 100644 Marlin/pins_GEN7_14.h create mode 100644 Marlin/pins_GEN7_CUSTOM.h create mode 100644 Marlin/pins_K8200.h create mode 100644 Marlin/pins_LEAPFROG.h create mode 100644 Marlin/pins_MEGATRONICS.h create mode 100644 Marlin/pins_MEGATRONICS_1.h create mode 100644 Marlin/pins_MEGATRONICS_2.h create mode 100644 Marlin/pins_MELZI.h create mode 100644 Marlin/pins_MELZI_1284.h create mode 100644 Marlin/pins_OMCA.h create mode 100644 Marlin/pins_OMCA_A.h create mode 100644 Marlin/pins_PRINTRBOARD.h create mode 100644 Marlin/pins_RAMBO.h create mode 100644 Marlin/pins_RAMPS_13.h create mode 100644 Marlin/pins_RAMPS_OLD.h create mode 100644 Marlin/pins_RUMBA.h create mode 100644 Marlin/pins_SANGUINOLOLU_11.h create mode 100644 Marlin/pins_SANGUINOLOLU_12.h create mode 100644 Marlin/pins_SAV_MKI.h create mode 100644 Marlin/pins_SETHI.h create mode 100644 Marlin/pins_STB_11.h create mode 100644 Marlin/pins_TEENSY2.h create mode 100644 Marlin/pins_TEENSYLU.h create mode 100644 Marlin/pins_ULTIMAIN_2.h create mode 100644 Marlin/pins_ULTIMAKER.h create mode 100644 Marlin/pins_ULTIMAKER_OLD.h diff --git a/Marlin/boards.h b/Marlin/boards.h index 1670ad7026..b97ea211ca 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -14,7 +14,7 @@ #define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed) #define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan) #define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan) -#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignment +#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignments #define BOARD_GEN6 5 // Gen6 #define BOARD_GEN6_DELUXE 51 // Gen6 deluxe #define BOARD_SANGUINOLOLU_11 6 // Sanguinololu < 1.2 diff --git a/Marlin/pins.h b/Marlin/pins.h index 7eacb75e35..82717bcb47 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -1,9 +1,13 @@ +/** + * pins.h + * + */ #ifndef PINS_H #define PINS_H #include "boards.h" -#if !MB(5DPRINT) +// Preset optional pins #define X_MS1_PIN -1 #define X_MS2_PIN -1 #define Y_MS1_PIN -1 @@ -15,2941 +19,99 @@ #define E1_MS1_PIN -1 #define E1_MS2_PIN -1 #define DIGIPOTSS_PIN -1 -#endif - -/**************************************************************************************** -* 5DPrint D8 Driver board -* https://bitbucket.org/makible/5dprint-d8-controller-board -****************************************************************************************/ - -#if MB(5DPRINT) - -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 23 -#define X_STOP_PIN 37 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 19 -#define Y_STOP_PIN 36 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 18 -#define Z_STOP_PIN 39 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 17 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 20 // Bed -// You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h -// for the fan and Teensyduino uses a different pin mapping. -#define FAN_PIN 16 // Fan - -#define TEMP_0_PIN 1 // Extruder / Analog pin numbering -#define TEMP_BED_PIN 0 // Bed / Analog pin numbering - -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define LED_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define ALARM_PIN -1 - -// The SDSS pin uses a different pin mapping from file Sd2PinMap.h -#define SDSS 20 - -#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 - -// Microstepping pins -// Note that the pin mapping is not from fastio.h -// See Sd2PinMap.h for the pin configurations -#define X_MS1_PIN 25 -#define X_MS2_PIN 26 -#define Y_MS1_PIN 9 -#define Y_MS2_PIN 8 -#define Z_MS1_PIN 7 -#define Z_MS2_PIN 6 -#define E0_MS1_PIN 5 -#define E0_MS2_PIN 4 - -#endif // 5DPRINT - -/**************************************************************************************** -* Leapfrog Driver board -* -****************************************************************************************/ -#if MB(LEAPFROG) // Leapfrog board -#define KNOWN_BOARD 1 - -#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 28 -#define X_DIR_PIN 63 -#define X_ENABLE_PIN 29 -#define X_MIN_PIN 47 -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - -#define Y_STEP_PIN 14 // A6 -#define Y_DIR_PIN 15 // A0 -#define Y_ENABLE_PIN 39 -#define Y_MIN_PIN 48 -#define Y_MAX_PIN -1 //15 - -#define Z_STEP_PIN 31 // A2 -#define Z_DIR_PIN 32 // A6 -#define Z_ENABLE_PIN 30 // A1 -#define Z_MIN_PIN 49 -#define Z_MAX_PIN -1 - -#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 - -#define Y2_STEP_PIN 37 -#define Y2_DIR_PIN 40 -#define Y2_ENABLE_PIN 36 - -#define Z2_STEP_PIN 37 -#define Z2_DIR_PIN 40 -#define Z2_ENABLE_PIN 36 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN 13 -#define FAN_PIN 7 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SOL1_PIN 16 -#define SOL2_PIN 17 - -#define HEATER_0_PIN 9 -#define HEATER_1_PIN 8 // 12 -#define HEATER_2_PIN 11 //-1 // 13 -#define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN 15 // 1 -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN 10 // 14/15 -#define TEMP_BED_PIN 14 // 1,2 or I2C -/* 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 // LEAPFROG - -/**************************************************************************************** -* -* -****************************************************************************************/ - -#if MB(99) -#define KNOWN_BOARD 1 - -#define X_STEP_PIN 2 -#define X_DIR_PIN 3 -#define X_ENABLE_PIN -1 -#define X_STOP_PIN 16 - -#define Y_STEP_PIN 5 -#define Y_DIR_PIN 6 -#define Y_ENABLE_PIN -1 -#define Y_STOP_PIN 67 - -#define Z_STEP_PIN 62 -#define Z_DIR_PIN 63 -#define Z_ENABLE_PIN -1 -#define Z_STOP_PIN 59 - -#define E0_STEP_PIN 65 -#define E0_DIR_PIN 66 -#define E0_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN 9 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#endif // 99 - -/**************************************************************************************** -* Sethi 3D_1 pin assignment - www.sethi3d.com.br -* -****************************************************************************************/ - -#if MB(SETHI) -#define KNOWN_BOARD - -#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 - -#ifndef GEN7_VERSION -#define GEN7_VERSION 12 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 2 - -//y axis pins -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 0 - -//z axis pins -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 1 -#define Z_MAX_PIN 0 - -//extruder pins -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#if (GEN7_VERSION >= 13) -// Gen7 v1.3 removed the fan pin -#define FAN_PIN -1 -#else -#define FAN_PIN 31 -#endif -#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 - -#endif // SETHI - -/**************************************************************************************** -* Gen7 v1.1, v1.2, v1.3 pin assignment -* -****************************************************************************************/ - - -#if MB(GEN7_13) -#define MOTHERBOARD BOARD_GEN7_12 -#define GEN7_VERSION 13 // v1.3 -#endif - -#if MB(GEN7_12) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) -#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -#ifndef GEN7_VERSION -#define GEN7_VERSION 12 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 7 - -//y axis pins -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 5 - -//z axis pins -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 1 -#define Z_MAX_PIN 0 - -//extruder pins -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#if (GEN7_VERSION >= 13) -// Gen7 v1.3 removed the fan pin -#define FAN_PIN -1 -#else -#define FAN_PIN 31 -#endif -#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 - -#endif - -/**************************************************************************************** -* Gen7 v1.4 pin assignment -* -****************************************************************************************/ - -#if MB(GEN7_14) -#define GEN7_VERSION 14 // v1.4 -#endif - -#if MB(GEN7_14) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) -#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -#ifndef GEN7_VERSION -#define GEN7_VERSION 14 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 29 -#define X_DIR_PIN 28 -#define X_ENABLE_PIN 25 -#define X_STOP_PIN 0 - -//y axis pins -#define Y_STEP_PIN 27 -#define Y_DIR_PIN 26 -#define Y_ENABLE_PIN 25 -#define Y_STOP_PIN 1 - -//z axis pins -#define Z_STEP_PIN 23 -#define Z_DIR_PIN 22 -#define Z_ENABLE_PIN 25 -#define Z_STOP_PIN 2 - -//extruder pins -#define E0_STEP_PIN 19 -#define E0_DIR_PIN 18 -#define E0_ENABLE_PIN 25 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 0 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN 15 - -//our pin for debugging. -#define DEBUG_PIN 0 - -//our RS485 pins -#define TX_ENABLE_PIN 12 -#define RX_ENABLE_PIN 13 - -#endif // GEN7 - -/****************************************************************************** -* Gen7 Alfons3 pin assignment -* -******************************************************************************/ -/* These Pins are assigned for the modified GEN7 Board from Alfons3 Please review the pins and adjust it for your needs*/ #if MB(GEN7_CUSTOM) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. -#endif - -//x axis pins - #define X_STEP_PIN 21 // different from standard GEN7 - #define X_DIR_PIN 20 // different from standard GEN7 - #define X_ENABLE_PIN 24 - #define X_STOP_PIN 0 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_STOP_PIN 1 - - //z axis pins - #define Z_STEP_PIN 26 - #define Z_DIR_PIN 25 - #define Z_ENABLE_PIN 24 - #define Z_STOP_PIN 2 - - //extruder pins - #define E0_STEP_PIN 28 - #define E0_DIR_PIN 27 - #define E0_ENABLE_PIN 24 - - #define TEMP_0_PIN 2 - #define TEMP_1_PIN -1 - #define TEMP_2_PIN -1 - #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) - - #define HEATER_0_PIN 4 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #define HEATER_BED_PIN 3 // (bed) - - #define SDPOWER -1 - #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support - #define LED_PIN -1 - - #define FAN_PIN -1 - #define PS_ON_PIN 19 - //our pin for debugging. - - #define DEBUG_PIN -1 - - //our RS485 pins - //#define TX_ENABLE_PIN 12 - //#define RX_ENABLE_PIN 13 - - #define BEEPER -1 - #define SDCARDDETECT -1 - #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work - - #define KILL_PIN -1 - //Pins for 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 //the click - -#endif // GEN7_CUSTOM - -/**************************************************************************************** -* Arduino Mega pin assignment -* -****************************************************************************************/ -#if IS_RAMPS || MB(3DRAG) || MB(K8200) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) -#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 - - -#if (IS_RAMPS && !MB(RAMPS_OLD)) || MB(3DRAG) || MB(K8200) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) - - #define LARGE_FLASH true - - #if MB(3DRAG) || MB(K8200) - #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 63 - #define Z_MIN_PIN 18 - #define Z_MAX_PIN -1 - - #define Y2_STEP_PIN 36 - #define Y2_DIR_PIN 34 - #define Y2_ENABLE_PIN 30 - - #define Z2_STEP_PIN 36 - #define Z2_DIR_PIN 34 - #define Z2_ENABLE_PIN 30 - - #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 SDPOWER -1 - #define SDSS 25//53 - #define LED_PIN 13 - - #define BEEPER 33 - - #else - - #define X_STEP_PIN 54 - #define X_DIR_PIN 55 - #define X_ENABLE_PIN 38 - #define X_MIN_PIN 3 - #define X_MAX_PIN 2 - - #define Y_STEP_PIN 60 - #define Y_DIR_PIN 61 - #define Y_ENABLE_PIN 56 - #define Y_MIN_PIN 14 - #define Y_MAX_PIN 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 19 - - #define Y2_STEP_PIN 36 - #define Y2_DIR_PIN 34 - #define Y2_ENABLE_PIN 30 - - #define Z2_STEP_PIN 36 - #define Z2_DIR_PIN 34 - #define Z2_ENABLE_PIN 30 - - #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 - -#if MB(RAMPS_13_EEB) //FMM added for Filament Extruder -#ifdef FILAMENT_SENSOR - //define analog pin for the filament width sensor input - //Use the RAMPS 1.4 Analog input 5 on the AUX2 connector - #define FILWIDTH_PIN 5 -#endif -#endif - - - #if MB(AZTEEG_X3_PRO) - #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 - #endif - - #define SDPOWER -1 - #define SDSS 53 - #define LED_PIN 13 - #endif - - #if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) - #define FAN_PIN 9 // (Sprinter config) - #else - #define FAN_PIN 4 // IO pin. Buffer needed - #endif - - #if MB(3DRAG) || MB(K8200) || MB(RAMPS_13_EEF) - #define FAN_PIN 8 - #endif - - #if MB(RAMPS_13_EFF) - #define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller - #endif - - #define PS_ON_PIN 12 - - #if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) - #define KILL_PIN 41 - #else - #define KILL_PIN -1 - #endif - - #if MB(RAMPS_13_EFF) - #define HEATER_0_PIN 8 - #else - #define HEATER_0_PIN 10 // EXTRUDER 1 - #endif - - #if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) - #define HEATER_1_PIN -1 - #else - #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) - #endif - - - #if MB(3DRAG) || MB(K8200) - #define HEATER_0_PIN 10 - #define HEATER_1_PIN 12 - #define HEATER_2_PIN 6 - #elif MB(AZTEEG_X3_PRO) - #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 - #else - #define HEATER_2_PIN -1 - #endif - - #define TEMP_0_PIN 13 // ANALOG NUMBERING - #define TEMP_1_PIN 15 // ANALOG NUMBERING - #if MB(AZTEEG_X3_PRO) - #define TEMP_2_PIN 12 // ANALOG NUMBERING - #define TEMP_3_PIN 11 // ANALOG NUMBERING - #define TEMP_4_PIN 10 // ANALOG NUMBERING - #define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro - #define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro - #else - #define TEMP_2_PIN -1 // ANALOG NUMBERING - #endif - - #if MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) - #define HEATER_BED_PIN -1 // NO BED - #else - #if MB(3DRAG) || MB(K8200) - #define HEATER_BED_PIN 9 // BED - #else - #define HEATER_BED_PIN 8 // BED - #endif - #endif - - #define TEMP_BED_PIN 14 // ANALOG NUMBERING - - #ifdef NUM_SERVOS - #define SERVO0_PIN 11 - - #if NUM_SERVOS > 1 - #define SERVO1_PIN 6 - #endif - - #if NUM_SERVOS > 2 - #define SERVO2_PIN 5 - #endif - - #if NUM_SERVOS > 3 - #define SERVO3_PIN 4 - #endif - #endif - - #if MB(AZTEEG_X3_PRO) - #define BEEPER 33 - #endif - - #ifdef TEMP_STAT_LEDS - #if MB(AZTEEG_X3) - #define STAT_LED_RED 6 - #define STAT_LED_BLUE 11 - #endif - #endif - - #ifdef ULTRA_LCD - - #ifdef 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 - - #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER - #define BEEPER 37 - - #define BTN_EN1 31 - #define BTN_EN2 33 - #define BTN_ENC 35 - - #define SDCARDDETECT 49 - #elif defined(LCD_I2C_PANELOLU2) - #define BTN_EN1 47 //reverse if the encoder turns the wrong way. - #define BTN_EN2 43 - #define BTN_ENC 32 - #define LCD_SDSS 53 - #define SDCARDDETECT -1 - #define KILL_PIN 41 - #elif defined(LCD_I2C_VIKI) - #define BTN_EN1 22 //reverse if the encoder turns the wrong way. - #define BTN_EN2 7 - #define BTN_ENC -1 - #define LCD_SDSS 53 - #define SDCARDDETECT 49 - #else - //arduino pin which triggers an piezzo beeper - #define BEEPER 33 // Beeper on AUX-4 - - //buttons are directly attached using AUX-2 - #ifdef REPRAPWORLD_KEYPAD - #define BTN_EN1 64 // encoder - #define BTN_EN2 59 // encoder - #define BTN_ENC 63 // enter button - #define SHIFT_OUT 40 // shift register - #define SHIFT_CLK 44 // shift register - #define SHIFT_LD 42 // shift register - #else - #define BTN_EN1 37 - #define BTN_EN2 35 - #define BTN_ENC 31 //the click - #endif - - #ifdef G3D_PANEL - #define SDCARDDETECT 49 - #else - #define SDCARDDETECT -1 // Ramps does not use this port - #endif - - #endif - - #if MB(3DRAG) || MB(K8200) - #define BEEPER -1 - - #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 - #define BTN_EN1 16 - #define BTN_EN2 17 - #define BTN_ENC 23 //the click - - #endif - #else //old style panel with shift register - //arduino pin witch triggers an piezzo beeper - #define BEEPER 33 //No Beeper added - - //buttons are attached to a shift register - // Not wired this yet - //#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 17 - #define LCD_PINS_D4 23 - #define LCD_PINS_D5 25 - #define LCD_PINS_D6 27 - #define LCD_PINS_D7 29 - #endif - #endif //ULTRA_LCD - -#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default (BOARD_RAMPS_OLD) - -#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 -1 //19 - -#define E0_STEP_PIN 32 -#define E0_DIR_PIN 34 -#define E0_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_BED_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_BED_PIN 8 // RAMPS 1.1 - #define FAN_PIN 9 // RAMPS 1.1 -#endif -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! - -#endif // RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG || K8200 - -// 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 66// Do not use pin 53 if there is even the remote possibility of using Display/SD card + #include "pins_GEN7_CUSTOM.h" +#elif MB(GEN7_12) + #include "pins_GEN7_12.h" +#elif MB(GEN7_13) + #include "pins_GEN7_13.h" +#elif MB(GEN7_14) + #include "pins_GEN7_14.h" +#elif MB(CHEAPTRONIC) + #include "pins_CHEAPTRONIC.h" +#elif MB(SETHI) + #include "pins_SETHI.h" +#elif 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(DUEMILANOVE_328P) + #include "pins_DUEMILANOVE_328P.h" +#elif MB(GEN6) + #include "pins_GEN6.h" +#elif MB(GEN6_DELUXE) + #include "pins_GEN6_DELUXE.h" +#elif MB(SANGUINOLOLU_11) + #include "pins_SANGUINOLOLU_11.h" +#elif MB(SANGUINOLOLU_12) + #include "pins_SANGUINOLOLU_12.h" +#elif MB(MELZI) + #include "pins_MELZI.h" +#elif MB(STB_11) + #include "pins_STB_11.h" +#elif MB(AZTEEG_X1) + #include "pins_AZTEEG_X1.h" +#elif MB(MELZI_1284) + #include "pins_MELZI_1284.h" +#elif MB(AZTEEG_X3) + #include "pins_AZTEEG_X3.h" +#elif MB(AZTEEG_X3_PRO) + #include "pins_AZTEEG_X3_PRO.h" +#elif MB(ULTIMAKER) + #include "pins_ULTIMAKER.h" +#elif MB(ULTIMAKER_OLD) + #include "pins_ULTIMAKER_OLD.h" +#elif MB(ULTIMAIN_2) + #include "pins_ULTIMAIN_2.h" +#elif MB(3DRAG) + #include "pins_3DRAG.h" +#elif MB(K8200) + #include "pins_K8200.h" +#elif MB(TEENSYLU) + #include "pins_TEENSYLU.h" +#elif MB(RUMBA) + #include "pins_RUMBA.h" +#elif MB(PRINTRBOARD) + #include "pins_PRINTRBOARD.h" +#elif MB(BRAINWAVE) + #include "pins_BRAINWAVE.h" +#elif MB(SAV_MKI) + #include "pins_SAV_MKI.h" +#elif MB(TEENSY2) + #include "pins_TEENSY2.h" +#elif MB(GEN3_PLUS) + #include "pins_GEN3_PLUS.h" +#elif MB(GEN3_MONOLITHIC) + #include "pins_GEN3_MONOLITHIC.h" +#elif MB(MEGATRONICS) + #include "pins_MEGATRONICS.h" +#elif MB(MEGATRONICS_2) + #include "pins_MEGATRONICS_2.h" +#elif MB(MEGATRONICS_1) + #include "pins_MEGATRONICS_1.h" +#elif MB(OMCA_A) + #include "pins_OMCA_A.h" +#elif MB(OMCA) + #include "pins_OMCA.h" +#elif MB(RAMBO) + #include "pins_RAMBO.h" +#elif MB(ELEFU_3) + #include "pins_ELEFU_3.h" +#elif MB(5DPRINT) + #include "pins_5DPRINT.h" +#elif MB(LEAPFROG) + #include "pins_LEAPFROG.h" +#elif MB(99) + #include "pins_99.h" #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 - -#endif // RAMPS_OLD || RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG || K8200 - -/**************************************************************************************** -* Duemilanove w/ ATMega328P pin assignment -* -****************************************************************************************/ -#if MB(DUEMILANOVE_328P) -#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_STOP_PIN 17 - -#define Y_STEP_PIN 10 -#define Y_DIR_PIN 7 -#define Y_ENABLE_PIN -1 -#define Y_STOP_PIN 8 - -#define Z_STEP_PIN 13 -#define Z_DIR_PIN 3 -#define Z_ENABLE_PIN 2 -#define Z_STOP_PIN 4 - -#define E0_STEP_PIN 11 -#define E0_DIR_PIN 12 -#define E0_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 HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#endif // DUEMILANOVE_328P - -/**************************************************************************************** -* Elefu RA Board Pin Assignments -* -****************************************************************************************/ -#if MB(ELEFU_3) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. -#endif - - -#define X_STEP_PIN 49 -#define X_DIR_PIN 13 -#define X_ENABLE_PIN 48 -#define X_MIN_PIN 35 -#define X_MAX_PIN -1 //34 - -#define Y_STEP_PIN 11 -#define Y_DIR_PIN 9 -#define Y_ENABLE_PIN 12 -#define Y_MIN_PIN 33 -#define Y_MAX_PIN -1 //32 - -#define Z_STEP_PIN 7 -#define Z_DIR_PIN 6 -#define Z_ENABLE_PIN 8 -#define Z_MIN_PIN 31 -#define Z_MAX_PIN -1 //30 - -#define E2_STEP_PIN 43 -#define E2_DIR_PIN 47 -#define E2_ENABLE_PIN 42 - -#define E1_STEP_PIN 18 -#define E1_DIR_PIN 19 -#define E1_ENABLE_PIN 38 - -#define E0_STEP_PIN 40 -#define E0_DIR_PIN 41 -#define E0_ENABLE_PIN 37 - -#define SDPOWER -1 -#define LED_PIN -1 //Use +12V Aux port for LED Ring - -#define FAN_PIN 16 //5V PWM - -#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 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 TEMP_0_PIN 3 //ANALOG NUMBERING -#define TEMP_1_PIN 2 //ANALOG NUMBERING -#define TEMP_2_PIN 1 //ANALOG NUMBERING -#define TEMP_BED_PIN 0 //ANALOG NUMBERING - -#define BEEPER 36 - -#define KILL_PIN -1 - -// M240 Triggers a camera by emulating a Canon RC-1 Remote -// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ -#define PHOTOGRAPH_PIN 29 - -#ifdef RA_CONTROL_PANEL - - #define SDSS 53 - #define SDCARDDETECT 28 - - #define BTN_EN1 14 - #define BTN_EN2 39 - #define BTN_ENC 15 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif //RA_CONTROL_PANEL - -#ifdef 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_LIGHTING - - -#endif // ELEFU_3 - - -/**************************************************************************************** -* Gen6 pin assignment -* -****************************************************************************************/ -#if MB(GEN6) || MB(GEN6_DELUXE) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -//x axis pins - #define X_STEP_PIN 15 - #define X_DIR_PIN 18 - #define X_ENABLE_PIN 19 - #define X_STOP_PIN 20 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_STOP_PIN 25 - - //z axis pins - #define Z_STEP_PIN 27 - #define Z_DIR_PIN 28 - #define Z_ENABLE_PIN 29 - #define Z_STOP_PIN 30 - - //extruder pins - #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 - #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 - #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 - - - #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410 - #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #if MB(GEN6) - #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410 - #else - #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410 - #endif - #define SDPOWER -1 - #define SDSS 17 - #define LED_PIN -1 //changed @ rkoeppl 20110410 - #define FAN_PIN -1 //changed @ rkoeppl 20110410 - #define PS_ON_PIN -1 //changed @ rkoeppl 20110410 - #define KILL_PIN -1 //changed @ drakelive 20120830 - //our pin for debugging. - - #define DEBUG_PIN 0 - - //our RS485 pins - #define TX_ENABLE_PIN 12 - #define RX_ENABLE_PIN 13 - -#endif // GEN6 || GEN6_DELUXE - -/**************************************************************************************** -* Sanguinololu pin assignment -* -****************************************************************************************/ -#if MB(STB_11) -#define STB -#endif -#if MB(MELZI) || MB(MELZI_1284) -#define MELZI -#endif -#if MB(AZTEEG_X1) -#define AZTEEG_X1 -#endif -#if MB(SANGUINOLOLU_12) || MB(MELZI) || MB(STB_11) || MB(AZTEEG_X1) || MB(MELZI_1284) -#undef MOTHERBOARD -#define MOTHERBOARD BOARD_SANGUINOLOLU_11 -#define SANGUINOLOLU_V_1_2 - -#if defined(__AVR_ATmega1284P__) - #define LARGE_FLASH true -#endif -#endif - -#if MB(SANGUINOLOLU_11) -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 21 -#define X_STOP_PIN 18 - -#define Y_STEP_PIN 22 -#define Y_DIR_PIN 23 -#define Y_STOP_PIN 19 - -#define Z_STEP_PIN 3 -#define Z_DIR_PIN 2 -#define Z_STOP_PIN 20 - -#define E0_STEP_PIN 1 -#define E0_DIR_PIN 0 - -#define LED_PIN -1 - -#define FAN_PIN -1 - #if FAN_PIN == 12 || FAN_PIN ==13 - #define FAN_SOFT_PWM -#endif - -#ifdef MELZI - #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */ - #define FAN_PIN 4 // Works for Panelolu2 too -#endif - -#ifdef STB - #define FAN_PIN 4 - // Uncomment this if you have the first generation (V1.10) of STBs board - #define LCD_PIN_BL 17 // LCD backlight LED -#endif - -#ifdef AZTEEG_X1 - #define FAN_PIN 4 -#endif - -#ifdef NUM_SERVOS - #define SERVO0_PIN -1 - - #if NUM_SERVOS > 1 - #define SERVO1_PIN -1 - #endif - - #if NUM_SERVOS > 2 - #define SERVO2_PIN -1 - #endif - - #if NUM_SERVOS > 3 - #define SERVO3_PIN -1 - #endif -#endif - -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 // (extruder) -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 - -#ifdef 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 - - #ifdef 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 - -#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define SDPOWER -1 -#define SDSS 31 - -/* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */ -//#define SDSS 24 - - #ifdef ULTRA_LCD - #ifdef NEWPANEL - //we have no buzzer installed - #define BEEPER -1 - //LCD Pins - #ifdef DOGLCD - #ifdef U8GLIB_ST7920 //SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0 - #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 - #define BEEPER 27 // Pin 27 is take by LED_Pin, but Melzi LED do nothing with Marlin and I take this pin for BEEPER.... See here > [github.com] , If you want use this pin with Gcode M42 instead BEEPER - #else - // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 30 - #define DOGLCD_CS 29 - #define LCD_CONTRAST 1 - #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 // standard Hitachi LCD controller - #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 - //The encoder and click button - #define BTN_EN1 11 - #define BTN_EN2 10 - #ifdef LCD_I2C_PANELOLU2 - #ifdef MELZI - #define BTN_ENC 29 //the click switch - #define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board - #else - #define BTN_ENC 30 //the click switch - #endif - #else - #define BTN_ENC 16 //the click switch - #define LCD_SDSS 28 //to use the SD card reader on the smart controller rather than the melzi board - #endif //Panelolu2 - //not connected to a pin - #define SDCARDDETECT -1 - - #endif //Newpanel - #endif //Ultipanel - - #ifdef MAKRPANEL - #define BEEPER 29 - // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 30 - #define DOGLCD_CS 17 - #define LCD_PIN_BL 28 // backlight LED on PA3 - // GLCD features - #define LCD_CONTRAST 1 - // Uncomment screen orientation - #define LCD_SCREEN_ROT_0 - // #define LCD_SCREEN_ROT_90 - // #define LCD_SCREEN_ROT_180 - // #define LCD_SCREEN_ROT_270 - //The encoder and click button - #define BTN_EN1 11 - #define BTN_EN2 10 - #define BTN_ENC 16 //the click switch - //not connected to a pin - #define SDCARDDETECT -1 - #endif //Makrpanel - -#endif // SANGUINOLOLU_11 - - -/***************************************************************** -* Ultimaker pin assignment -******************************************************************/ - -#if MB(ULTIMAKER) -#define KNOWN_BOARD - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define LARGE_FLASH true - -#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_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 3 -#define TEMP_1_PIN 9 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 7 -#define PS_ON_PIN 12 -#define KILL_PIN -1 -#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing. -#define SERVO0_PIN 13 // untested - -#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 SDCARDDETECT 38 - - #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 - - #define SDCARDDETECT -1 - #endif -#endif //ULTRA_LCD - -#endif // ULTIMAKER - -#if MB(ULTIMAKER_OLD) -#define KNOWN_BOARD -/***************************************************************** -* Ultimaker pin assignment (Old electronics) -******************************************************************/ - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_MIN_PIN 15 -#define X_MAX_PIN 14 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_MIN_PIN 17 -#define Y_MAX_PIN 16 -#define Y_ENABLE_PIN 29 - -#define Z_STEP_PIN 37 -#define Z_DIR_PIN 39 -#define Z_MIN_PIN 19 -#define Z_MAX_PIN 18 -#define Z_ENABLE_PIN 35 - -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 1 -#define TEMP_1_PIN 1 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 43 -#define E0_DIR_PIN 45 -#define E0_ENABLE_PIN 41 - -#define E1_STEP_PIN -1 -#define E1_DIR_PIN -1 -#define E1_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. - -#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 - -#endif // ULTIMAKER_OLD - -#if MB(ULTIMAIN_2) -#define KNOWN_BOARD -/***************************************************************** -* Ultiboard v2.0 pin assignment -******************************************************************/ - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_STOP_PIN 22 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 32 -#define Y_DIR_PIN 33 -#define Y_STOP_PIN 26 -#define Y_ENABLE_PIN 31 - -#define Z_STEP_PIN 35 -#define Z_DIR_PIN 36 -#define Z_STOP_PIN 29 -#define Z_ENABLE_PIN 34 - -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 3 -#define TEMP_1_PIN 9 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#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 SDPOWER -1 -#define SDSS 53 -#define LED_PIN 8 -#define FAN_PIN 7 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. -#define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered -#define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider. - -#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 -#define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250} - -//arduino pin witch triggers an piezzo beeper -#define BEEPER 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 //the click - -#define BLEN_C 2 -#define BLEN_B 1 -#define BLEN_A 0 - -#define SDCARDDETECT 39 - -#endif // ULTIMAIN_2 - -/**************************************************************************************** -* RUMBA pin assignment -* -****************************************************************************************/ -#if MB(RUMBA) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 17 -#define X_DIR_PIN 16 -#define X_ENABLE_PIN 48 -#define X_MIN_PIN 37 -#define X_MAX_PIN 36 - -#define Y_STEP_PIN 54 -#define Y_DIR_PIN 47 -#define Y_ENABLE_PIN 55 -#define Y_MIN_PIN 35 -#define Y_MAX_PIN 34 - -#define Z_STEP_PIN 57 -#define Z_DIR_PIN 56 -#define Z_ENABLE_PIN 62 -#define Z_MIN_PIN 33 -#define Z_MAX_PIN 32 - -#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 - -#define LED_PIN 13 - -#define FAN_PIN 7 -//additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8 - -#define PS_ON_PIN 45 -#define KILL_PIN 46 - -#if (TEMP_SENSOR_0==0) - #define TEMP_0_PIN -1 - #define HEATER_0_PIN -1 -#else - #define HEATER_0_PIN 2 // EXTRUDER 1 - #if (TEMP_SENSOR_0==-1) - #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used - #else - #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used - #endif -#endif - -#if (TEMP_SENSOR_1==0) - #define TEMP_1_PIN -1 - #define HEATER_1_PIN -1 -#else - #define HEATER_1_PIN 3 // EXTRUDER 2 - #if (TEMP_SENSOR_1==-1) - #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used - #else - #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used - #endif -#endif - -#if (TEMP_SENSOR_2==0) - #define TEMP_2_PIN -1 - #define HEATER_2_PIN -1 -#else - #define HEATER_2_PIN 6 // EXTRUDER 3 - #if (TEMP_SENSOR_2==-1) - #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple - #else - #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used - #endif -#endif - -//optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used -//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4 - -#if (TEMP_SENSOR_BED==0) - #define TEMP_BED_PIN -1 - #define HEATER_BED_PIN -1 -#else - #define HEATER_BED_PIN 9 // BED - #if (TEMP_SENSOR_BED==-1) - #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple - #else - #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used - #endif -#endif - -#define SDPOWER -1 -#define SDSS 53 -#define SDCARDDETECT 49 -#define BEEPER 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 - -#endif // RUMBA - - -/**************************************************************************************** -* Teensylu 0.7 / Printrboard 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 -****************************************************************************************/ -#if MB(TEENSYLU) || MB(PRINTRBOARD) -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. -#error These Teensylu/Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 39 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 38 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 23 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 19 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN 46 -#define HEATER_2_PIN 47 -#define HEATER_BED_PIN 20 // Bed -// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin -// fastio pin numbering otherwise -#ifdef FAN_SOFT_PWM || FAST_PWM_FAN - #define FAN_PIN 22 // Fan -#else - #define FAN_PIN 16 // Fan -#endif - -#if MB(TEENSYLU) // Teensylu - #define X_STOP_PIN 13 - #define Y_STOP_PIN 14 - #define Z_STOP_PIN 15 - #define TEMP_0_PIN 7 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 6 // Bed / Analog pin numbering -#else // Printrboard - #define X_STOP_PIN 35 - #define Y_STOP_PIN 8 - #define Z_STOP_PIN 36 - #define TEMP_0_PIN 1 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 0 // Bed / Analog pin numbering - #ifdef FILAMENT_SENSOR - #define FILWIDTH_PIN 2 - #endif //FILAMENT_SENSOR -#endif - -#define TEMP_1_PIN -1 -#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 - -#if defined(ULTRA_LCD) && defined(NEWPANEL) - //we have no buzzer installed - #define BEEPER -1 - //LCD Pins - #ifdef LCD_I2C_PANELOLU2 - #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 - #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 - #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 - #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) - #endif //LCD_I2C_PANELOLU2 - //not connected to a pin - #define SDCARDDETECT -1 -#endif //Ultipanel && Newpanel - -#endif // TEENSYLU || PRINTRBOARD - -/**************************************************************************************** - * Brainwave 1.0 pin assignments (AT90USB646) - * Requires hardware bundle for Arduino: - https://github.com/unrepentantgeek/brainwave-arduino - ****************************************************************************************/ -#if MB(BRAINWAVE) -#define KNOWN_BOARD 1 -#define AT90USB 646 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB646__ -#error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 27 -#define X_DIR_PIN 29 -#define X_ENABLE_PIN 28 -#define X_STOP_PIN 7 -#define X_ATT_PIN 26 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_ENABLE_PIN 32 -#define Y_STOP_PIN 6 -#define Y_ATT_PIN 30 - -#define Z_STEP_PIN 17 -#define Z_DIR_PIN 19 -#define Z_ENABLE_PIN 18 -#define Z_STOP_PIN 5 -#define Z_ATT_PIN 16 - -#define E0_STEP_PIN 21 -#define E0_DIR_PIN 23 -#define E0_ENABLE_PIN 22 -#define E0_ATT_PIN 20 - -#define HEATER_0_PIN 4 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 38 // Bed -#define FAN_PIN 3 // Fan - -#define TEMP_0_PIN 7 // Extruder / Analog pin numbering -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // Bed / Analog pin numbering - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN 39 -#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 // BRAINWAVE - -// -// SAV Mk-I -// ----------------------------------------------------------------------------------- -/**************************************************************************************** -* SAV MkI pin assignments (AT90USB1286) -* Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE! - http://www.pjrc.com/teensy/teensyduino.html - RepRap Clone Wars project board. -****************************************************************************************/ -#if MB(SAV_MKI) // SAV Mk-I -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 39 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 38 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 23 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 19 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 20 // Bed -#define FAN_PIN 16 // Fan -- from Teensyduino environment. - // For the fan and Teensyduino uses a different pin mapping. - - #define X_STOP_PIN 13 - #define Y_STOP_PIN 14 - #define Z_STOP_PIN 15 -// #define Z_STOP_PIN 36 // For inductive sensor. - - #define TEMP_0_PIN 7 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 6 // Bed / Analog pin numbering - -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define SDSS 20 // PB0 - 8 in marlin env. -#define LED_PIN -1 -#define PS_ON_PIN -1 -#define ALARM_PIN -1 -#define SDCARDDETECT -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 - -#define BEEPER -1 -#define LCD_PINS_RS -1 -#define LCD_PINS_ENABLE -1 -#define LCD_PINS_D4 -1 -#define LCD_PINS_D5 -1 -#define LCD_PINS_D6 -1 -#define LCD_PINS_D7 -1 - -#ifdef SAV_3DLCD -// For LCD SHIFT register LCD -#define SR_DATA_PIN 1 -#define SR_CLK_PIN 0 - -#define BTN_EN1 41 -#define BTN_EN2 40 -#define BTN_ENC 12 - -#define KILL_PIN 42 // A2 = 42 - teensy = 40 -#define HOME_PIN -1 // A4 = marlin 44 - teensy = 42 - -#ifdef NUM_SERVOS - #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp) -#endif - -#endif - -#endif // SAV_MKI - -/**************************************************************************************** -* 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: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make -* -****************************************************************************************/ -#if MB(TEENSY2) -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -/* -DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a TeensyBreadboard: - - 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 AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical. - #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config - // or build from command line with: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make -#endif - -#define X_STEP_PIN 28 // 0 Marlin -#define X_DIR_PIN 29 // 1 Marlin -#define X_ENABLE_PIN 26 - -#define Y_STEP_PIN 30 // 2 Marlin -#define Y_DIR_PIN 31 // 3 -#define Y_ENABLE_PIN 26 // Shared w/x - -#define Z_STEP_PIN 32 // 4 -#define Z_DIR_PIN 33 // 5 -#define Z_ENABLE_PIN 26 // Shared w/x - -#define E0_STEP_PIN 34 // 6 -#define E0_DIR_PIN 35 // 7 -#define E0_ENABLE_PIN 26 // Shared w/x - -#define HEATER_0_PIN 15 // 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 14 // 20 // Bed -#define FAN_PIN 16 // 22 // Fan - -#define X_STOP_PIN 2 -#define Y_STOP_PIN 3 -#define Z_STOP_PIN 4 - -#define TEMP_0_PIN 7 // Extruder / Analog pin numbering -#define TEMP_BED_PIN 6 // Bed / Analog pin numbering -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define SDCARDDETECT -1 -#define SDSS 20 // 8 -#define LED_PIN 6 -#define PS_ON_PIN 27 -#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 21 // 9 - #define MISO_PIN 23 // 11 - #define MOSI_PIN 22 // 10 -#endif - -#ifdef ULTIPANEL -#define LCD_PINS_RS 8 -#define LCD_PINS_ENABLE 9 -#define LCD_PINS_D4 10 -#define LCD_PINS_D5 11 -#define LCD_PINS_D6 12 -#define LCD_PINS_D7 13 -#define BTN_EN1 38 -#define BTN_EN2 39 -#define BTN_ENC 40 -#endif - -#endif // TEENSY2 - - -/**************************************************************************************** -* Gen3+ pin assignment -* -****************************************************************************************/ -#if MB(GEN3_PLUS) -#define MOTHERBOARD BOARD_SANGUINOLOLU_11 /*TODO: Figure out, Why is this done?*/ -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 18 -#define X_STOP_PIN 20 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_STOP_PIN 25 - -#define Z_STEP_PIN 27 -#define Z_DIR_PIN 28 -#define Z_STOP_PIN 30 - -#define E0_STEP_PIN 17 -#define E0_DIR_PIN 21 - -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN 14 -#define KILL_PIN -1 - -#define HEATER_0_PIN 12 // (extruder) - -#define HEATER_BED_PIN 16 // (bed) -#define X_ENABLE_PIN 19 -#define Y_ENABLE_PIN 24 -#define Z_ENABLE_PIN 29 -#define E0_ENABLE_PIN 13 - -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define SDPOWER -1 -#define SDSS 4 -#define HEATER_2_PIN -1 - -#endif // GEN3_PLUS - -/**************************************************************************************** -* Gen3 Monolithic Electronics -* -****************************************************************************************/ -#if MB(GEN3_MONOLITHIC) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644P__ - #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif - -#define DEBUG_PIN 0 - -// x axis -#define X_STEP_PIN 15 -#define X_DIR_PIN 18 -#define X_MIN_PIN 20 -//Alex Checar #define X_STOP_PIN 20 -#define X_ENABLE_PIN 24 //actually uses Y_enable_pin -#define X_MAX_PIN -1 - -// y axes -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_MIN_PIN 25 -//Alex Checar #define Y_STOP_PIN 25 -#define Y_ENABLE_PIN 24 //shared with X_enable_pin -#define Y_MAX_PIN -1 - -// z axes -#define Z_STEP_PIN 27 -#define Z_DIR_PIN 28 -#define Z_MIN_PIN 30 -//Alex Checar #define Z_STOP_PIN 30 -#define Z_ENABLE_PIN 29 -#define Z_MAX_PIN -1 - -//extruder pins -#define E0_STEP_PIN 12 -#define E0_DIR_PIN 17 -#define E0_ENABLE_PIN 3 - -#define HEATER_0_PIN 16 -#define TEMP_0_PIN 0 - -#define FAN_PIN -1 - -//bed pins -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - - -#define SDSS -1 -#define SDPOWER -1 -#define LED_PIN -1 - -//pin for controlling the PSU. -#define PS_ON_PIN 14 //Alex, Do this work on the card? - -//Alex extras from Gen3+ -#define KILL_PIN -1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define HEATER_2_PIN -1 - -#endif // GEN3_MONOLITHIC - -/**************************************************************************************** -* Open Motion controller with enable based extruders -* -* 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 -* +--------+ -* -****************************************************************************************/ -#if MB(OMCA_A) //Alpha OMCA board -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644__ -#error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 21 -#define X_DIR_PIN 20 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 0 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 1 - -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_STOP_PIN 2 - -#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 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 3 -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 // 12 -#define HEATER_2_PIN -1 // 13 -#define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // 1 -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN -1 // 14/15 -#define TEMP_BED_PIN -1 // 1,2 or I2C -/* 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 // OMCA_A - -#if MB(OMCA) // Final OMCA board -- REF http://sanguino.cc/hardware -#define KNOWN_BOARD 1 - -#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 X_STEP_PIN 26 -#define X_DIR_PIN 25 -#define X_ENABLE_PIN 10 -#define X_STOP_PIN 0 - -#define Y_STEP_PIN 28 -#define Y_DIR_PIN 27 -#define Y_ENABLE_PIN 10 -#define Y_STOP_PIN 1 - -#define Z_STEP_PIN 23 -#define Z_DIR_PIN 22 -#define Z_ENABLE_PIN 10 -#define Z_STOP_PIN 2 - -#define E0_STEP_PIN 24 -#define E0_DIR_PIN 21 -#define E0_ENABLE_PIN 10 - -/* future proofing */ -#define __FS 20 -#define __FD 19 -#define __GS 18 -#define __GD 13 - -#define UNUSED_PWM 14 /* PWM on LEFT connector */ - -#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 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 14 /* PWM on MIDDLE connector */ -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 3 /*DONE PWM on RIGHT connector */ -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING -#define TEMP_1_PIN 1 // ANALOG -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 2 // 1,2 or I2C - -#define I2C_SCL 16 -#define I2C_SDA 17 - -#endif // OMCA - -/***************************************************************** -* Rambo Pin Assignments -******************************************************************/ -#if MB(RAMBO) -#define KNOWN_BOARD -#ifndef __AVR_ATmega2560__ -#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -// servo support -#ifdef NUM_SERVOS - #define SERVO0_PIN 22 //motor header MX1 - #if NUM_SERVOS > 1 - #define SERVO1_PIN 23 //Motor header MX2 - #endif - #if NUM_SERVOS > 2 - #define SERVO2_PIN 24 //Motor header MX3 - #endif - #if NUM_SERVOS > 3 - #define SERVO2_PIN 5 //pwm header pin 5 - #endif -#endif - -#define X_STEP_PIN 37 -#define X_DIR_PIN 48 -#define X_MIN_PIN 12 -#define X_MAX_PIN 24 -#define X_ENABLE_PIN 29 -#define X_MS1_PIN 40 -#define X_MS2_PIN 41 - -#define Y_STEP_PIN 36 -#define Y_DIR_PIN 49 -#define Y_MIN_PIN 11 -#define Y_MAX_PIN 23 -#define Y_ENABLE_PIN 28 -#define Y_MS1_PIN 69 -#define Y_MS2_PIN 39 - -#define Z_STEP_PIN 35 -#define Z_DIR_PIN 47 -#define Z_MIN_PIN 10 -#define Z_MAX_PIN 30 -#define Z_ENABLE_PIN 27 -#define Z_MS1_PIN 68 -#define Z_MS2_PIN 67 - -#define HEATER_BED_PIN 3 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 9 -#define TEMP_0_PIN 0 - -#define HEATER_1_PIN 7 -#define TEMP_1_PIN 1 - -#ifdef BARICUDA -#define HEATER_2_PIN 6 -#else -#define HEATER_2_PIN -1 -#endif -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 34 -#define E0_DIR_PIN 43 -#define E0_ENABLE_PIN 26 -#define E0_MS1_PIN 65 -#define E0_MS2_PIN 66 - -#define E1_STEP_PIN 33 -#define E1_DIR_PIN 42 -#define E1_ENABLE_PIN 25 -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 8 -/********************************************************** -Fan Pins -Fan_0 8 -Fan_1 6 -Fan_2 2 -***********************************************************/ -#define PS_ON_PIN 4 -#define KILL_PIN -1 //80 with Smart Controller LCD -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. - -#ifdef ULTRA_LCD - #define KILL_PIN 80 - #ifdef NEWPANEL - //arduino pin which triggers an piezzo beeper - #define BEEPER 79 // Beeper on AUX-4 - #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 - - //buttons are directly attached using AUX-2 - #define BTN_EN1 76 - #define BTN_EN2 77 - #define BTN_ENC 78 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT 81 // Ramps does not use this port - - //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 33 No Beeper added - //buttons are attached to a shift register - // Not wired this 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 - - //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 - -#ifdef FILAMENT_SENSOR - //Filip added pin for Filament sensor analog input - #define FILWIDTH_PIN 3 -#endif //FILAMENT_SENSOR - -#endif // RAMBO - -/**************************************************************************************** -* MegaTronics -* -****************************************************************************************/ -#if MB(MEGATRONICS) -#define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - -#define LARGE_FLASH true - -#define X_STEP_PIN 26 -#define X_DIR_PIN 28 -#define X_ENABLE_PIN 24 -#define X_MIN_PIN 41 -#define X_MAX_PIN 37 - -#define Y_STEP_PIN 60 // A6 -#define Y_DIR_PIN 61 // A7 -#define Y_ENABLE_PIN 22 -#define Y_MIN_PIN 14 -#define Y_MAX_PIN 15 - -#define Z_STEP_PIN 54 // A0 -#define Z_DIR_PIN 55 // A1 -#define Z_ENABLE_PIN 56 // A2 -#define Z_MIN_PIN 18 -#define Z_MAX_PIN 19 - -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 - - -#define FAN_PIN 7 // IO pin. Buffer needed -#define PS_ON_PIN 12 -#define KILL_PIN -1 - -#define HEATER_0_PIN 9 // EXTRUDER 1 -#define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter) -#define HEATER_2_PIN -1 - -#if TEMP_SENSOR_0 == -1 -#define TEMP_0_PIN 8 // ANALOG NUMBERING -#else -#define TEMP_0_PIN 13 // ANALOG NUMBERING - -#endif - -#define TEMP_1_PIN 15 // ANALOG NUMBERING -#define TEMP_2_PIN -1 // ANALOG NUMBERING -#define HEATER_BED_PIN 10 // BED -#define TEMP_BED_PIN 14 // ANALOG NUMBERING - -#define BEEPER 33 // Beeper on AUX-4 - - -#ifdef ULTRA_LCD - - #ifdef NEWPANEL - //arduino pin which triggers an piezzo beeper - - #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 are directly attached using AUX-2 - #define BTN_EN1 59 - #define BTN_EN2 64 - #define BTN_ENC 43 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Ramps does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 -#endif -#endif //ULTRA_LCD - -#endif // MEGATRONICS - -/**************************************************************************************** -* MegaTronics v2.0 -* -****************************************************************************************/ -#if MB(MEGATRONICS_2) - #define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - #define X_STEP_PIN 26 - #define X_DIR_PIN 27 - #define X_ENABLE_PIN 25 - #define X_MIN_PIN 37 - #define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. - - #define Y_STEP_PIN 4 // A6 - #define Y_DIR_PIN 54 // A0 - #define Y_ENABLE_PIN 5 - #define Y_MIN_PIN 41 - #define Y_MAX_PIN 38 //15 - - #define Z_STEP_PIN 56 // A2 - #define Z_DIR_PIN 60 // A6 - #define Z_ENABLE_PIN 55 // A1 - #define Z_MIN_PIN 18 - #define Z_MAX_PIN 19 - - #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 - #define E2_DIR_PIN 24 - #define E2_ENABLE_PIN 22 - - #define SDPOWER -1 - #define SDSS 53 - #define LED_PIN 13 - - #define FAN_PIN 7 - #define FAN2_PIN 6 - #define PS_ON_PIN 12 - #define KILL_PIN -1 - - #define HEATER_0_PIN 9 // EXTRUDER 1 - #define HEATER_1_PIN 8 // EXTRUDER 2 - #define HEATER_2_PIN -1 - - #if TEMP_SENSOR_0 == -1 - #define TEMP_0_PIN 4 // ANALOG NUMBERING - #else - #define TEMP_0_PIN 13 // ANALOG NUMBERING - #endif - - - #if TEMP_SENSOR_1 == -1 - #define TEMP_1_PIN 8 // ANALOG NUMBERING - #else - #define TEMP_1_PIN 15 // ANALOG NUMBERING - #endif - - #define TEMP_2_PIN -1 // ANALOG NUMBERING - - #define HEATER_BED_PIN 10 // BED - - #if TEMP_SENSOR_BED == -1 - #define TEMP_BED_PIN 8 // ANALOG NUMBERING - #else - #define TEMP_BED_PIN 14 // ANALOG NUMBERING - #endif - - #define BEEPER 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 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Megatronics does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // MEGATRONICS_2 - - -/**************************************************************************************** -* Minitronics v1.0 -* -****************************************************************************************/ -#if MB(MEGATRONICS_1) - #define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega1281__ - #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - #define X_STEP_PIN 48 - #define X_DIR_PIN 47 - #define X_ENABLE_PIN 49 - #define X_MIN_PIN 5 - #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - - #define Y_STEP_PIN 39 // A6 - #define Y_DIR_PIN 40 // A0 - #define Y_ENABLE_PIN 38 - #define Y_MIN_PIN 2 - #define Y_MAX_PIN -1 //15 - - #define Z_STEP_PIN 42 // A2 - #define Z_DIR_PIN 43 // A6 - #define Z_ENABLE_PIN 41 // A1 - #define Z_MIN_PIN 6 - #define Z_MAX_PIN -1 - - #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 - - #define E2_STEP_PIN -1 - #define E2_DIR_PIN -1 - #define E2_ENABLE_PIN -1 - - #define SDPOWER -1 - #define SDSS 16 - #define LED_PIN 46 - - #define FAN_PIN 9 - #define FAN2_PIN -1 - #define PS_ON_PIN -1 - #define KILL_PIN -1 - - #define HEATER_0_PIN 7 // EXTRUDER 1 - #define HEATER_1_PIN 8 // EXTRUDER 2 - #define HEATER_2_PIN -1 - - - #define TEMP_0_PIN 7 // ANALOG NUMBERING - #define TEMP_1_PIN 6 // ANALOG NUMBERING - #define TEMP_2_PIN -1 // ANALOG NUMBERING - - #define HEATER_BED_PIN 3 // BED - #define TEMP_BED_PIN 6 // ANALOG NUMBERING - - #define BEEPER -1 - - - #define LCD_PINS_RS -1 - #define LCD_PINS_ENABLE -1 - #define LCD_PINS_D4 -1 - #define LCD_PINS_D5 -1 - #define LCD_PINS_D6 -1 - #define LCD_PINS_D7 -1 - - - //buttons are directly attached using keypad - #define BTN_EN1 -1 - #define BTN_EN2 -1 - #define BTN_ENC -1 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Megatronics does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // MEGATRONICS_1 - -/**************************************************************************************** -* Cheaptronic v1.0 -* -****************************************************************************************/ -#if MB(CHEAPTRONIC) - #define KNOWN_BOARD 1 - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - //X motor stepper - #define X_STEP_PIN 14 - #define X_DIR_PIN 15 - #define X_ENABLE_PIN 24 - - //X endstop - #define X_MIN_PIN 3 - #define X_MAX_PIN -1 - - //Y motor stepper - #define Y_STEP_PIN 35 - #define Y_DIR_PIN 36 - #define Y_ENABLE_PIN 31 - - //Y endstop - #define Y_MIN_PIN 2 - #define Y_MAX_PIN -1 - - //Z motor stepper - #define Z_STEP_PIN 40 - #define Z_DIR_PIN 41 - #define Z_ENABLE_PIN 37 - - //Z endstop - #define Z_MIN_PIN 5 - #define Z_MAX_PIN -1 - - //Extruder 0 stepper - #define E0_STEP_PIN 26 - #define E0_DIR_PIN 28 - #define E0_ENABLE_PIN 25 - - //Extruder 1 stepper - #define E1_STEP_PIN 33 - #define E1_DIR_PIN 34 - #define E1_ENABLE_PIN 30 - - #define SDPOWER -1 - #define SDSS -1 - #define LED_PIN -1 - - //FAN - #define FAN_PIN -1 - - #define PS_ON_PIN -1 - #define KILL_PIN -1 - - #define HEATER_0_PIN 19 // EXTRUDER 1 - #define HEATER_1_PIN 23 // EXTRUDER 2 - //HeatedBad - #define HEATER_BED_PIN 22 - //Cheaptronic v1.0 hasent EXTRUDER 3 - #define HEATER_2_PIN -1 - - //Temperature sensors - #define TEMP_0_PIN 15 - #define TEMP_1_PIN 14 - #define TEMP_2_PIN -1 - #define TEMP_BED_PIN 13 - - //Cheaptronic v1.0 dont support LCD - #define LCD_PINS_RS -1 - #define LCD_PINS_ENABLE -1 - #define LCD_PINS_D4 -1 - #define LCD_PINS_D5 -1 - #define LCD_PINS_D6 -1 - #define LCD_PINS_D7 -1 - - //Cheaptronic v1.0 dont support keypad - #define BTN_EN1 -1 - #define BTN_EN2 -1 - #define BTN_ENC -1 - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - //Cheaptronic v1.0 does not use this port - #define SDCARDDETECT -1 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // CHEAPTRONIC - - - -#ifndef KNOWN_BOARD -#error Unknown MOTHERBOARD value in configuration.h + #error Unknown MOTHERBOARD value set 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! @@ -2996,15 +158,15 @@ Fan_2 2 #endif #ifdef DISABLE_MAX_ENDSTOPS -#define X_MAX_PIN -1 -#define Y_MAX_PIN -1 -#define Z_MAX_PIN -1 + #define X_MAX_PIN -1 + #define Y_MAX_PIN -1 + #define Z_MAX_PIN -1 #endif #ifdef DISABLE_MIN_ENDSTOPS -#define X_MIN_PIN -1 -#define Y_MIN_PIN -1 -#define Z_MIN_PIN -1 + #define X_MIN_PIN -1 + #define Y_MIN_PIN -1 + #define Z_MIN_PIN -1 #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, PS_ON_PIN, \ diff --git a/Marlin/pins_3DRAG.h b/Marlin/pins_3DRAG.h new file mode 100644 index 0000000000..942a0ba3ea --- /dev/null +++ b/Marlin/pins_3DRAG.h @@ -0,0 +1,39 @@ +/** + * 3DRAG (and K8200) Arduino Mega with RAMPS v1.3 pin assignments + */ + +#include "pins_RAMPS_13.h" + +#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_MAX_PIN -1 //15 + +#define Z_MAX_PIN -1 + +#define SDSS 25//53 + +#define BEEPER 33 + +#define FAN_PIN 8 + +#define HEATER_0_PIN 10 +#define HEATER_1_PIN 12 +#define HEATER_2_PIN 6 + +#define HEATER_BED_PIN 9 // BED + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + #define BEEPER -1 + + #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 + #define BTN_EN1 16 + #define BTN_EN2 17 + #define BTN_ENC 23 //the click +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_5DPRINT.h b/Marlin/pins_5DPRINT.h new file mode 100644 index 0000000000..20e69ef36f --- /dev/null +++ b/Marlin/pins_5DPRINT.h @@ -0,0 +1,75 @@ +/** + * 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' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 23 +#define X_STOP_PIN 37 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 19 +#define Y_STOP_PIN 36 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 18 +#define Z_STOP_PIN 39 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 17 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 20 // Bed +// You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h +// for the fan and Teensyduino uses a different pin mapping. +#define FAN_PIN 16 // Fan + +#define TEMP_0_PIN 1 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 0 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define LED_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define ALARM_PIN -1 + +// The SDSS pin uses a different pin mapping from file Sd2PinMap.h +#define SDSS 20 + +#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 + +// Microstepping pins +// Note that the pin mapping is not from fastio.h +// See Sd2PinMap.h for the pin configurations +#define X_MS1_PIN 25 +#define X_MS2_PIN 26 +#define Y_MS1_PIN 9 +#define Y_MS2_PIN 8 +#define Z_MS1_PIN 7 +#define Z_MS2_PIN 6 +#define E0_MS1_PIN 5 +#define E0_MS2_PIN 4 + diff --git a/Marlin/pins_99.h b/Marlin/pins_99.h new file mode 100644 index 0000000000..54197f05a0 --- /dev/null +++ b/Marlin/pins_99.h @@ -0,0 +1,38 @@ +/** + * Board 99 pin assignments + */ + +#define X_STEP_PIN 2 +#define X_DIR_PIN 3 +#define X_ENABLE_PIN -1 +#define X_STOP_PIN 16 + +#define Y_STEP_PIN 5 +#define Y_DIR_PIN 6 +#define Y_ENABLE_PIN -1 +#define Y_STOP_PIN 67 + +#define Z_STEP_PIN 62 +#define Z_DIR_PIN 63 +#define Z_ENABLE_PIN -1 +#define Z_STOP_PIN 59 + +#define E0_STEP_PIN 65 +#define E0_DIR_PIN 66 +#define E0_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN -1 +#define FAN_PIN -1 +#define PS_ON_PIN 9 +#define KILL_PIN -1 + +#define HEATER_0_PIN 13 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 10 diff --git a/Marlin/pins_AZTEEG_X1.h b/Marlin/pins_AZTEEG_X1.h new file mode 100644 index 0000000000..97a8c3e0be --- /dev/null +++ b/Marlin/pins_AZTEEG_X1.h @@ -0,0 +1,7 @@ +/** + * Azteeg X1 pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_AZTEEG_X3.h b/Marlin/pins_AZTEEG_X3.h new file mode 100644 index 0000000000..573f126aca --- /dev/null +++ b/Marlin/pins_AZTEEG_X3.h @@ -0,0 +1,15 @@ +/** + * Arduino Mega pin assignments + * + * RAMPS_OLD + * RAMPS_13_EFB + * RAMPS_13_EEB + * RAMPS_13_EFF + * RAMPS_13_EEF + * 3DRAG + * K8200 + * AZTEEG_X3 + * AZTEEG_X3_PRO + */ + +#include "pins_RAMPS_13.h" diff --git a/Marlin/pins_AZTEEG_X3_PRO.h b/Marlin/pins_AZTEEG_X3_PRO.h new file mode 100644 index 0000000000..ddb055ad91 --- /dev/null +++ b/Marlin/pins_AZTEEG_X3_PRO.h @@ -0,0 +1,30 @@ +/** + * AZTEEG_X3_PRO (Arduino Mega) pin assignments + */ + +#include "pins_RAMPS_13.h" + +#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 + +#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 + +#define TEMP_2_PIN 12 // ANALOG NUMBERING +#define TEMP_3_PIN 11 // ANALOG NUMBERING +#define TEMP_4_PIN 10 // ANALOG NUMBERING +#define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro +#define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro diff --git a/Marlin/pins_BRAINWAVE.h b/Marlin/pins_BRAINWAVE.h new file mode 100644 index 0000000000..3e2b1cf13d --- /dev/null +++ b/Marlin/pins_BRAINWAVE.h @@ -0,0 +1,61 @@ +/** + * Brainwave 1.0 pin assignments (AT90USB646) + * + * Requires hardware bundle for Arduino: + * https://github.com/unrepentantgeek/brainwave-arduino + */ + +#ifndef __AVR_AT90USB646__ + #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 646 // Disable MarlinSerial etc. + +#define X_STEP_PIN 27 +#define X_DIR_PIN 29 +#define X_ENABLE_PIN 28 +#define X_STOP_PIN 7 +#define X_ATT_PIN 26 + +#define Y_STEP_PIN 31 +#define Y_DIR_PIN 33 +#define Y_ENABLE_PIN 32 +#define Y_STOP_PIN 6 +#define Y_ATT_PIN 30 + +#define Z_STEP_PIN 17 +#define Z_DIR_PIN 19 +#define Z_ENABLE_PIN 18 +#define Z_STOP_PIN 5 +#define Z_ATT_PIN 16 + +#define E0_STEP_PIN 21 +#define E0_DIR_PIN 23 +#define E0_ENABLE_PIN 22 +#define E0_ATT_PIN 20 + +#define HEATER_0_PIN 4 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 38 // Bed +#define FAN_PIN 3 // Fan + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN 39 +#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 + diff --git a/Marlin/pins_CHEAPTRONIC.h b/Marlin/pins_CHEAPTRONIC.h new file mode 100644 index 0000000000..440a93cd95 --- /dev/null +++ b/Marlin/pins_CHEAPTRONIC.h @@ -0,0 +1,95 @@ +/** + * Cheaptronic v1.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +// X motor stepper +#define X_STEP_PIN 14 +#define X_DIR_PIN 15 +#define X_ENABLE_PIN 24 + +// X endstop +#define X_MIN_PIN 3 +#define X_MAX_PIN -1 + +// Y motor stepper +#define Y_STEP_PIN 35 +#define Y_DIR_PIN 36 +#define Y_ENABLE_PIN 31 + +// Y endstop +#define Y_MIN_PIN 2 +#define Y_MAX_PIN -1 + +// Z motor stepper +#define Z_STEP_PIN 40 +#define Z_DIR_PIN 41 +#define Z_ENABLE_PIN 37 + +// Z endstop +#define Z_MIN_PIN 5 +#define Z_MAX_PIN -1 + +// Extruder 0 stepper +#define E0_STEP_PIN 26 +#define E0_DIR_PIN 28 +#define E0_ENABLE_PIN 25 + +// Extruder 1 stepper +#define E1_STEP_PIN 33 +#define E1_DIR_PIN 34 +#define E1_ENABLE_PIN 30 + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN -1 + +// FAN +#define FAN_PIN -1 + +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 19 // EXTRUDER 1 +#define HEATER_1_PIN 23 // EXTRUDER 2 +// HeatedBad +#define HEATER_BED_PIN 22 +// Cheaptronic v1.0 hasent EXTRUDER 3 +#define HEATER_2_PIN -1 + +// Temperature sensors +#define TEMP_0_PIN 15 +#define TEMP_1_PIN 14 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 13 + +// Cheaptronic v1.0 doesn't support LCD +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + +// Cheaptronic v1.0 doesn't support keypad +#define BTN_EN1 -1 +#define BTN_EN2 -1 +#define BTN_ENC -1 + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +// Cheaptronic v1.0 does not use this port +#define SDCARDDETECT -1 + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_DUEMILANOVE_328P.h b/Marlin/pins_DUEMILANOVE_328P.h new file mode 100644 index 0000000000..9e47055849 --- /dev/null +++ b/Marlin/pins_DUEMILANOVE_328P.h @@ -0,0 +1,43 @@ +/** + * Duemilanove w/ ATMega328P pin assignments + */ + +#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_STOP_PIN 17 + +#define Y_STEP_PIN 10 +#define Y_DIR_PIN 7 +#define Y_ENABLE_PIN -1 +#define Y_STOP_PIN 8 + +#define Z_STEP_PIN 13 +#define Z_DIR_PIN 3 +#define Z_ENABLE_PIN 2 +#define Z_STOP_PIN 4 + +#define E0_STEP_PIN 11 +#define E0_DIR_PIN 12 +#define E0_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 HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + diff --git a/Marlin/pins_ELEFU_3.h b/Marlin/pins_ELEFU_3.h new file mode 100644 index 0000000000..b201a1306c --- /dev/null +++ b/Marlin/pins_ELEFU_3.h @@ -0,0 +1,116 @@ +/** + * Elefu RA Board Pin Assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 49 +#define X_DIR_PIN 13 +#define X_ENABLE_PIN 48 +#define X_MIN_PIN 35 +#define X_MAX_PIN -1 //34 + +#define Y_STEP_PIN 11 +#define Y_DIR_PIN 9 +#define Y_ENABLE_PIN 12 +#define Y_MIN_PIN 33 +#define Y_MAX_PIN -1 //32 + +#define Z_STEP_PIN 7 +#define Z_DIR_PIN 6 +#define Z_ENABLE_PIN 8 +#define Z_MIN_PIN 31 +#define Z_MAX_PIN -1 //30 + +#define E2_STEP_PIN 43 +#define E2_DIR_PIN 47 +#define E2_ENABLE_PIN 42 + +#define E1_STEP_PIN 18 +#define E1_DIR_PIN 19 +#define E1_ENABLE_PIN 38 + +#define E0_STEP_PIN 40 +#define E0_DIR_PIN 41 +#define E0_ENABLE_PIN 37 + +#define SDPOWER -1 +#define LED_PIN -1 //Use +12V Aux port for LED Ring + +#define FAN_PIN 16 //5V PWM + +#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 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 TEMP_0_PIN 3 //ANALOG NUMBERING +#define TEMP_1_PIN 2 //ANALOG NUMBERING +#define TEMP_2_PIN 1 //ANALOG NUMBERING +#define TEMP_BED_PIN 0 //ANALOG NUMBERING + +#define BEEPER 36 + +#define KILL_PIN -1 + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +#define PHOTOGRAPH_PIN 29 + +#ifdef RA_CONTROL_PANEL + + #define SDSS 53 + #define SDCARDDETECT 28 + + #define BTN_EN1 14 + #define BTN_EN2 39 + #define BTN_ENC 15 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + +#endif // RA_CONTROL_PANEL + +#ifdef 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 diff --git a/Marlin/pins_GEN3_MONOLITHIC.h b/Marlin/pins_GEN3_MONOLITHIC.h new file mode 100644 index 0000000000..17a76883b2 --- /dev/null +++ b/Marlin/pins_GEN3_MONOLITHIC.h @@ -0,0 +1,61 @@ +/** + * Gen3 Monolithic Electronics pin assignments + */ + +#ifndef __AVR_ATmega644P__ + #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. +#endif + +#define DEBUG_PIN 0 + +// x axis +#define X_STEP_PIN 15 +#define X_DIR_PIN 18 +#define X_MIN_PIN 20 +// Alex Checar #define X_STOP_PIN 20 +#define X_ENABLE_PIN 24 // actually uses Y_enable_pin +#define X_MAX_PIN -1 + +// y axis +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_MIN_PIN 25 +// Alex Checar #define Y_STOP_PIN 25 +#define Y_ENABLE_PIN 24 // shared with X_enable_pin +#define Y_MAX_PIN -1 + +// z axis +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_MIN_PIN 30 +// Alex Checar #define Z_STOP_PIN 30 +#define Z_ENABLE_PIN 29 +#define Z_MAX_PIN -1 + +// extruder pins +#define E0_STEP_PIN 12 +#define E0_DIR_PIN 17 +#define E0_ENABLE_PIN 3 + +#define HEATER_0_PIN 16 +#define TEMP_0_PIN 0 + +#define FAN_PIN -1 + +// bed pins +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + + +#define SDSS -1 +#define SDPOWER -1 +#define LED_PIN -1 + +// pin for controlling the PSU. +#define PS_ON_PIN 14 // Alex, Do this work on the card? + +// Alex extras from Gen3+ +#define KILL_PIN -1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define HEATER_2_PIN -1 diff --git a/Marlin/pins_GEN3_PLUS.h b/Marlin/pins_GEN3_PLUS.h new file mode 100644 index 0000000000..4d216bb8cf --- /dev/null +++ b/Marlin/pins_GEN3_PLUS.h @@ -0,0 +1,45 @@ +/** + * Gen3+ pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) + #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_STOP_PIN 20 + +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_STOP_PIN 25 + +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_STOP_PIN 30 + +#define E0_STEP_PIN 17 +#define E0_DIR_PIN 21 + +#define LED_PIN -1 + +#define FAN_PIN -1 + +#define PS_ON_PIN 14 +#define KILL_PIN -1 + +#define HEATER_0_PIN 12 // (extruder) + +#define HEATER_BED_PIN 16 // (bed) +#define X_ENABLE_PIN 19 +#define Y_ENABLE_PIN 24 +#define Z_ENABLE_PIN 29 +#define E0_ENABLE_PIN 13 + +#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) +#define SDPOWER -1 +#define SDSS 4 +#define HEATER_2_PIN -1 diff --git a/Marlin/pins_GEN6.h b/Marlin/pins_GEN6.h new file mode 100644 index 0000000000..ebbf3237c7 --- /dev/null +++ b/Marlin/pins_GEN6.h @@ -0,0 +1,62 @@ +/** + * Gen6 pin assignments + */ + +#ifndef __AVR_ATmega644P__ + #ifndef __AVR_ATmega1284P__ + #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. + #endif +#endif + +//x axis pins +#define X_STEP_PIN 15 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 19 +#define X_STOP_PIN 20 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 25 + +//z axis pins +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_ENABLE_PIN 29 +#define Z_STOP_PIN 30 + +//extruder pins +#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 +#define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 +#define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 + + +#define TEMP_2_PIN -1 //changed @ rkoeppl 20110410 +#define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 + +#if MB(GEN6) + #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410 + #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410 +#else + #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410 + #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410 +#endif + +#define SDPOWER -1 +#define SDSS 17 +#define LED_PIN -1 //changed @ rkoeppl 20110410 +#define FAN_PIN -1 //changed @ rkoeppl 20110410 +#define PS_ON_PIN -1 //changed @ rkoeppl 20110410 +#define KILL_PIN -1 //changed @ drakelive 20120830 +//our pin for debugging. + +#define DEBUG_PIN 0 + +//our RS485 pins +#define TX_ENABLE_PIN 12 +#define RX_ENABLE_PIN 13 diff --git a/Marlin/pins_GEN6_DELUXE.h b/Marlin/pins_GEN6_DELUXE.h new file mode 100644 index 0000000000..c1ffc3801b --- /dev/null +++ b/Marlin/pins_GEN6_DELUXE.h @@ -0,0 +1,5 @@ +/** + * Gen6 Deluxe pin assignments + */ + +#include "pins_GEN6.h" diff --git a/Marlin/pins_GEN7_12.h b/Marlin/pins_GEN7_12.h new file mode 100644 index 0000000000..719ef9d6b7 --- /dev/null +++ b/Marlin/pins_GEN7_12.h @@ -0,0 +1,72 @@ +/** + * Gen7 v1.1, v1.2, v1.3 pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +#ifndef GEN7_VERSION + #define GEN7_VERSION 12 // v1.x +#endif + +//x axis pins +#define X_STEP_PIN 19 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 7 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 5 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_MIN_PIN 1 +#define Z_MAX_PIN 0 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#if (GEN7_VERSION >= 13) + // Gen7 v1.3 removed the fan pin + #define FAN_PIN -1 +#else + #define FAN_PIN 31 +#endif + +#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 + diff --git a/Marlin/pins_GEN7_13.h b/Marlin/pins_GEN7_13.h new file mode 100644 index 0000000000..4acca7566e --- /dev/null +++ b/Marlin/pins_GEN7_13.h @@ -0,0 +1,8 @@ +/** + * Gen7 v1.3 pin assignments + */ + +#define MOTHERBOARD BOARD_GEN7_12 +#define GEN7_VERSION 13 // v1.3 + +#include "pins_GEN7_12.h" diff --git a/Marlin/pins_GEN7_14.h b/Marlin/pins_GEN7_14.h new file mode 100644 index 0000000000..292e890030 --- /dev/null +++ b/Marlin/pins_GEN7_14.h @@ -0,0 +1,60 @@ +/** + * Gen7 v1.4 pin assignments + */ + +#define GEN7_VERSION 14 // v1.4 + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +//x axis pins +#define X_STEP_PIN 29 +#define X_DIR_PIN 28 +#define X_ENABLE_PIN 25 +#define X_STOP_PIN 0 + +//y axis pins +#define Y_STEP_PIN 27 +#define Y_DIR_PIN 26 +#define Y_ENABLE_PIN 25 +#define Y_STOP_PIN 1 + +//z axis pins +#define Z_STEP_PIN 23 +#define Z_DIR_PIN 22 +#define Z_ENABLE_PIN 25 +#define Z_STOP_PIN 2 + +//extruder pins +#define E0_STEP_PIN 19 +#define E0_DIR_PIN 18 +#define E0_ENABLE_PIN 25 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 0 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#define FAN_PIN -1 + +#define PS_ON_PIN 15 + +//our pin for debugging. +#define DEBUG_PIN 0 + +//our RS485 pins +#define TX_ENABLE_PIN 12 +#define RX_ENABLE_PIN 13 + diff --git a/Marlin/pins_GEN7_CUSTOM.h b/Marlin/pins_GEN7_CUSTOM.h new file mode 100644 index 0000000000..a8626ecefa --- /dev/null +++ b/Marlin/pins_GEN7_CUSTOM.h @@ -0,0 +1,76 @@ +/** + * 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. + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +//x axis pins +#define X_STEP_PIN 21 // different from standard GEN7 +#define X_DIR_PIN 20 // different from standard GEN7 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 0 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 1 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_STOP_PIN 2 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 2 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 // (bed) + +#define SDPOWER -1 +#define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support +#define LED_PIN -1 + +#define FAN_PIN -1 +#define PS_ON_PIN 19 +//our pin for debugging. + +#define DEBUG_PIN -1 + +//our RS485 pins +//#define TX_ENABLE_PIN 12 +//#define RX_ENABLE_PIN 13 + +#define BEEPER -1 +#define SDCARDDETECT -1 +#define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work + +#define KILL_PIN -1 +//Pins for 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 //the click + diff --git a/Marlin/pins_K8200.h b/Marlin/pins_K8200.h new file mode 100644 index 0000000000..1d34547ad2 --- /dev/null +++ b/Marlin/pins_K8200.h @@ -0,0 +1,6 @@ +/** + * K8200 Arduino Mega with RAMPS v1.3 pin assignments + * Identical to 3DRAG + */ + +#include "pins_3DRAG.h" diff --git a/Marlin/pins_LEAPFROG.h b/Marlin/pins_LEAPFROG.h new file mode 100644 index 0000000000..5dd6654c1c --- /dev/null +++ b/Marlin/pins_LEAPFROG.h @@ -0,0 +1,62 @@ +/** + * 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 X_STEP_PIN 28 +#define X_DIR_PIN 63 +#define X_ENABLE_PIN 29 +#define X_MIN_PIN 47 +#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 14 // A6 +#define Y_DIR_PIN 15 // A0 +#define Y_ENABLE_PIN 39 +#define Y_MIN_PIN 48 +#define Y_MAX_PIN -1 //15 + +#define Z_STEP_PIN 31 // A2 +#define Z_DIR_PIN 32 // A6 +#define Z_ENABLE_PIN 30 // A1 +#define Z_MIN_PIN 49 +#define Z_MAX_PIN -1 + +#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 + +#define Y2_STEP_PIN 37 +#define Y2_DIR_PIN 40 +#define Y2_ENABLE_PIN 36 + +#define Z2_STEP_PIN 37 +#define Z2_DIR_PIN 40 +#define Z2_ENABLE_PIN 36 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN 13 +#define FAN_PIN 7 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SOL1_PIN 16 +#define SOL2_PIN 17 + +#define HEATER_0_PIN 9 +#define HEATER_1_PIN 8 // 12 +#define HEATER_2_PIN 11 //-1 // 13 +#define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN 15 // 1 +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN 10 // 14/15 +#define TEMP_BED_PIN 14 // 1,2 or I2C +/* 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) */ + diff --git a/Marlin/pins_MEGATRONICS.h b/Marlin/pins_MEGATRONICS.h new file mode 100644 index 0000000000..2bd0e33eb6 --- /dev/null +++ b/Marlin/pins_MEGATRONICS.h @@ -0,0 +1,92 @@ +/** + * MegaTronics pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 28 +#define X_ENABLE_PIN 24 +#define X_MIN_PIN 41 +#define X_MAX_PIN 37 + +#define Y_STEP_PIN 60 // A6 +#define Y_DIR_PIN 61 // A7 +#define Y_ENABLE_PIN 22 +#define Y_MIN_PIN 14 +#define Y_MAX_PIN 15 + +#define Z_STEP_PIN 54 // A0 +#define Z_DIR_PIN 55 // A1 +#define Z_ENABLE_PIN 56 // A2 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + + +#define FAN_PIN 7 // IO pin. Buffer needed +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter) +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 +#define TEMP_0_PIN 8 // ANALOG NUMBERING +#else +#define TEMP_0_PIN 13 // ANALOG NUMBERING + +#endif + +#define TEMP_1_PIN 15 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING +#define HEATER_BED_PIN 10 // BED +#define TEMP_BED_PIN 14 // ANALOG NUMBERING + +#define BEEPER 33 // Beeper on AUX-4 + + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //arduino pin which triggers an piezzo beeper + + #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 are directly attached using AUX-2 + #define BTN_EN1 59 + #define BTN_EN2 64 + #define BTN_ENC 43 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + #define SDCARDDETECT -1 // Ramps does not use this port + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h new file mode 100644 index 0000000000..51cb12a211 --- /dev/null +++ b/Marlin/pins_MEGATRONICS_1.h @@ -0,0 +1,88 @@ +/** + * Minitronics v1.0 pin assignments + */ + +#ifndef __AVR_ATmega1281__ + #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 48 +#define X_DIR_PIN 47 +#define X_ENABLE_PIN 49 +#define X_MIN_PIN 5 +#define X_MAX_PIN -1 // 2 // Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 39 // A6 +#define Y_DIR_PIN 40 // A0 +#define Y_ENABLE_PIN 38 +#define Y_MIN_PIN 2 +#define Y_MAX_PIN -1 // 15 + +#define Z_STEP_PIN 42 // A2 +#define Z_DIR_PIN 43 // A6 +#define Z_ENABLE_PIN 41 // A1 +#define Z_MIN_PIN 6 +#define Z_MAX_PIN -1 + +#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 + +#define E2_STEP_PIN -1 +#define E2_DIR_PIN -1 +#define E2_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS 16 +#define LED_PIN 46 + +#define FAN_PIN 9 +#define FAN2_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 7 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + + +#define TEMP_0_PIN 7 // ANALOG NUMBERING +#define TEMP_1_PIN 6 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 3 // BED +#define TEMP_BED_PIN 6 // ANALOG NUMBERING + +#define BEEPER -1 + + +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + + +// Buttons are directly attached using keypad +#define BTN_EN1 -1 +#define BTN_EN2 -1 +#define BTN_ENC -1 // the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h new file mode 100644 index 0000000000..b0517fd92e --- /dev/null +++ b/Marlin/pins_MEGATRONICS_2.h @@ -0,0 +1,103 @@ +/** + * MegaTronics v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 27 +#define X_ENABLE_PIN 25 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 4 // A6 +#define Y_DIR_PIN 54 // A0 +#define Y_ENABLE_PIN 5 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 //15 + +#define Z_STEP_PIN 56 // A2 +#define Z_DIR_PIN 60 // A6 +#define Z_ENABLE_PIN 55 // A1 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 +#define E2_DIR_PIN 24 +#define E2_ENABLE_PIN 22 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#define FAN_PIN 7 +#define FAN2_PIN 6 +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 + #define TEMP_0_PIN 4 // ANALOG NUMBERING +#else + #define TEMP_0_PIN 13 // ANALOG NUMBERING +#endif + + +#if TEMP_SENSOR_1 == -1 + #define TEMP_1_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_1_PIN 15 // ANALOG NUMBERING +#endif + +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 10 // BED + +#if TEMP_SENSOR_BED == -1 + #define TEMP_BED_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_BED_PIN 14 // ANALOG NUMBERING +#endif + +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_MELZI.h b/Marlin/pins_MELZI.h new file mode 100644 index 0000000000..71c9fa9136 --- /dev/null +++ b/Marlin/pins_MELZI.h @@ -0,0 +1,11 @@ +/** + * Melzi pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_MELZI_1284.h b/Marlin/pins_MELZI_1284.h new file mode 100644 index 0000000000..2c18666725 --- /dev/null +++ b/Marlin/pins_MELZI_1284.h @@ -0,0 +1,15 @@ +/** + * Melzi with ATmega1284 (MaKr3d version) pin assignments + */ + +#define MELZI + +#undef MOTHERBOARD +#define MOTHERBOARD BOARD_SANGUINOLOLU_11 +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_OMCA.h b/Marlin/pins_OMCA.h new file mode 100644 index 0000000000..26a797362a --- /dev/null +++ b/Marlin/pins_OMCA.h @@ -0,0 +1,91 @@ +/** + * 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 + */ + +#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 X_STEP_PIN 26 +#define X_DIR_PIN 25 +#define X_ENABLE_PIN 10 +#define X_STOP_PIN 0 + +#define Y_STEP_PIN 28 +#define Y_DIR_PIN 27 +#define Y_ENABLE_PIN 10 +#define Y_STOP_PIN 1 + +#define Z_STEP_PIN 23 +#define Z_DIR_PIN 22 +#define Z_ENABLE_PIN 10 +#define Z_STOP_PIN 2 + +#define E0_STEP_PIN 24 +#define E0_DIR_PIN 21 +#define E0_ENABLE_PIN 10 + +// future proofing +#define __FS 20 +#define __FD 19 +#define __GS 18 +#define __GD 13 + +#define UNUSED_PWM 14 // PWM on LEFT connector + +#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 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN -1 +#define FAN_PIN 14 // PWM on MIDDLE connector +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 3 // DONE PWM on RIGHT connector +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING +#define TEMP_1_PIN 1 // ANALOG +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 2 // 1,2 or I2C + +#define I2C_SCL 16 +#define I2C_SDA 17 diff --git a/Marlin/pins_OMCA_A.h b/Marlin/pins_OMCA_A.h new file mode 100644 index 0000000000..857ff7752f --- /dev/null +++ b/Marlin/pins_OMCA_A.h @@ -0,0 +1,78 @@ +/** + * 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 + * +--------+ + * + */ + +#ifndef __AVR_ATmega644__ + #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 21 +#define X_DIR_PIN 20 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 0 + +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 1 + +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_STOP_PIN 2 + +#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 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN -1 +#define FAN_PIN 3 +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 // 12 +#define HEATER_2_PIN -1 // 13 +#define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 // 1 +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN -1 // 14/15 +#define TEMP_BED_PIN -1 // 1,2 or I2C +/* 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) */ diff --git a/Marlin/pins_PRINTRBOARD.h b/Marlin/pins_PRINTRBOARD.h new file mode 100644 index 0000000000..2bf6efd147 --- /dev/null +++ b/Marlin/pins_PRINTRBOARD.h @@ -0,0 +1,88 @@ +/** + * Printrboard 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 + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. + #error These Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN 46 +#define HEATER_2_PIN 47 +#define HEATER_BED_PIN 20 + +// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin +// fastio pin numbering otherwise +#ifdef FAN_SOFT_PWM || FAST_PWM_FAN + #define FAN_PIN 22 +#else + #define FAN_PIN 16 +#endif + +#define X_STOP_PIN 35 +#define Y_STOP_PIN 8 +#define Z_STOP_PIN 36 +#define TEMP_0_PIN 1 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 0 // Bed / Analog pin numbering + +#ifdef FILAMENT_SENSOR + #define FILWIDTH_PIN 2 +#endif + +#define TEMP_1_PIN -1 +#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 + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef LCD_I2C_PANELOLU2 + #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 + #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 + #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 + #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) + #endif // LCD_I2C_PANELOLU2 + //not connected to a pin + #define SDCARDDETECT -1 +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_RAMBO.h b/Marlin/pins_RAMBO.h new file mode 100644 index 0000000000..b2ccdc4339 --- /dev/null +++ b/Marlin/pins_RAMBO.h @@ -0,0 +1,165 @@ +/** + * Rambo pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +// Servo support +#ifdef NUM_SERVOS + #define SERVO0_PIN 22 //motor header MX1 + #if NUM_SERVOS > 1 + #define SERVO1_PIN 23 //Motor header MX2 + #if NUM_SERVOS > 2 + #define SERVO2_PIN 24 //Motor header MX3 + #if NUM_SERVOS > 3 + #define SERVO2_PIN 5 //pwm header pin 5 + #endif + #endif + #endif +#endif + +#define X_STEP_PIN 37 +#define X_DIR_PIN 48 +#define X_MIN_PIN 12 +#define X_MAX_PIN 24 +#define X_ENABLE_PIN 29 +#define X_MS1_PIN 40 +#define X_MS2_PIN 41 + +#define Y_STEP_PIN 36 +#define Y_DIR_PIN 49 +#define Y_MIN_PIN 11 +#define Y_MAX_PIN 23 +#define Y_ENABLE_PIN 28 +#define Y_MS1_PIN 69 +#define Y_MS2_PIN 39 + +#define Z_STEP_PIN 35 +#define Z_DIR_PIN 47 +#define Z_MIN_PIN 10 +#define Z_MAX_PIN 30 +#define Z_ENABLE_PIN 27 +#define Z_MS1_PIN 68 +#define Z_MS2_PIN 67 + +#define HEATER_BED_PIN 3 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 9 +#define TEMP_0_PIN 0 + +#define HEATER_1_PIN 7 +#define TEMP_1_PIN 1 + +#ifdef BARICUDA + #define HEATER_2_PIN 6 +#else + #define HEATER_2_PIN -1 +#endif + +#define TEMP_2_PIN -1 + +#define E0_STEP_PIN 34 +#define E0_DIR_PIN 43 +#define E0_ENABLE_PIN 26 +#define E0_MS1_PIN 65 +#define E0_MS2_PIN 66 + +#define E1_STEP_PIN 33 +#define E1_DIR_PIN 42 +#define E1_ENABLE_PIN 25 +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 +#define FAN_PIN 8 + +/********************************************************** + Fan Pins + Fan_0 8 + Fan_1 6 + Fan_2 2 +***********************************************************/ +#define PS_ON_PIN 4 +#define KILL_PIN -1 //80 with Smart Controller LCD +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. + +#ifdef ULTRA_LCD + #define KILL_PIN 80 + #ifdef NEWPANEL + //arduino pin which triggers an piezzo beeper + #define BEEPER 79 // Beeper on AUX-4 + #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 + + //buttons are directly attached using AUX-2 + #define BTN_EN1 76 + #define BTN_EN2 77 + #define BTN_ENC 78 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + #define SDCARDDETECT 81 // Ramps does not use this port + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + #else //!NEWPANEL - old style panel with shift register + //arduino pin witch triggers an piezzo beeper + #define BEEPER 33 No Beeper added + //buttons are attached to a shift register + // Not wired this 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 + + //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 // !NEWPANEL + +#endif // ULTRA_LCD + +#ifdef FILAMENT_SENSOR + //Filip added pin for Filament sensor analog input + #define FILWIDTH_PIN 3 +#endif diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h new file mode 100644 index 0000000000..f0d4c33b95 --- /dev/null +++ b/Marlin/pins_RAMPS_13.h @@ -0,0 +1,227 @@ +/** + * 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) + * 3DRAG + * K8200 + * AZTEEG_X3 + * AZTEEG_X3_PRO + */ + +#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 54 +#define X_DIR_PIN 55 +#define X_ENABLE_PIN 38 +#define X_MIN_PIN 3 +#define X_MAX_PIN 2 + +#define Y_STEP_PIN 60 +#define Y_DIR_PIN 61 +#define Y_ENABLE_PIN 56 +#define Y_MIN_PIN 14 +#define Y_MAX_PIN 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 19 + +#define Y2_STEP_PIN 36 +#define Y2_DIR_PIN 34 +#define Y2_ENABLE_PIN 30 + +#define Z2_STEP_PIN 36 +#define Z2_DIR_PIN 34 +#define Z2_ENABLE_PIN 30 + +#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 SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#if MB(RAMPS_13_EEB) && defined(FILAMENT_SENSOR) // FMM added for Filament Extruder + // define analog pin for the filament width sensor input + // Use the RAMPS 1.4 Analog input 5 on the AUX2 connector + #define FILWIDTH_PIN 5 +#endif + +#if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) + #define FAN_PIN 9 // (Sprinter config) + #if MB(RAMPS_13_EFF) + #define CONTROLLERFAN_PIN -1 // Pin used for the fan to cool controller + #endif +#elif MB(RAMPS_13_EEF) + #define FAN_PIN 8 +#else + #define FAN_PIN 4 // IO pin. Buffer needed +#endif + +#define PS_ON_PIN 12 + +#if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) + #define KILL_PIN 41 +#else + #define KILL_PIN -1 +#endif + +#if MB(RAMPS_13_EFF) + #define HEATER_0_PIN 8 +#else + #define HEATER_0_PIN 10 // EXTRUDER 1 +#endif + +#if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) + #define HEATER_1_PIN -1 +#else + #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) +#endif + +#define HEATER_2_PIN -1 + +#define TEMP_0_PIN 13 // ANALOG NUMBERING +#define TEMP_1_PIN 15 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#if MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) + #define HEATER_BED_PIN -1 // NO BED +#else + #define HEATER_BED_PIN 8 // BED +#endif + +#define TEMP_BED_PIN 14 // ANALOG NUMBERING + +#ifdef NUM_SERVOS + #define SERVO0_PIN 11 + + #if NUM_SERVOS > 1 + #define SERVO1_PIN 6 + #endif + + #if NUM_SERVOS > 2 + #define SERVO2_PIN 5 + #endif + + #if NUM_SERVOS > 3 + #define SERVO3_PIN 4 + #endif +#endif + +#if MB(AZTEEG_X3_PRO) + #define BEEPER 33 +#endif + +#ifdef TEMP_STAT_LEDS + #if MB(AZTEEG_X3) + #define STAT_LED_RED 6 + #define STAT_LED_BLUE 11 + #endif +#endif + +#ifdef ULTRA_LCD + + #ifdef 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 + + #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER + #define BEEPER 37 + + #define BTN_EN1 31 + #define BTN_EN2 33 + #define BTN_ENC 35 + + #define SDCARDDETECT 49 + #elif defined(LCD_I2C_PANELOLU2) + #define BTN_EN1 47 // reverse if the encoder turns the wrong way. + #define BTN_EN2 43 + #define BTN_ENC 32 + #define LCD_SDSS 53 + #define SDCARDDETECT -1 + #define KILL_PIN 41 + #elif defined(LCD_I2C_VIKI) + #define BTN_EN1 22 // reverse if the encoder turns the wrong way. + #define BTN_EN2 7 + #define BTN_ENC -1 + #define LCD_SDSS 53 + #define SDCARDDETECT 49 + #else + // arduino pin which triggers an piezzo beeper + #define BEEPER 33 // Beeper on AUX-4 + + // buttons are directly attached using AUX-2 + #ifdef REPRAPWORLD_KEYPAD + #define BTN_EN1 64 // encoder + #define BTN_EN2 59 // encoder + #define BTN_ENC 63 // enter button + #define SHIFT_OUT 40 // shift register + #define SHIFT_CLK 44 // shift register + #define SHIFT_LD 42 // shift register + #else + #define BTN_EN1 37 + #define BTN_EN2 35 + #define BTN_ENC 31 // the click + #endif + + #ifdef G3D_PANEL + #define SDCARDDETECT 49 + #else + #define SDCARDDETECT -1 // Ramps does not use this port + #endif + + #endif + + #else // Old-style panel with shift register + // Arduino pin witch triggers an piezzo beeper + #define BEEPER 33 // No Beeper added + + // 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 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 + #endif +#endif // ULTRA_LCD + +// SPI for Max6675 Thermocouple +#ifndef 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 + +#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 +#endif diff --git a/Marlin/pins_RAMPS_OLD.h b/Marlin/pins_RAMPS_OLD.h new file mode 100644 index 0000000000..d4e89f8d9b --- /dev/null +++ b/Marlin/pins_RAMPS_OLD.h @@ -0,0 +1,69 @@ +/** + * 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 + +// Uncomment the following line for RAMPS v1.0 +//#define RAMPS_V_1_0 + +#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 -1 //19 + +#define E0_STEP_PIN 32 +#define E0_DIR_PIN 34 +#define E0_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_BED_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_BED_PIN 8 // RAMPS 1.1 + #define FAN_PIN 9 // RAMPS 1.1 +#endif + +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! + +// SPI for Max6675 Thermocouple +#ifndef 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 + +#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 +#endif diff --git a/Marlin/pins_RUMBA.h b/Marlin/pins_RUMBA.h new file mode 100644 index 0000000000..ee03a0b9d1 --- /dev/null +++ b/Marlin/pins_RUMBA.h @@ -0,0 +1,110 @@ +/** + * RUMBA pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 17 +#define X_DIR_PIN 16 +#define X_ENABLE_PIN 48 +#define X_MIN_PIN 37 +#define X_MAX_PIN 36 + +#define Y_STEP_PIN 54 +#define Y_DIR_PIN 47 +#define Y_ENABLE_PIN 55 +#define Y_MIN_PIN 35 +#define Y_MAX_PIN 34 + +#define Z_STEP_PIN 57 +#define Z_DIR_PIN 56 +#define Z_ENABLE_PIN 62 +#define Z_MIN_PIN 33 +#define Z_MAX_PIN 32 + +#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 + +#define LED_PIN 13 + +#define FAN_PIN 7 +//additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8 + +#define PS_ON_PIN 45 +#define KILL_PIN 46 + +#if (TEMP_SENSOR_0==0) + #define TEMP_0_PIN -1 + #define HEATER_0_PIN -1 +#else + #define HEATER_0_PIN 2 // EXTRUDER 1 + #if (TEMP_SENSOR_0==-1) + #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used + #else + #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used + #endif +#endif + +#if (TEMP_SENSOR_1==0) + #define TEMP_1_PIN -1 + #define HEATER_1_PIN -1 +#else + #define HEATER_1_PIN 3 // EXTRUDER 2 + #if (TEMP_SENSOR_1==-1) + #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used + #else + #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used + #endif +#endif + +#if (TEMP_SENSOR_2==0) + #define TEMP_2_PIN -1 + #define HEATER_2_PIN -1 +#else + #define HEATER_2_PIN 6 // EXTRUDER 3 + #if (TEMP_SENSOR_2==-1) + #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple + #else + #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used + #endif +#endif + +//optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used +//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4 + +#if (TEMP_SENSOR_BED==0) + #define TEMP_BED_PIN -1 + #define HEATER_BED_PIN -1 +#else + #define HEATER_BED_PIN 9 // BED + #if (TEMP_SENSOR_BED==-1) + #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple + #else + #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used + #endif +#endif + +#define SDPOWER -1 +#define SDSS 53 +#define SDCARDDETECT 49 +#define BEEPER 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 diff --git a/Marlin/pins_SANGUINOLOLU_11.h b/Marlin/pins_SANGUINOLOLU_11.h new file mode 100644 index 0000000000..e7bdd974ea --- /dev/null +++ b/Marlin/pins_SANGUINOLOLU_11.h @@ -0,0 +1,172 @@ +/** + * Sanguinololu board pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) + #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_STOP_PIN 18 + +#define Y_STEP_PIN 22 +#define Y_DIR_PIN 23 +#define Y_STOP_PIN 19 + +#define Z_STEP_PIN 3 +#define Z_DIR_PIN 2 +#define Z_STOP_PIN 20 + +#define E0_STEP_PIN 1 +#define E0_DIR_PIN 0 + +#define LED_PIN -1 + +#define FAN_PIN -1 + +// #if FAN_PIN == 12 || FAN_PIN ==13 +// #define FAN_SOFT_PWM +// #endif + +#if MB(MELZI) + #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */ + #define FAN_PIN 4 // Works for Panelolu2 too +#endif + +#if MB(STB_11) + #define FAN_PIN 4 + // Uncomment this if you have the first generation (V1.10) of STBs board + #define LCD_PIN_BL 17 // LCD backlight LED +#endif + +#if MB(AZTEEG_X1) + #define FAN_PIN 4 +#endif + +#ifdef NUM_SERVOS + #define SERVO0_PIN -1 + + #if NUM_SERVOS > 1 + #define SERVO1_PIN -1 + #endif + + #if NUM_SERVOS > 2 + #define SERVO2_PIN -1 + #endif + + #if NUM_SERVOS > 3 + #define SERVO3_PIN -1 + #endif +#endif + +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 13 // (extruder) +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 + +#ifdef 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 + + #ifdef 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 + +#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) +#define SDPOWER -1 +#define SDSS 31 + +/* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */ +//#define SDSS 24 + +#ifdef ULTRA_LCD + #ifdef NEWPANEL + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef DOGLCD + #ifdef U8GLIB_ST7920 //SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0 + #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 + #define BEEPER 27 // Pin 27 is take by LED_Pin, but Melzi LED do nothing with Marlin and I take this pin for BEEPER.... See here > [github.com] , If you want use this pin with Gcode M42 instead BEEPER + #else + // Pins for DOGM SPI LCD Support + #define DOGLCD_A0 30 + #define DOGLCD_CS 29 + #define LCD_CONTRAST 1 + #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 // standard Hitachi LCD controller + #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 + //The encoder and click button + #define BTN_EN1 11 + #define BTN_EN2 10 + #ifdef LCD_I2C_PANELOLU2 + #if MB(MELZI) + #define BTN_ENC 29 //the click switch + #define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board + #else + #define BTN_ENC 30 //the click switch + #endif + #else + #define BTN_ENC 16 //the click switch + #define LCD_SDSS 28 //to use the SD card reader on the smart controller rather than the melzi board + #endif //Panelolu2 + //not connected to a pin + #define SDCARDDETECT -1 + + #endif //NEWPANEL +#endif //ULTRA_LCD + +#ifdef MAKRPANEL + #define BEEPER 29 + // Pins for DOGM SPI LCD Support + #define DOGLCD_A0 30 + #define DOGLCD_CS 17 + #define LCD_PIN_BL 28 // backlight LED on PA3 + // GLCD features + #define LCD_CONTRAST 1 + // Uncomment screen orientation + #define LCD_SCREEN_ROT_0 + // #define LCD_SCREEN_ROT_90 + // #define LCD_SCREEN_ROT_180 + // #define LCD_SCREEN_ROT_270 + //The encoder and click button + #define BTN_EN1 11 + #define BTN_EN2 10 + #define BTN_ENC 16 //the click switch + //not connected to a pin + #define SDCARDDETECT -1 +#endif //Makrpanel + diff --git a/Marlin/pins_SANGUINOLOLU_12.h b/Marlin/pins_SANGUINOLOLU_12.h new file mode 100644 index 0000000000..d92cff7329 --- /dev/null +++ b/Marlin/pins_SANGUINOLOLU_12.h @@ -0,0 +1,19 @@ +/** + * Sanguinololu V1.2 pin assignments + * + * Applies to the following boards: + * + * AZTEEG_X1 + * MELZI + * MELZI_1284 + * SANGUINOLOLU_12 + * STB_11 + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_SAV_MKI.h b/Marlin/pins_SAV_MKI.h new file mode 100644 index 0000000000..e898c9f285 --- /dev/null +++ b/Marlin/pins_SAV_MKI.h @@ -0,0 +1,88 @@ +/** + * SAV MkI pin assignments (AT90USB1286) + * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE! + * http://www.pjrc.com/teensy/teensyduino.html + * RepRap Clone Wars project board. + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 20 // Bed +#define FAN_PIN 16 // Fan -- from Teensyduino environment. + // For the fan and Teensyduino uses a different pin mapping. + +#define X_STOP_PIN 13 +#define Y_STOP_PIN 14 +#define Z_STOP_PIN 15 +//#define Z_STOP_PIN 36 // For inductive sensor. + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define SDSS 20 // PB0 - 8 in marlin env. +#define LED_PIN -1 +#define PS_ON_PIN -1 +#define ALARM_PIN -1 +#define SDCARDDETECT -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 + +#define BEEPER -1 +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + +#ifdef SAV_3DLCD + // For LCD SHIFT register LCD + #define SR_DATA_PIN 1 + #define SR_CLK_PIN 0 + + #define BTN_EN1 41 + #define BTN_EN2 40 + #define BTN_ENC 12 + + #define KILL_PIN 42 // A2 = 42 - teensy = 40 + #define HOME_PIN -1 // A4 = marlin 44 - teensy = 42 + + #ifdef NUM_SERVOS + #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp) + #endif + +#endif // SAV_3DLCD diff --git a/Marlin/pins_SETHI.h b/Marlin/pins_SETHI.h new file mode 100644 index 0000000000..4a118220c9 --- /dev/null +++ b/Marlin/pins_SETHI.h @@ -0,0 +1,71 @@ +/** + * Sethi 3D_1 pin assignments - www.sethi3d.com.br + */ + +#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 + +#ifndef GEN7_VERSION + #define GEN7_VERSION 12 // v1.x +#endif + +//x axis pins +#define X_STEP_PIN 19 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 2 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 0 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_MIN_PIN 1 +#define Z_MAX_PIN 0 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#if (GEN7_VERSION >= 13) + // Gen7 v1.3 removed the fan pin + #define FAN_PIN -1 +#else + #define FAN_PIN 31 +#endif + +#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 diff --git a/Marlin/pins_STB_11.h b/Marlin/pins_STB_11.h new file mode 100644 index 0000000000..ae06101d06 --- /dev/null +++ b/Marlin/pins_STB_11.h @@ -0,0 +1,11 @@ +/** + * STB V1.1 pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_TEENSY2.h b/Marlin/pins_TEENSY2.h new file mode 100644 index 0000000000..c7144266ba --- /dev/null +++ b/Marlin/pins_TEENSY2.h @@ -0,0 +1,115 @@ +/** + * 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: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS 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' selected from the 'Tools -> Boards' menu. +#endif + +#ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical. + #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config + // (or build from command line) +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 28 // 0 Marlin +#define X_DIR_PIN 29 // 1 Marlin +#define X_ENABLE_PIN 26 + +#define Y_STEP_PIN 30 // 2 Marlin +#define Y_DIR_PIN 31 // 3 +#define Y_ENABLE_PIN 26 // Shared w/x + +#define Z_STEP_PIN 32 // 4 +#define Z_DIR_PIN 33 // 5 +#define Z_ENABLE_PIN 26 // Shared w/x + +#define E0_STEP_PIN 34 // 6 +#define E0_DIR_PIN 35 // 7 +#define E0_ENABLE_PIN 26 // Shared w/x + +#define HEATER_0_PIN 15 // 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 14 // 20 // Bed +#define FAN_PIN 16 // 22 // Fan + +#define X_STOP_PIN 2 +#define Y_STOP_PIN 3 +#define Z_STOP_PIN 4 + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define SDCARDDETECT -1 +#define SDSS 20 // 8 +#define LED_PIN 6 +#define PS_ON_PIN 27 +#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 21 // 9 + #define MISO_PIN 23 // 11 + #define MOSI_PIN 22 // 10 +#endif + +#ifdef ULTIPANEL + #define LCD_PINS_RS 8 + #define LCD_PINS_ENABLE 9 + #define LCD_PINS_D4 10 + #define LCD_PINS_D5 11 + #define LCD_PINS_D6 12 + #define LCD_PINS_D7 13 + #define BTN_EN1 38 + #define BTN_EN2 39 + #define BTN_ENC 40 +#endif diff --git a/Marlin/pins_TEENSYLU.h b/Marlin/pins_TEENSYLU.h new file mode 100644 index 0000000000..46da7d299c --- /dev/null +++ b/Marlin/pins_TEENSYLU.h @@ -0,0 +1,85 @@ +/** + * Teensylu 0.7 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 + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. + #error These Teensylu assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN 46 +#define HEATER_2_PIN 47 +#define HEATER_BED_PIN 20 + +// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin +// fastio pin numbering otherwise +#ifdef FAN_SOFT_PWM || FAST_PWM_FAN + #define FAN_PIN 22 +#else + #define FAN_PIN 16 +#endif + +#define X_STOP_PIN 13 +#define Y_STOP_PIN 14 +#define Z_STOP_PIN 15 +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#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 + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef LCD_I2C_PANELOLU2 + #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 + #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 + #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 + #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) + #endif // LCD_I2C_PANELOLU2 + //not connected to a pin + #define SDCARDDETECT -1 +#endif // ULTRA_LCD && NEWPANEL + diff --git a/Marlin/pins_ULTIMAIN_2.h b/Marlin/pins_ULTIMAIN_2.h new file mode 100644 index 0000000000..7c03f6b2b8 --- /dev/null +++ b/Marlin/pins_ULTIMAIN_2.h @@ -0,0 +1,80 @@ +/** + * Ultiboard v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 25 +#define X_DIR_PIN 23 +#define X_STOP_PIN 22 +#define X_ENABLE_PIN 27 + +#define Y_STEP_PIN 32 +#define Y_DIR_PIN 33 +#define Y_STOP_PIN 26 +#define Y_ENABLE_PIN 31 + +#define Z_STEP_PIN 35 +#define Z_DIR_PIN 36 +#define Z_STOP_PIN 29 +#define Z_ENABLE_PIN 34 + +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 10 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 3 +#define TEMP_1_PIN 9 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#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 SDPOWER -1 +#define SDSS 53 +#define LED_PIN 8 +#define FAN_PIN 7 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. +#define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered +#define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider. + +#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 +#define MOTOR_CURRENT_PWM_RANGE 2000 +#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250} + +//arduino pin witch triggers an piezzo beeper +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT 39 diff --git a/Marlin/pins_ULTIMAKER.h b/Marlin/pins_ULTIMAKER.h new file mode 100644 index 0000000000..649ea595ea --- /dev/null +++ b/Marlin/pins_ULTIMAKER.h @@ -0,0 +1,100 @@ +/** + * Ultimaker 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 LARGE_FLASH true + +#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_BED_PIN 4 +#define TEMP_BED_PIN 10 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 3 +#define TEMP_1_PIN 9 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 +#define FAN_PIN 7 +#define PS_ON_PIN 12 +#define KILL_PIN -1 +#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing. +#define SERVO0_PIN 13 // untested + +#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 SDCARDDETECT 38 + + #else //!NEWPANEL - 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 + + #define SDCARDDETECT -1 + + #endif // !NEWPANEL + +#endif // ULTRA_LCD diff --git a/Marlin/pins_ULTIMAKER_OLD.h b/Marlin/pins_ULTIMAKER_OLD.h new file mode 100644 index 0000000000..571ea16000 --- /dev/null +++ b/Marlin/pins_ULTIMAKER_OLD.h @@ -0,0 +1,62 @@ +/** + * Ultimaker pin assignments (Old electronics) + */ + +#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 25 +#define X_DIR_PIN 23 +#define X_MIN_PIN 15 +#define X_MAX_PIN 14 +#define X_ENABLE_PIN 27 + +#define Y_STEP_PIN 31 +#define Y_DIR_PIN 33 +#define Y_MIN_PIN 17 +#define Y_MAX_PIN 16 +#define Y_ENABLE_PIN 29 + +#define Z_STEP_PIN 37 +#define Z_DIR_PIN 39 +#define Z_MIN_PIN 19 +#define Z_MAX_PIN 18 +#define Z_ENABLE_PIN 35 + +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 1 +#define TEMP_1_PIN 1 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#define E0_STEP_PIN 43 +#define E0_DIR_PIN 45 +#define E0_ENABLE_PIN 41 + +#define E1_STEP_PIN -1 +#define E1_DIR_PIN -1 +#define E1_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN -1 +#define FAN_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. + +#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 From b684f7e92b204cf5c6b71f6d9f9a63153e7334f1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:42:16 -0800 Subject: [PATCH 005/132] Cleanup heading --- Marlin/pins_AZTEEG_X3.h | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Marlin/pins_AZTEEG_X3.h b/Marlin/pins_AZTEEG_X3.h index 573f126aca..7eb8eae49a 100644 --- a/Marlin/pins_AZTEEG_X3.h +++ b/Marlin/pins_AZTEEG_X3.h @@ -1,15 +1,5 @@ /** - * Arduino Mega pin assignments - * - * RAMPS_OLD - * RAMPS_13_EFB - * RAMPS_13_EEB - * RAMPS_13_EFF - * RAMPS_13_EEF - * 3DRAG - * K8200 - * AZTEEG_X3 - * AZTEEG_X3_PRO + * AZTEEG_X3 Arduino Mega with RAMPS v1.3 pin assignments */ #include "pins_RAMPS_13.h" From 5347ac2766dfaebf2f4d45d58c34c6376098cdfc Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:50:09 -0800 Subject: [PATCH 006/132] cleanup --- Marlin/pins.h | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index 82717bcb47..0861322660 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -1,7 +1,7 @@ /** * pins.h - * */ + #ifndef PINS_H #define PINS_H @@ -34,13 +34,7 @@ #include "pins_SETHI.h" #elif 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) +#elif MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) #include "pins_RAMPS_13.h" #elif MB(DUEMILANOVE_328P) #include "pins_DUEMILANOVE_328P.h" From b51a583f082aa7cafb15052ecf7296bd5faab2b4 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 19:20:25 -0800 Subject: [PATCH 007/132] cleanup --- Marlin/pins_CHEAPTRONIC.h | 2 +- Marlin/pins_GEN7_12.h | 2 +- Marlin/pins_GEN7_14.h | 2 +- Marlin/pins_MEGATRONICS_1.h | 2 +- Marlin/pins_MEGATRONICS_2.h | 2 +- Marlin/pins_SETHI.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/pins_CHEAPTRONIC.h b/Marlin/pins_CHEAPTRONIC.h index 440a93cd95..83d67e5f9b 100644 --- a/Marlin/pins_CHEAPTRONIC.h +++ b/Marlin/pins_CHEAPTRONIC.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_GEN7_12.h b/Marlin/pins_GEN7_12.h index 719ef9d6b7..b2e9c79066 100644 --- a/Marlin/pins_GEN7_12.h +++ b/Marlin/pins_GEN7_12.h @@ -3,7 +3,7 @@ */ #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. #endif #ifndef GEN7_VERSION diff --git a/Marlin/pins_GEN7_14.h b/Marlin/pins_GEN7_14.h index 292e890030..41e1ac79ab 100644 --- a/Marlin/pins_GEN7_14.h +++ b/Marlin/pins_GEN7_14.h @@ -5,7 +5,7 @@ #define GEN7_VERSION 14 // v1.4 #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. #endif //x axis pins diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h index 51cb12a211..26cfd2f3b6 100644 --- a/Marlin/pins_MEGATRONICS_1.h +++ b/Marlin/pins_MEGATRONICS_1.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega1281__ - #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Minitronics' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h index b0517fd92e..a286c91816 100644 --- a/Marlin/pins_MEGATRONICS_2.h +++ b/Marlin/pins_MEGATRONICS_2.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_SETHI.h b/Marlin/pins_SETHI.h index 4a118220c9..c2e43594f5 100644 --- a/Marlin/pins_SETHI.h +++ b/Marlin/pins_SETHI.h @@ -3,7 +3,7 @@ */ #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu. #endif #ifndef GEN7_VERSION From e5a7f34fa49fbaa0b4db9be0fd31312126e405c5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 19:43:43 -0800 Subject: [PATCH 008/132] Add support for 4th extruder #1405 includes some changes to pins.h for a 4th extruder. This commit applies those changes. It also deals with a possible problem with SENSITIVE_PINS. --- Marlin/pins.h | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index 0861322660..e35c0744d3 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -19,6 +19,8 @@ #define E1_MS1_PIN -1 #define E1_MS2_PIN -1 #define DIGIPOTSS_PIN -1 +#define HEATER_3_PIN -1 +#define TEMP_3_PIN -1 #if MB(GEN7_CUSTOM) #include "pins_GEN7_CUSTOM.h" @@ -108,18 +110,23 @@ #error Unknown MOTHERBOARD value set 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 _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN, +// 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, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), #if EXTRUDERS > 1 - #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, + #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), #else #define _E1_PINS #endif #if EXTRUDERS > 2 - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), #else #define _E2_PINS #endif +#if EXTRUDERS > 3 + #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), +#else + #define _E3_PINS +#endif #ifdef X_STOP_PIN #if X_HOME_DIR < 0 @@ -163,9 +170,10 @@ #define Z_MIN_PIN -1 #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, PS_ON_PIN, \ - HEATER_BED_PIN, FAN_PIN, \ - _E0_PINS _E1_PINS _E2_PINS \ - analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_BED_PIN) } +#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, PS_ON_PIN, \ + HEATER_BED_PIN, FAN_PIN, \ + _E0_PINS _E1_PINS _E2_PINS _E3_PINS \ + analogInputToDigitalPin(TEMP_BED_PIN) \ + } #endif //__PINS_H From b87ec5da737e7f22af9061e7678d4c53acc0caca Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 20:08:51 -0800 Subject: [PATCH 009/132] Max endstop pins disabled by configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There’s no need to ask users to uncomment Max Endstop pins when they have them. These will be set to -1 later if the endstop option is disabled. --- Marlin/pins_3DRAG.h | 6 ++---- Marlin/pins_ELEFU_3.h | 6 +++--- Marlin/pins_LEAPFROG.h | 4 ++-- Marlin/pins_MEGATRONICS_1.h | 4 ++-- Marlin/pins_MEGATRONICS_2.h | 4 ++-- Marlin/pins_RAMPS_OLD.h | 12 ++++++------ 6 files changed, 17 insertions(+), 19 deletions(-) diff --git a/Marlin/pins_3DRAG.h b/Marlin/pins_3DRAG.h index 942a0ba3ea..4191dbc4ee 100644 --- a/Marlin/pins_3DRAG.h +++ b/Marlin/pins_3DRAG.h @@ -4,10 +4,8 @@ #include "pins_RAMPS_13.h" -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - -#define Y_MAX_PIN -1 //15 - +#define X_MAX_PIN 2 +#define Y_MAX_PIN 15 #define Z_MAX_PIN -1 #define SDSS 25//53 diff --git a/Marlin/pins_ELEFU_3.h b/Marlin/pins_ELEFU_3.h index b201a1306c..4c9663a352 100644 --- a/Marlin/pins_ELEFU_3.h +++ b/Marlin/pins_ELEFU_3.h @@ -10,19 +10,19 @@ #define X_DIR_PIN 13 #define X_ENABLE_PIN 48 #define X_MIN_PIN 35 -#define X_MAX_PIN -1 //34 +#define X_MAX_PIN 34 #define Y_STEP_PIN 11 #define Y_DIR_PIN 9 #define Y_ENABLE_PIN 12 #define Y_MIN_PIN 33 -#define Y_MAX_PIN -1 //32 +#define Y_MAX_PIN 32 #define Z_STEP_PIN 7 #define Z_DIR_PIN 6 #define Z_ENABLE_PIN 8 #define Z_MIN_PIN 31 -#define Z_MAX_PIN -1 //30 +#define Z_MAX_PIN 30 #define E2_STEP_PIN 43 #define E2_DIR_PIN 47 diff --git a/Marlin/pins_LEAPFROG.h b/Marlin/pins_LEAPFROG.h index 5dd6654c1c..52ca619399 100644 --- a/Marlin/pins_LEAPFROG.h +++ b/Marlin/pins_LEAPFROG.h @@ -10,13 +10,13 @@ #define X_DIR_PIN 63 #define X_ENABLE_PIN 29 #define X_MIN_PIN 47 -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 2 //Max endstops default to disabled "-1", set to commented value to enable. #define Y_STEP_PIN 14 // A6 #define Y_DIR_PIN 15 // A0 #define Y_ENABLE_PIN 39 #define Y_MIN_PIN 48 -#define Y_MAX_PIN -1 //15 +#define Y_MAX_PIN 15 #define Z_STEP_PIN 31 // A2 #define Z_DIR_PIN 32 // A6 diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h index 26cfd2f3b6..f321941f87 100644 --- a/Marlin/pins_MEGATRONICS_1.h +++ b/Marlin/pins_MEGATRONICS_1.h @@ -12,13 +12,13 @@ #define X_DIR_PIN 47 #define X_ENABLE_PIN 49 #define X_MIN_PIN 5 -#define X_MAX_PIN -1 // 2 // Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 2 #define Y_STEP_PIN 39 // A6 #define Y_DIR_PIN 40 // A0 #define Y_ENABLE_PIN 38 #define Y_MIN_PIN 2 -#define Y_MAX_PIN -1 // 15 +#define Y_MAX_PIN 15 #define Z_STEP_PIN 42 // A2 #define Z_DIR_PIN 43 // A6 diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h index a286c91816..064431be29 100644 --- a/Marlin/pins_MEGATRONICS_2.h +++ b/Marlin/pins_MEGATRONICS_2.h @@ -12,13 +12,13 @@ #define X_DIR_PIN 27 #define X_ENABLE_PIN 25 #define X_MIN_PIN 37 -#define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 40 #define Y_STEP_PIN 4 // A6 #define Y_DIR_PIN 54 // A0 #define Y_ENABLE_PIN 5 #define Y_MIN_PIN 41 -#define Y_MAX_PIN 38 //15 +#define Y_MAX_PIN 38 #define Z_STEP_PIN 56 // A2 #define Z_DIR_PIN 60 // A6 diff --git a/Marlin/pins_RAMPS_OLD.h b/Marlin/pins_RAMPS_OLD.h index d4e89f8d9b..6b3454ac8b 100644 --- a/Marlin/pins_RAMPS_OLD.h +++ b/Marlin/pins_RAMPS_OLD.h @@ -13,23 +13,23 @@ #define X_DIR_PIN 28 #define X_ENABLE_PIN 24 #define X_MIN_PIN 3 -#define X_MAX_PIN -1 //2 +#define X_MAX_PIN 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 Y_MAX_PIN 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 -1 //19 +#define Z_MAX_PIN 19 -#define E0_STEP_PIN 32 -#define E0_DIR_PIN 34 -#define E0_ENABLE_PIN 30 +#define E0_STEP_PIN 32 +#define E0_DIR_PIN 34 +#define E0_ENABLE_PIN 30 #define SDPOWER 48 #define SDSS 53 From 89282ebaa6492f8f123c167e8c5261f791c133ce Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:40:00 -0800 Subject: [PATCH 010/132] Split up pins to make it more manageable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hopefully this is helpful to organization and future expansion…. --- Marlin/boards.h | 2 +- Marlin/pins.h | 3062 ++------------------------------ Marlin/pins_3DRAG.h | 39 + Marlin/pins_5DPRINT.h | 75 + Marlin/pins_99.h | 38 + Marlin/pins_AZTEEG_X1.h | 7 + Marlin/pins_AZTEEG_X3.h | 15 + Marlin/pins_AZTEEG_X3_PRO.h | 30 + Marlin/pins_BRAINWAVE.h | 61 + Marlin/pins_CHEAPTRONIC.h | 95 + Marlin/pins_DUEMILANOVE_328P.h | 43 + Marlin/pins_ELEFU_3.h | 116 ++ Marlin/pins_GEN3_MONOLITHIC.h | 61 + Marlin/pins_GEN3_PLUS.h | 45 + Marlin/pins_GEN6.h | 62 + Marlin/pins_GEN6_DELUXE.h | 5 + Marlin/pins_GEN7_12.h | 72 + Marlin/pins_GEN7_13.h | 8 + Marlin/pins_GEN7_14.h | 60 + Marlin/pins_GEN7_CUSTOM.h | 76 + Marlin/pins_K8200.h | 6 + Marlin/pins_LEAPFROG.h | 62 + Marlin/pins_MEGATRONICS.h | 92 + Marlin/pins_MEGATRONICS_1.h | 88 + Marlin/pins_MEGATRONICS_2.h | 103 ++ Marlin/pins_MELZI.h | 11 + Marlin/pins_MELZI_1284.h | 15 + Marlin/pins_OMCA.h | 91 + Marlin/pins_OMCA_A.h | 78 + Marlin/pins_PRINTRBOARD.h | 88 + Marlin/pins_RAMBO.h | 165 ++ Marlin/pins_RAMPS_13.h | 227 +++ Marlin/pins_RAMPS_OLD.h | 69 + Marlin/pins_RUMBA.h | 110 ++ Marlin/pins_SANGUINOLOLU_11.h | 172 ++ Marlin/pins_SANGUINOLOLU_12.h | 19 + Marlin/pins_SAV_MKI.h | 88 + Marlin/pins_SETHI.h | 71 + Marlin/pins_STB_11.h | 11 + Marlin/pins_TEENSY2.h | 115 ++ Marlin/pins_TEENSYLU.h | 85 + Marlin/pins_ULTIMAIN_2.h | 80 + Marlin/pins_ULTIMAKER.h | 100 ++ Marlin/pins_ULTIMAKER_OLD.h | 62 + 44 files changed, 3025 insertions(+), 2955 deletions(-) create mode 100644 Marlin/pins_3DRAG.h create mode 100644 Marlin/pins_5DPRINT.h create mode 100644 Marlin/pins_99.h create mode 100644 Marlin/pins_AZTEEG_X1.h create mode 100644 Marlin/pins_AZTEEG_X3.h create mode 100644 Marlin/pins_AZTEEG_X3_PRO.h create mode 100644 Marlin/pins_BRAINWAVE.h create mode 100644 Marlin/pins_CHEAPTRONIC.h create mode 100644 Marlin/pins_DUEMILANOVE_328P.h create mode 100644 Marlin/pins_ELEFU_3.h create mode 100644 Marlin/pins_GEN3_MONOLITHIC.h create mode 100644 Marlin/pins_GEN3_PLUS.h create mode 100644 Marlin/pins_GEN6.h create mode 100644 Marlin/pins_GEN6_DELUXE.h create mode 100644 Marlin/pins_GEN7_12.h create mode 100644 Marlin/pins_GEN7_13.h create mode 100644 Marlin/pins_GEN7_14.h create mode 100644 Marlin/pins_GEN7_CUSTOM.h create mode 100644 Marlin/pins_K8200.h create mode 100644 Marlin/pins_LEAPFROG.h create mode 100644 Marlin/pins_MEGATRONICS.h create mode 100644 Marlin/pins_MEGATRONICS_1.h create mode 100644 Marlin/pins_MEGATRONICS_2.h create mode 100644 Marlin/pins_MELZI.h create mode 100644 Marlin/pins_MELZI_1284.h create mode 100644 Marlin/pins_OMCA.h create mode 100644 Marlin/pins_OMCA_A.h create mode 100644 Marlin/pins_PRINTRBOARD.h create mode 100644 Marlin/pins_RAMBO.h create mode 100644 Marlin/pins_RAMPS_13.h create mode 100644 Marlin/pins_RAMPS_OLD.h create mode 100644 Marlin/pins_RUMBA.h create mode 100644 Marlin/pins_SANGUINOLOLU_11.h create mode 100644 Marlin/pins_SANGUINOLOLU_12.h create mode 100644 Marlin/pins_SAV_MKI.h create mode 100644 Marlin/pins_SETHI.h create mode 100644 Marlin/pins_STB_11.h create mode 100644 Marlin/pins_TEENSY2.h create mode 100644 Marlin/pins_TEENSYLU.h create mode 100644 Marlin/pins_ULTIMAIN_2.h create mode 100644 Marlin/pins_ULTIMAKER.h create mode 100644 Marlin/pins_ULTIMAKER_OLD.h diff --git a/Marlin/boards.h b/Marlin/boards.h index 1670ad7026..b97ea211ca 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -14,7 +14,7 @@ #define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed) #define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan) #define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan) -#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignment +#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignments #define BOARD_GEN6 5 // Gen6 #define BOARD_GEN6_DELUXE 51 // Gen6 deluxe #define BOARD_SANGUINOLOLU_11 6 // Sanguinololu < 1.2 diff --git a/Marlin/pins.h b/Marlin/pins.h index 3dd34f18b0..e35c0744d3 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -1,9 +1,13 @@ +/** + * pins.h + */ + #ifndef PINS_H #define PINS_H #include "boards.h" -#if !MB(5DPRINT) +// Preset optional pins #define X_MS1_PIN -1 #define X_MS2_PIN -1 #define Y_MS1_PIN -1 @@ -15,2963 +19,111 @@ #define E1_MS1_PIN -1 #define E1_MS2_PIN -1 #define DIGIPOTSS_PIN -1 -#endif - -/**************************************************************************************** -* 5DPrint D8 Driver board -* https://bitbucket.org/makible/5dprint-d8-controller-board -****************************************************************************************/ - -#if MB(5DPRINT) - -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 23 -#define X_STOP_PIN 37 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 19 -#define Y_STOP_PIN 36 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 18 -#define Z_STOP_PIN 39 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 17 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 20 // Bed -// You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h -// for the fan and Teensyduino uses a different pin mapping. -#define FAN_PIN 16 // Fan - -#define TEMP_0_PIN 1 // Extruder / Analog pin numbering -#define TEMP_BED_PIN 0 // Bed / Analog pin numbering - -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define LED_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define ALARM_PIN -1 - -// The SDSS pin uses a different pin mapping from file Sd2PinMap.h -#define SDSS 20 - -#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 - -// Microstepping pins -// Note that the pin mapping is not from fastio.h -// See Sd2PinMap.h for the pin configurations -#define X_MS1_PIN 25 -#define X_MS2_PIN 26 -#define Y_MS1_PIN 9 -#define Y_MS2_PIN 8 -#define Z_MS1_PIN 7 -#define Z_MS2_PIN 6 -#define E0_MS1_PIN 5 -#define E0_MS2_PIN 4 - -#endif // 5DPRINT - -/**************************************************************************************** -* Leapfrog Driver board -* -****************************************************************************************/ -#if MB(LEAPFROG) // Leapfrog board -#define KNOWN_BOARD 1 - -#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 28 -#define X_DIR_PIN 63 -#define X_ENABLE_PIN 29 -#define X_MIN_PIN 47 -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - -#define Y_STEP_PIN 14 // A6 -#define Y_DIR_PIN 15 // A0 -#define Y_ENABLE_PIN 39 -#define Y_MIN_PIN 48 -#define Y_MAX_PIN -1 //15 - -#define Z_STEP_PIN 31 // A2 -#define Z_DIR_PIN 32 // A6 -#define Z_ENABLE_PIN 30 // A1 -#define Z_MIN_PIN 49 -#define Z_MAX_PIN -1 - -#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 - -#define Y2_STEP_PIN 37 -#define Y2_DIR_PIN 40 -#define Y2_ENABLE_PIN 36 - -#define Z2_STEP_PIN 37 -#define Z2_DIR_PIN 40 -#define Z2_ENABLE_PIN 36 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN 13 -#define FAN_PIN 7 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SOL1_PIN 16 -#define SOL2_PIN 17 - -#define HEATER_0_PIN 9 -#define HEATER_1_PIN 8 // 12 -#define HEATER_2_PIN 11 //-1 // 13 -#define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN 15 // 1 -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN 10 // 14/15 -#define TEMP_BED_PIN 14 // 1,2 or I2C -/* 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 // LEAPFROG - -/**************************************************************************************** -* -* -****************************************************************************************/ - -#if MB(99) -#define KNOWN_BOARD 1 - -#define X_STEP_PIN 2 -#define X_DIR_PIN 3 -#define X_ENABLE_PIN -1 -#define X_STOP_PIN 16 - -#define Y_STEP_PIN 5 -#define Y_DIR_PIN 6 -#define Y_ENABLE_PIN -1 -#define Y_STOP_PIN 67 - -#define Z_STEP_PIN 62 -#define Z_DIR_PIN 63 -#define Z_ENABLE_PIN -1 -#define Z_STOP_PIN 59 - -#define E0_STEP_PIN 65 -#define E0_DIR_PIN 66 -#define E0_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN 9 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#endif // 99 - -/**************************************************************************************** -* Sethi 3D_1 pin assignment - www.sethi3d.com.br -* -****************************************************************************************/ - -#if MB(SETHI) -#define KNOWN_BOARD - -#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 - -#ifndef GEN7_VERSION -#define GEN7_VERSION 12 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 2 - -//y axis pins -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 0 - -//z axis pins -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 1 -#define Z_MAX_PIN 0 - -//extruder pins -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#if (GEN7_VERSION >= 13) -// Gen7 v1.3 removed the fan pin -#define FAN_PIN -1 -#else -#define FAN_PIN 31 -#endif -#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 - -#endif // SETHI - -/**************************************************************************************** -* Gen7 v1.1, v1.2, v1.3 pin assignment -* -****************************************************************************************/ - - -#if MB(GEN7_13) -#define MOTHERBOARD BOARD_GEN7_12 -#define GEN7_VERSION 13 // v1.3 -#endif - -#if MB(GEN7_12) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) -#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -#ifndef GEN7_VERSION -#define GEN7_VERSION 12 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 7 - -//y axis pins -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 5 - -//z axis pins -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 1 -#define Z_MAX_PIN 0 - -//extruder pins -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#if (GEN7_VERSION >= 13) -// Gen7 v1.3 removed the fan pin -#define FAN_PIN -1 -#else -#define FAN_PIN 31 -#endif -#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 - -#endif - -/**************************************************************************************** -* Gen7 v1.4 pin assignment -* -****************************************************************************************/ - -#if MB(GEN7_14) -#define GEN7_VERSION 14 // v1.4 -#endif - -#if MB(GEN7_14) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) -#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -#ifndef GEN7_VERSION -#define GEN7_VERSION 14 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 29 -#define X_DIR_PIN 28 -#define X_ENABLE_PIN 25 -#define X_STOP_PIN 0 - -//y axis pins -#define Y_STEP_PIN 27 -#define Y_DIR_PIN 26 -#define Y_ENABLE_PIN 25 -#define Y_STOP_PIN 1 - -//z axis pins -#define Z_STEP_PIN 23 -#define Z_DIR_PIN 22 -#define Z_ENABLE_PIN 25 -#define Z_STOP_PIN 2 - -//extruder pins -#define E0_STEP_PIN 19 -#define E0_DIR_PIN 18 -#define E0_ENABLE_PIN 25 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 0 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN 15 - -//our pin for debugging. -#define DEBUG_PIN 0 - -//our RS485 pins -#define TX_ENABLE_PIN 12 -#define RX_ENABLE_PIN 13 - -#endif // GEN7 - -/****************************************************************************** -* Gen7 Alfons3 pin assignment -* -******************************************************************************/ -/* These Pins are assigned for the modified GEN7 Board from Alfons3 Please review the pins and adjust it for your needs*/ +#define HEATER_3_PIN -1 +#define TEMP_3_PIN -1 #if MB(GEN7_CUSTOM) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. -#endif - -//x axis pins - #define X_STEP_PIN 21 // different from standard GEN7 - #define X_DIR_PIN 20 // different from standard GEN7 - #define X_ENABLE_PIN 24 - #define X_STOP_PIN 0 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_STOP_PIN 1 - - //z axis pins - #define Z_STEP_PIN 26 - #define Z_DIR_PIN 25 - #define Z_ENABLE_PIN 24 - #define Z_STOP_PIN 2 - - //extruder pins - #define E0_STEP_PIN 28 - #define E0_DIR_PIN 27 - #define E0_ENABLE_PIN 24 - - #define TEMP_0_PIN 2 - #define TEMP_1_PIN -1 - #define TEMP_2_PIN -1 - #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) - - #define HEATER_0_PIN 4 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #define HEATER_BED_PIN 3 // (bed) - - #define SDPOWER -1 - #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support - #define LED_PIN -1 - - #define FAN_PIN -1 - #define PS_ON_PIN 19 - //our pin for debugging. - - #define DEBUG_PIN -1 - - //our RS485 pins - //#define TX_ENABLE_PIN 12 - //#define RX_ENABLE_PIN 13 - - #define BEEPER -1 - #define SDCARDDETECT -1 - #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work - - #define KILL_PIN -1 - //Pins for 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 //the click - -#endif // GEN7_CUSTOM - -/**************************************************************************************** -* Arduino Mega pin assignment -* -****************************************************************************************/ -#if IS_RAMPS || MB(3DRAG) || MB(K8200) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) -#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 - - -#if (IS_RAMPS && !MB(RAMPS_OLD)) || MB(3DRAG) || MB(K8200) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) - - #define LARGE_FLASH true - - #if MB(3DRAG) || MB(K8200) - #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 63 - #define Z_MIN_PIN 18 - #define Z_MAX_PIN -1 - - #define Y2_STEP_PIN 36 - #define Y2_DIR_PIN 34 - #define Y2_ENABLE_PIN 30 - - #define Z2_STEP_PIN 36 - #define Z2_DIR_PIN 34 - #define Z2_ENABLE_PIN 30 - - #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 SDPOWER -1 - #define SDSS 25//53 - #define LED_PIN 13 - - #define BEEPER 33 - - #else - - #define X_STEP_PIN 54 - #define X_DIR_PIN 55 - #define X_ENABLE_PIN 38 - #define X_MIN_PIN 3 - #define X_MAX_PIN 2 - - #define Y_STEP_PIN 60 - #define Y_DIR_PIN 61 - #define Y_ENABLE_PIN 56 - #define Y_MIN_PIN 14 - #define Y_MAX_PIN 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 19 - - #define Y2_STEP_PIN 36 - #define Y2_DIR_PIN 34 - #define Y2_ENABLE_PIN 30 - - #define Z2_STEP_PIN 36 - #define Z2_DIR_PIN 34 - #define Z2_ENABLE_PIN 30 - - #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 - -#if MB(RAMPS_13_EEB) //FMM added for Filament Extruder -#ifdef FILAMENT_SENSOR - //define analog pin for the filament width sensor input - //Use the RAMPS 1.4 Analog input 5 on the AUX2 connector - #define FILWIDTH_PIN 5 -#endif -#endif - - - #if MB(AZTEEG_X3_PRO) - #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 - #endif - - #define SDPOWER -1 - #define SDSS 53 - #define LED_PIN 13 - #endif - - #if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) - #define FAN_PIN 9 // (Sprinter config) - #else - #define FAN_PIN 4 // IO pin. Buffer needed - #endif - - #if MB(3DRAG) || MB(K8200) || MB(RAMPS_13_EEF) - #define FAN_PIN 8 - #endif - - #if MB(RAMPS_13_EFF) - #define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller - #endif - - #define PS_ON_PIN 12 - - #if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) - #define KILL_PIN 41 - #else - #define KILL_PIN -1 - #endif - - #if MB(RAMPS_13_EFF) - #define HEATER_0_PIN 8 - #else - #define HEATER_0_PIN 10 // EXTRUDER 1 - #endif - - #if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) - #define HEATER_1_PIN -1 - #else - #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) - #endif - - - #if MB(3DRAG) || MB(K8200) - #define HEATER_0_PIN 10 - #define HEATER_1_PIN 12 - #define HEATER_2_PIN 6 - #elif MB(AZTEEG_X3_PRO) - #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 - #else - #define HEATER_2_PIN -1 - #endif - - #define TEMP_0_PIN 13 // ANALOG NUMBERING - #define TEMP_1_PIN 15 // ANALOG NUMBERING - #if MB(AZTEEG_X3_PRO) - #define TEMP_2_PIN 12 // ANALOG NUMBERING - #define TEMP_3_PIN 11 // ANALOG NUMBERING - #define TEMP_4_PIN 10 // ANALOG NUMBERING - #define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro - #define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro - #else - #define TEMP_2_PIN -1 // ANALOG NUMBERING - #endif - - #if MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) - #define HEATER_BED_PIN -1 // NO BED - #else - #if MB(3DRAG) || MB(K8200) - #define HEATER_BED_PIN 9 // BED - #else - #define HEATER_BED_PIN 8 // BED - #endif - #endif - - #define TEMP_BED_PIN 14 // ANALOG NUMBERING - - #ifdef NUM_SERVOS - #define SERVO0_PIN 11 - - #if NUM_SERVOS > 1 - #define SERVO1_PIN 6 - #endif - - #if NUM_SERVOS > 2 - #define SERVO2_PIN 5 - #endif - - #if NUM_SERVOS > 3 - #define SERVO3_PIN 4 - #endif - #endif - - #if MB(AZTEEG_X3_PRO) - #define BEEPER 33 - #endif - - #ifdef TEMP_STAT_LEDS - #if MB(AZTEEG_X3) - #define STAT_LED_RED 6 - #define STAT_LED_BLUE 11 - #endif - #endif - - #ifdef ULTRA_LCD - - #ifdef 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 - - #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER - #define BEEPER 37 - - #define BTN_EN1 31 - #define BTN_EN2 33 - #define BTN_ENC 35 - - #define SDCARDDETECT 49 - #elif defined(LCD_I2C_PANELOLU2) - #define BTN_EN1 47 //reverse if the encoder turns the wrong way. - #define BTN_EN2 43 - #define BTN_ENC 32 - #define LCD_SDSS 53 - #define SDCARDDETECT -1 - #define KILL_PIN 41 - #elif defined(LCD_I2C_VIKI) - #define BTN_EN1 22 //reverse if the encoder turns the wrong way. - #define BTN_EN2 7 - #define BTN_ENC -1 - #define LCD_SDSS 53 - #define SDCARDDETECT 49 - #else - //arduino pin which triggers an piezzo beeper - #define BEEPER 33 // Beeper on AUX-4 - - //buttons are directly attached using AUX-2 - #ifdef REPRAPWORLD_KEYPAD - #define BTN_EN1 64 // encoder - #define BTN_EN2 59 // encoder - #define BTN_ENC 63 // enter button - #define SHIFT_OUT 40 // shift register - #define SHIFT_CLK 44 // shift register - #define SHIFT_LD 42 // shift register - #else - #define BTN_EN1 37 - #define BTN_EN2 35 - #define BTN_ENC 31 //the click - #endif - - #ifdef G3D_PANEL - #define SDCARDDETECT 49 - #else - #define SDCARDDETECT -1 // Ramps does not use this port - #endif - - #endif - - #if MB(3DRAG) || MB(K8200) - #define BEEPER -1 - - #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 - #define BTN_EN1 16 - #define BTN_EN2 17 - #define BTN_ENC 23 //the click - - #endif - #else //old style panel with shift register - //arduino pin witch triggers an piezzo beeper - #define BEEPER 33 //No Beeper added - - //buttons are attached to a shift register - // Not wired this yet - //#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 17 - #define LCD_PINS_D4 23 - #define LCD_PINS_D5 25 - #define LCD_PINS_D6 27 - #define LCD_PINS_D7 29 - #endif - #endif //ULTRA_LCD - -#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default (BOARD_RAMPS_OLD) - -#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 -1 //19 - -#define E0_STEP_PIN 32 -#define E0_DIR_PIN 34 -#define E0_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_BED_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_BED_PIN 8 // RAMPS 1.1 - #define FAN_PIN 9 // RAMPS 1.1 -#endif -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! - -#endif // RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG || K8200 - -// 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 66// Do not use pin 53 if there is even the remote possibility of using Display/SD card + #include "pins_GEN7_CUSTOM.h" +#elif MB(GEN7_12) + #include "pins_GEN7_12.h" +#elif MB(GEN7_13) + #include "pins_GEN7_13.h" +#elif MB(GEN7_14) + #include "pins_GEN7_14.h" +#elif MB(CHEAPTRONIC) + #include "pins_CHEAPTRONIC.h" +#elif MB(SETHI) + #include "pins_SETHI.h" +#elif MB(RAMPS_OLD) + #include "pins_RAMPS_OLD.h" +#elif MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) + #include "pins_RAMPS_13.h" +#elif MB(DUEMILANOVE_328P) + #include "pins_DUEMILANOVE_328P.h" +#elif MB(GEN6) + #include "pins_GEN6.h" +#elif MB(GEN6_DELUXE) + #include "pins_GEN6_DELUXE.h" +#elif MB(SANGUINOLOLU_11) + #include "pins_SANGUINOLOLU_11.h" +#elif MB(SANGUINOLOLU_12) + #include "pins_SANGUINOLOLU_12.h" +#elif MB(MELZI) + #include "pins_MELZI.h" +#elif MB(STB_11) + #include "pins_STB_11.h" +#elif MB(AZTEEG_X1) + #include "pins_AZTEEG_X1.h" +#elif MB(MELZI_1284) + #include "pins_MELZI_1284.h" +#elif MB(AZTEEG_X3) + #include "pins_AZTEEG_X3.h" +#elif MB(AZTEEG_X3_PRO) + #include "pins_AZTEEG_X3_PRO.h" +#elif MB(ULTIMAKER) + #include "pins_ULTIMAKER.h" +#elif MB(ULTIMAKER_OLD) + #include "pins_ULTIMAKER_OLD.h" +#elif MB(ULTIMAIN_2) + #include "pins_ULTIMAIN_2.h" +#elif MB(3DRAG) + #include "pins_3DRAG.h" +#elif MB(K8200) + #include "pins_K8200.h" +#elif MB(TEENSYLU) + #include "pins_TEENSYLU.h" +#elif MB(RUMBA) + #include "pins_RUMBA.h" +#elif MB(PRINTRBOARD) + #include "pins_PRINTRBOARD.h" +#elif MB(BRAINWAVE) + #include "pins_BRAINWAVE.h" +#elif MB(SAV_MKI) + #include "pins_SAV_MKI.h" +#elif MB(TEENSY2) + #include "pins_TEENSY2.h" +#elif MB(GEN3_PLUS) + #include "pins_GEN3_PLUS.h" +#elif MB(GEN3_MONOLITHIC) + #include "pins_GEN3_MONOLITHIC.h" +#elif MB(MEGATRONICS) + #include "pins_MEGATRONICS.h" +#elif MB(MEGATRONICS_2) + #include "pins_MEGATRONICS_2.h" +#elif MB(MEGATRONICS_1) + #include "pins_MEGATRONICS_1.h" +#elif MB(OMCA_A) + #include "pins_OMCA_A.h" +#elif MB(OMCA) + #include "pins_OMCA.h" +#elif MB(RAMBO) + #include "pins_RAMBO.h" +#elif MB(ELEFU_3) + #include "pins_ELEFU_3.h" +#elif MB(5DPRINT) + #include "pins_5DPRINT.h" +#elif MB(LEAPFROG) + #include "pins_LEAPFROG.h" +#elif MB(99) + #include "pins_99.h" #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 + #error Unknown MOTHERBOARD value set in Configuration.h #endif -#endif // RAMPS_OLD || RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG || K8200 - -/**************************************************************************************** -* Duemilanove w/ ATMega328P pin assignment -* -****************************************************************************************/ -#if MB(DUEMILANOVE_328P) -#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_STOP_PIN 17 - -#define Y_STEP_PIN 10 -#define Y_DIR_PIN 7 -#define Y_ENABLE_PIN -1 -#define Y_STOP_PIN 8 - -#define Z_STEP_PIN 13 -#define Z_DIR_PIN 3 -#define Z_ENABLE_PIN 2 -#define Z_STOP_PIN 4 - -#define E0_STEP_PIN 11 -#define E0_DIR_PIN 12 -#define E0_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 HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#endif // DUEMILANOVE_328P - -/**************************************************************************************** -* Elefu RA Board Pin Assignments -* -****************************************************************************************/ -#if MB(ELEFU_3) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. -#endif - - -#define X_STEP_PIN 49 -#define X_DIR_PIN 13 -#define X_ENABLE_PIN 48 -#define X_MIN_PIN 35 -#define X_MAX_PIN -1 //34 - -#define Y_STEP_PIN 11 -#define Y_DIR_PIN 9 -#define Y_ENABLE_PIN 12 -#define Y_MIN_PIN 33 -#define Y_MAX_PIN -1 //32 - -#define Z_STEP_PIN 7 -#define Z_DIR_PIN 6 -#define Z_ENABLE_PIN 8 -#define Z_MIN_PIN 31 -#define Z_MAX_PIN -1 //30 - -#define E2_STEP_PIN 43 -#define E2_DIR_PIN 47 -#define E2_ENABLE_PIN 42 - -#define E1_STEP_PIN 18 -#define E1_DIR_PIN 19 -#define E1_ENABLE_PIN 38 - -#define E0_STEP_PIN 40 -#define E0_DIR_PIN 41 -#define E0_ENABLE_PIN 37 - -#define SDPOWER -1 -#define LED_PIN -1 //Use +12V Aux port for LED Ring - -#define FAN_PIN 16 //5V PWM - -#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 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 TEMP_0_PIN 3 //ANALOG NUMBERING -#define TEMP_1_PIN 2 //ANALOG NUMBERING -#define TEMP_2_PIN 1 //ANALOG NUMBERING -#define TEMP_BED_PIN 0 //ANALOG NUMBERING - -#define BEEPER 36 - -#define KILL_PIN -1 - -// M240 Triggers a camera by emulating a Canon RC-1 Remote -// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ -#define PHOTOGRAPH_PIN 29 - -#ifdef RA_CONTROL_PANEL - - #define SDSS 53 - #define SDCARDDETECT 28 - - #define BTN_EN1 14 - #define BTN_EN2 39 - #define BTN_ENC 15 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif //RA_CONTROL_PANEL - -#ifdef 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_LIGHTING - - -#endif // ELEFU_3 - - -/**************************************************************************************** -* Gen6 pin assignment -* -****************************************************************************************/ -#if MB(GEN6) || MB(GEN6_DELUXE) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -//x axis pins - #define X_STEP_PIN 15 - #define X_DIR_PIN 18 - #define X_ENABLE_PIN 19 - #define X_STOP_PIN 20 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_STOP_PIN 25 - - //z axis pins - #define Z_STEP_PIN 27 - #define Z_DIR_PIN 28 - #define Z_ENABLE_PIN 29 - #define Z_STOP_PIN 30 - - //extruder pins - #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 - #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 - #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 - - - #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410 - #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #if MB(GEN6) - #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410 - #else - #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410 - #endif - #define SDPOWER -1 - #define SDSS 17 - #define LED_PIN -1 //changed @ rkoeppl 20110410 - #define FAN_PIN -1 //changed @ rkoeppl 20110410 - #define PS_ON_PIN -1 //changed @ rkoeppl 20110410 - #define KILL_PIN -1 //changed @ drakelive 20120830 - //our pin for debugging. - - #define DEBUG_PIN 0 - - //our RS485 pins - #define TX_ENABLE_PIN 12 - #define RX_ENABLE_PIN 13 - -#endif // GEN6 || GEN6_DELUXE - -/**************************************************************************************** -* Sanguinololu pin assignment -* -****************************************************************************************/ -#if MB(STB_11) -#define STB -#endif -#if MB(MELZI) || MB(MELZI_1284) -#define MELZI -#endif -#if MB(AZTEEG_X1) -#define AZTEEG_X1 -#endif -#if MB(SANGUINOLOLU_12) || MB(MELZI) || MB(STB_11) || MB(AZTEEG_X1) || MB(MELZI_1284) -#undef MOTHERBOARD -#define MOTHERBOARD BOARD_SANGUINOLOLU_11 -#define SANGUINOLOLU_V_1_2 - -#if defined(__AVR_ATmega1284P__) - #define LARGE_FLASH true -#endif -#endif - -#if MB(SANGUINOLOLU_11) -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 21 -#define X_STOP_PIN 18 - -#define Y_STEP_PIN 22 -#define Y_DIR_PIN 23 -#define Y_STOP_PIN 19 - -#define Z_STEP_PIN 3 -#define Z_DIR_PIN 2 -#define Z_STOP_PIN 20 - -#define E0_STEP_PIN 1 -#define E0_DIR_PIN 0 - -#define LED_PIN -1 - -#define FAN_PIN -1 - #if FAN_PIN == 12 || FAN_PIN ==13 - #define FAN_SOFT_PWM -#endif - -#ifdef MELZI - #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */ - #define FAN_PIN 4 // Works for Panelolu2 too -#endif - -#ifdef STB - #define FAN_PIN 4 - // Uncomment this if you have the first generation (V1.10) of STBs board - #define LCD_PIN_BL 17 // LCD backlight LED -#endif - -#ifdef AZTEEG_X1 - #define FAN_PIN 4 -#endif - -#ifdef NUM_SERVOS - #define SERVO0_PIN -1 - - #if NUM_SERVOS > 1 - #define SERVO1_PIN -1 - #endif - - #if NUM_SERVOS > 2 - #define SERVO2_PIN -1 - #endif - - #if NUM_SERVOS > 3 - #define SERVO3_PIN -1 - #endif -#endif - -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 // (extruder) -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 - -#ifdef 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 - - #ifdef 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 - -#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define SDPOWER -1 -#define SDSS 31 - -/* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */ -//#define SDSS 24 - - #ifdef ULTRA_LCD - #ifdef NEWPANEL - //we have no buzzer installed - #define BEEPER -1 - //LCD Pins - #ifdef DOGLCD - #ifdef U8GLIB_ST7920 //SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0 - #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 - #define BEEPER 27 // Pin 27 is take by LED_Pin, but Melzi LED do nothing with Marlin and I take this pin for BEEPER.... See here > [github.com] , If you want use this pin with Gcode M42 instead BEEPER - #else - // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 30 - #define DOGLCD_CS 29 - #define LCD_CONTRAST 1 - #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 // standard Hitachi LCD controller - #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 - //The encoder and click button - #define BTN_EN1 11 - #define BTN_EN2 10 - #ifdef LCD_I2C_PANELOLU2 - #ifdef MELZI - #define BTN_ENC 29 //the click switch - #define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board - #else - #define BTN_ENC 30 //the click switch - #endif - #else - #define BTN_ENC 16 //the click switch - #define LCD_SDSS 28 //to use the SD card reader on the smart controller rather than the melzi board - #endif //Panelolu2 - //not connected to a pin - #define SDCARDDETECT -1 - - #endif //Newpanel - #endif //Ultipanel - - #ifdef MAKRPANEL - #define BEEPER 29 - // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 30 - #define DOGLCD_CS 17 - #define LCD_PIN_BL 28 // backlight LED on PA3 - // GLCD features - #define LCD_CONTRAST 1 - // Uncomment screen orientation - #define LCD_SCREEN_ROT_0 - // #define LCD_SCREEN_ROT_90 - // #define LCD_SCREEN_ROT_180 - // #define LCD_SCREEN_ROT_270 - //The encoder and click button - #define BTN_EN1 11 - #define BTN_EN2 10 - #define BTN_ENC 16 //the click switch - //not connected to a pin - #define SDCARDDETECT -1 - #endif //Makrpanel - -#endif // SANGUINOLOLU_11 - - -/***************************************************************** -* Ultimaker pin assignment -******************************************************************/ - -#if MB(ULTIMAKER) -#define KNOWN_BOARD - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define LARGE_FLASH true - -#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_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 3 -#define TEMP_1_PIN 9 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 7 -#define PS_ON_PIN 12 -#define KILL_PIN -1 -#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing. -#define SERVO0_PIN 13 // untested - -#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 SDCARDDETECT 38 - - #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 - - #define SDCARDDETECT -1 - #endif -#endif //ULTRA_LCD - -#endif // ULTIMAKER - -#if MB(ULTIMAKER_OLD) -#define KNOWN_BOARD -/***************************************************************** -* Ultimaker pin assignment (Old electronics) -******************************************************************/ - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_MIN_PIN 15 -#define X_MAX_PIN 14 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_MIN_PIN 17 -#define Y_MAX_PIN 16 -#define Y_ENABLE_PIN 29 - -#define Z_STEP_PIN 37 -#define Z_DIR_PIN 39 -#define Z_MIN_PIN 19 -#define Z_MAX_PIN 18 -#define Z_ENABLE_PIN 35 - -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 1 -#define TEMP_1_PIN 1 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 43 -#define E0_DIR_PIN 45 -#define E0_ENABLE_PIN 41 - -#define E1_STEP_PIN -1 -#define E1_DIR_PIN -1 -#define E1_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. - -#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 - -#endif // ULTIMAKER_OLD - -#if MB(ULTIMAIN_2) -#define KNOWN_BOARD -/***************************************************************** -* Ultiboard v2.0 pin assignment -******************************************************************/ - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_STOP_PIN 22 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 32 -#define Y_DIR_PIN 33 -#define Y_STOP_PIN 26 -#define Y_ENABLE_PIN 31 - -#define Z_STEP_PIN 35 -#define Z_DIR_PIN 36 -#define Z_STOP_PIN 29 -#define Z_ENABLE_PIN 34 - -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 3 -#define TEMP_1_PIN 9 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#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 SDPOWER -1 -#define SDSS 53 -#define LED_PIN 8 -#define FAN_PIN 7 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. -#define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered -#define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider. - -#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 -#define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250} - -//arduino pin witch triggers an piezzo beeper -#define BEEPER 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 //the click - -#define BLEN_C 2 -#define BLEN_B 1 -#define BLEN_A 0 - -#define SDCARDDETECT 39 - -#endif // ULTIMAIN_2 - -/**************************************************************************************** -* RUMBA pin assignment -* -****************************************************************************************/ -#if MB(RUMBA) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 17 -#define X_DIR_PIN 16 -#define X_ENABLE_PIN 48 -#define X_MIN_PIN 37 -#define X_MAX_PIN 36 - -#define Y_STEP_PIN 54 -#define Y_DIR_PIN 47 -#define Y_ENABLE_PIN 55 -#define Y_MIN_PIN 35 -#define Y_MAX_PIN 34 - -#define Z_STEP_PIN 57 -#define Z_DIR_PIN 56 -#define Z_ENABLE_PIN 62 -#define Z_MIN_PIN 33 -#define Z_MAX_PIN 32 - -#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 - -#define LED_PIN 13 - -#define FAN_PIN 7 -//additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8 - -#define PS_ON_PIN 45 -#define KILL_PIN 46 - -#if (TEMP_SENSOR_0==0) - #define TEMP_0_PIN -1 - #define HEATER_0_PIN -1 -#else - #define HEATER_0_PIN 2 // EXTRUDER 1 - #if (TEMP_SENSOR_0==-1) - #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used - #else - #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used - #endif -#endif - -#if (TEMP_SENSOR_1==0) - #define TEMP_1_PIN -1 - #define HEATER_1_PIN -1 -#else - #define HEATER_1_PIN 3 // EXTRUDER 2 - #if (TEMP_SENSOR_1==-1) - #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used - #else - #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used - #endif -#endif - -#if (TEMP_SENSOR_2==0) - #define TEMP_2_PIN -1 - #define HEATER_2_PIN -1 -#else - #define HEATER_2_PIN 6 // EXTRUDER 3 - #if (TEMP_SENSOR_2==-1) - #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple - #else - #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used - #endif -#endif - -//optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used -//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4 - -#if (TEMP_SENSOR_BED==0) - #define TEMP_BED_PIN -1 - #define HEATER_BED_PIN -1 -#else - #define HEATER_BED_PIN 9 // BED - #if (TEMP_SENSOR_BED==-1) - #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple - #else - #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used - #endif -#endif - -#define SDPOWER -1 -#define SDSS 53 -#define SDCARDDETECT 49 -#define BEEPER 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 - -#endif // RUMBA - - -/**************************************************************************************** -* Teensylu 0.7 / Printrboard 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 -****************************************************************************************/ -#if MB(TEENSYLU) || MB(PRINTRBOARD) -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. -#error These Teensylu/Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 39 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 38 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 23 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 19 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN 46 -#define HEATER_2_PIN 47 -#define HEATER_BED_PIN 20 // Bed -// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin -// fastio pin numbering otherwise -#ifdef FAN_SOFT_PWM || FAST_PWM_FAN - #define FAN_PIN 22 // Fan -#else - #define FAN_PIN 16 // Fan -#endif - -#if MB(TEENSYLU) // Teensylu - #define X_STOP_PIN 13 - #define Y_STOP_PIN 14 - #define Z_STOP_PIN 15 - #define TEMP_0_PIN 7 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 6 // Bed / Analog pin numbering -#else // Printrboard - #define X_STOP_PIN 35 - #define Y_STOP_PIN 8 - #define Z_STOP_PIN 36 - #define TEMP_0_PIN 1 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 0 // Bed / Analog pin numbering - #ifdef FILAMENT_SENSOR - #define FILWIDTH_PIN 2 - #endif //FILAMENT_SENSOR -#endif - -#define TEMP_1_PIN -1 -#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 - -#if defined(ULTRA_LCD) && defined(NEWPANEL) - //we have no buzzer installed - #define BEEPER -1 - //LCD Pins - #ifdef LCD_I2C_PANELOLU2 - #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 - #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 - #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 - #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) - #endif //LCD_I2C_PANELOLU2 - //not connected to a pin - #define SDCARDDETECT -1 -#endif //Ultipanel && Newpanel - -#endif // TEENSYLU || PRINTRBOARD - -/**************************************************************************************** - * Brainwave 1.0 pin assignments (AT90USB646) - * Requires hardware bundle for Arduino: - https://github.com/unrepentantgeek/brainwave-arduino - ****************************************************************************************/ -#if MB(BRAINWAVE) -#define KNOWN_BOARD 1 -#define AT90USB 646 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB646__ -#error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 27 -#define X_DIR_PIN 29 -#define X_ENABLE_PIN 28 -#define X_STOP_PIN 7 -#define X_ATT_PIN 26 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_ENABLE_PIN 32 -#define Y_STOP_PIN 6 -#define Y_ATT_PIN 30 - -#define Z_STEP_PIN 17 -#define Z_DIR_PIN 19 -#define Z_ENABLE_PIN 18 -#define Z_STOP_PIN 5 -#define Z_ATT_PIN 16 - -#define E0_STEP_PIN 21 -#define E0_DIR_PIN 23 -#define E0_ENABLE_PIN 22 -#define E0_ATT_PIN 20 - -#define HEATER_0_PIN 4 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 38 // Bed -#define FAN_PIN 3 // Fan - -#define TEMP_0_PIN 7 // Extruder / Analog pin numbering -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // Bed / Analog pin numbering - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN 39 -#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 // BRAINWAVE - -// -// SAV Mk-I -// ----------------------------------------------------------------------------------- -/**************************************************************************************** -* SAV MkI pin assignments (AT90USB1286) -* Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE! - http://www.pjrc.com/teensy/teensyduino.html - RepRap Clone Wars project board. -****************************************************************************************/ -#if MB(SAV_MKI) // SAV Mk-I -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 39 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 38 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 23 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 19 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 20 // Bed -#define FAN_PIN 16 // Fan -- from Teensyduino environment. - // For the fan and Teensyduino uses a different pin mapping. - - #define X_STOP_PIN 13 - #define Y_STOP_PIN 14 - #define Z_STOP_PIN 15 -// #define Z_STOP_PIN 36 // For inductive sensor. - - #define TEMP_0_PIN 7 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 6 // Bed / Analog pin numbering - -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define SDSS 20 // PB0 - 8 in marlin env. -#define LED_PIN -1 -#define PS_ON_PIN -1 -#define ALARM_PIN -1 -#define SDCARDDETECT -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 - -#define BEEPER -1 -#define LCD_PINS_RS -1 -#define LCD_PINS_ENABLE -1 -#define LCD_PINS_D4 -1 -#define LCD_PINS_D5 -1 -#define LCD_PINS_D6 -1 -#define LCD_PINS_D7 -1 - -#ifdef SAV_3DLCD -// For LCD SHIFT register LCD -#define SR_DATA_PIN 1 -#define SR_CLK_PIN 0 - -#define BTN_EN1 41 -#define BTN_EN2 40 -#define BTN_ENC 12 - -#define KILL_PIN 42 // A2 = 42 - teensy = 40 -#define HOME_PIN -1 // A4 = marlin 44 - teensy = 42 - -#ifdef NUM_SERVOS - #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp) -#endif - -#endif - -#endif // SAV_MKI - -/**************************************************************************************** -* 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: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make -* -****************************************************************************************/ -#if MB(TEENSY2) -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -/* -DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a TeensyBreadboard: - - 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 AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical. - #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config - // or build from command line with: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make -#endif - -#define X_STEP_PIN 28 // 0 Marlin -#define X_DIR_PIN 29 // 1 Marlin -#define X_ENABLE_PIN 26 - -#define Y_STEP_PIN 30 // 2 Marlin -#define Y_DIR_PIN 31 // 3 -#define Y_ENABLE_PIN 26 // Shared w/x - -#define Z_STEP_PIN 32 // 4 -#define Z_DIR_PIN 33 // 5 -#define Z_ENABLE_PIN 26 // Shared w/x - -#define E0_STEP_PIN 34 // 6 -#define E0_DIR_PIN 35 // 7 -#define E0_ENABLE_PIN 26 // Shared w/x - -#define HEATER_0_PIN 15 // 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 14 // 20 // Bed -#define FAN_PIN 16 // 22 // Fan - -#define X_STOP_PIN 2 -#define Y_STOP_PIN 3 -#define Z_STOP_PIN 4 - -#define TEMP_0_PIN 7 // Extruder / Analog pin numbering -#define TEMP_BED_PIN 6 // Bed / Analog pin numbering -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define SDCARDDETECT -1 -#define SDSS 20 // 8 -#define LED_PIN 6 -#define PS_ON_PIN 27 -#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 21 // 9 - #define MISO_PIN 23 // 11 - #define MOSI_PIN 22 // 10 -#endif - -#ifdef ULTIPANEL -#define LCD_PINS_RS 8 -#define LCD_PINS_ENABLE 9 -#define LCD_PINS_D4 10 -#define LCD_PINS_D5 11 -#define LCD_PINS_D6 12 -#define LCD_PINS_D7 13 -#define BTN_EN1 38 -#define BTN_EN2 39 -#define BTN_ENC 40 -#endif - -#endif // TEENSY2 - - -/**************************************************************************************** -* Gen3+ pin assignment -* -****************************************************************************************/ -#if MB(GEN3_PLUS) -#define MOTHERBOARD BOARD_SANGUINOLOLU_11 /*TODO: Figure out, Why is this done?*/ -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 18 -#define X_STOP_PIN 20 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_STOP_PIN 25 - -#define Z_STEP_PIN 27 -#define Z_DIR_PIN 28 -#define Z_STOP_PIN 30 - -#define E0_STEP_PIN 17 -#define E0_DIR_PIN 21 - -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN 14 -#define KILL_PIN -1 - -#define HEATER_0_PIN 12 // (extruder) - -#define HEATER_BED_PIN 16 // (bed) -#define X_ENABLE_PIN 19 -#define Y_ENABLE_PIN 24 -#define Z_ENABLE_PIN 29 -#define E0_ENABLE_PIN 13 - -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define SDPOWER -1 -#define SDSS 4 -#define HEATER_2_PIN -1 - -#endif // GEN3_PLUS - -/**************************************************************************************** -* Gen3 Monolithic Electronics -* -****************************************************************************************/ -#if MB(GEN3_MONOLITHIC) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644P__ - #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif - -#define DEBUG_PIN 0 - -// x axis -#define X_STEP_PIN 15 -#define X_DIR_PIN 18 -#define X_MIN_PIN 20 -//Alex Checar #define X_STOP_PIN 20 -#define X_ENABLE_PIN 24 //actually uses Y_enable_pin -#define X_MAX_PIN -1 - -// y axes -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_MIN_PIN 25 -//Alex Checar #define Y_STOP_PIN 25 -#define Y_ENABLE_PIN 24 //shared with X_enable_pin -#define Y_MAX_PIN -1 - -// z axes -#define Z_STEP_PIN 27 -#define Z_DIR_PIN 28 -#define Z_MIN_PIN 30 -//Alex Checar #define Z_STOP_PIN 30 -#define Z_ENABLE_PIN 29 -#define Z_MAX_PIN -1 - -//extruder pins -#define E0_STEP_PIN 12 -#define E0_DIR_PIN 17 -#define E0_ENABLE_PIN 3 - -#define HEATER_0_PIN 16 -#define TEMP_0_PIN 0 - -#define FAN_PIN -1 - -//bed pins -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - - -#define SDSS -1 -#define SDPOWER -1 -#define LED_PIN -1 - -//pin for controlling the PSU. -#define PS_ON_PIN 14 //Alex, Do this work on the card? - -//Alex extras from Gen3+ -#define KILL_PIN -1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define HEATER_2_PIN -1 - -#endif // GEN3_MONOLITHIC - -/**************************************************************************************** -* Open Motion controller with enable based extruders -* -* 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 -* +--------+ -* -****************************************************************************************/ -#if MB(OMCA_A) //Alpha OMCA board -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644__ -#error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 21 -#define X_DIR_PIN 20 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 0 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 1 - -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_STOP_PIN 2 - -#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 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 3 -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 // 12 -#define HEATER_2_PIN -1 // 13 -#define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // 1 -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN -1 // 14/15 -#define TEMP_BED_PIN -1 // 1,2 or I2C -/* 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 // OMCA_A - -#if MB(OMCA) // Final OMCA board -- REF http://sanguino.cc/hardware -#define KNOWN_BOARD 1 - -#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 X_STEP_PIN 26 -#define X_DIR_PIN 25 -#define X_ENABLE_PIN 10 -#define X_STOP_PIN 0 - -#define Y_STEP_PIN 28 -#define Y_DIR_PIN 27 -#define Y_ENABLE_PIN 10 -#define Y_STOP_PIN 1 - -#define Z_STEP_PIN 23 -#define Z_DIR_PIN 22 -#define Z_ENABLE_PIN 10 -#define Z_STOP_PIN 2 - -#define E0_STEP_PIN 24 -#define E0_DIR_PIN 21 -#define E0_ENABLE_PIN 10 - -/* future proofing */ -#define __FS 20 -#define __FD 19 -#define __GS 18 -#define __GD 13 - -#define UNUSED_PWM 14 /* PWM on LEFT connector */ - -#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 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 14 /* PWM on MIDDLE connector */ -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 3 /*DONE PWM on RIGHT connector */ -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING -#define TEMP_1_PIN 1 // ANALOG -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 2 // 1,2 or I2C - -#define I2C_SCL 16 -#define I2C_SDA 17 - -#endif // OMCA - -/***************************************************************** -* Rambo Pin Assignments -******************************************************************/ -#if MB(RAMBO) -#define KNOWN_BOARD -#ifndef __AVR_ATmega2560__ -#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -// servo support -#ifdef NUM_SERVOS - #define SERVO0_PIN 22 //motor header MX1 - #if NUM_SERVOS > 1 - #define SERVO1_PIN 23 //Motor header MX2 - #endif - #if NUM_SERVOS > 2 - #define SERVO2_PIN 24 //Motor header MX3 - #endif - #if NUM_SERVOS > 3 - #define SERVO2_PIN 5 //pwm header pin 5 - #endif -#endif - -#define X_STEP_PIN 37 -#define X_DIR_PIN 48 -#define X_MIN_PIN 12 -#define X_MAX_PIN 24 -#define X_ENABLE_PIN 29 -#define X_MS1_PIN 40 -#define X_MS2_PIN 41 - -#define Y_STEP_PIN 36 -#define Y_DIR_PIN 49 -#define Y_MIN_PIN 11 -#define Y_MAX_PIN 23 -#define Y_ENABLE_PIN 28 -#define Y_MS1_PIN 69 -#define Y_MS2_PIN 39 - -#define Z_STEP_PIN 35 -#define Z_DIR_PIN 47 -#define Z_MIN_PIN 10 -#define Z_MAX_PIN 30 -#define Z_ENABLE_PIN 27 -#define Z_MS1_PIN 68 -#define Z_MS2_PIN 67 - -#define HEATER_BED_PIN 3 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 9 -#define TEMP_0_PIN 0 - -#define HEATER_1_PIN 7 -#define TEMP_1_PIN 1 - -#ifdef BARICUDA -#define HEATER_2_PIN 6 -#else -#define HEATER_2_PIN -1 -#endif -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 34 -#define E0_DIR_PIN 43 -#define E0_ENABLE_PIN 26 -#define E0_MS1_PIN 65 -#define E0_MS2_PIN 66 - -#define E1_STEP_PIN 33 -#define E1_DIR_PIN 42 -#define E1_ENABLE_PIN 25 -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 8 -/********************************************************** -Fan Pins -Fan_0 8 -Fan_1 6 -Fan_2 2 -***********************************************************/ -#define PS_ON_PIN 4 -#define KILL_PIN -1 //80 with Smart Controller LCD -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. - -#ifdef ULTRA_LCD - #define KILL_PIN 80 - #ifdef NEWPANEL - //arduino pin which triggers an piezzo beeper - #define BEEPER 79 // Beeper on AUX-4 - #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 - - //buttons are directly attached using AUX-2 - #define BTN_EN1 76 - #define BTN_EN2 77 - #define BTN_ENC 78 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT 81 // Ramps does not use this port - - //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 33 No Beeper added - //buttons are attached to a shift register - // Not wired this 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 - - //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 - -#ifdef FILAMENT_SENSOR - //Filip added pin for Filament sensor analog input - #define FILWIDTH_PIN 3 -#endif //FILAMENT_SENSOR - -#endif // RAMBO - -/**************************************************************************************** -* MegaTronics -* -****************************************************************************************/ -#if MB(MEGATRONICS) -#define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - -#define LARGE_FLASH true - -#define X_STEP_PIN 26 -#define X_DIR_PIN 28 -#define X_ENABLE_PIN 24 -#define X_MIN_PIN 41 -#define X_MAX_PIN 37 - -#define Y_STEP_PIN 60 // A6 -#define Y_DIR_PIN 61 // A7 -#define Y_ENABLE_PIN 22 -#define Y_MIN_PIN 14 -#define Y_MAX_PIN 15 - -#define Z_STEP_PIN 54 // A0 -#define Z_DIR_PIN 55 // A1 -#define Z_ENABLE_PIN 56 // A2 -#define Z_MIN_PIN 18 -#define Z_MAX_PIN 19 - -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 - - -#define FAN_PIN 7 // IO pin. Buffer needed -#define PS_ON_PIN 12 -#define KILL_PIN -1 - -#define HEATER_0_PIN 9 // EXTRUDER 1 -#define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter) -#define HEATER_2_PIN -1 - -#if TEMP_SENSOR_0 == -1 -#define TEMP_0_PIN 8 // ANALOG NUMBERING -#else -#define TEMP_0_PIN 13 // ANALOG NUMBERING - -#endif - -#define TEMP_1_PIN 15 // ANALOG NUMBERING -#define TEMP_2_PIN -1 // ANALOG NUMBERING -#define HEATER_BED_PIN 10 // BED -#define TEMP_BED_PIN 14 // ANALOG NUMBERING - -#define BEEPER 33 // Beeper on AUX-4 - - -#ifdef ULTRA_LCD - - #ifdef NEWPANEL - //arduino pin which triggers an piezzo beeper - - #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 are directly attached using AUX-2 - #define BTN_EN1 59 - #define BTN_EN2 64 - #define BTN_ENC 43 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Ramps does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 -#endif -#endif //ULTRA_LCD - -#endif // MEGATRONICS - -/**************************************************************************************** -* MegaTronics v2.0 -* -****************************************************************************************/ -#if MB(MEGATRONICS_2) - #define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - #define X_STEP_PIN 26 - #define X_DIR_PIN 27 - #define X_ENABLE_PIN 25 - #define X_MIN_PIN 37 - #define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. - - #define Y_STEP_PIN 4 // A6 - #define Y_DIR_PIN 54 // A0 - #define Y_ENABLE_PIN 5 - #define Y_MIN_PIN 41 - #define Y_MAX_PIN 38 //15 - - #define Z_STEP_PIN 56 // A2 - #define Z_DIR_PIN 60 // A6 - #define Z_ENABLE_PIN 55 // A1 - #define Z_MIN_PIN 18 - #define Z_MAX_PIN 19 - - #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 - #define E2_DIR_PIN 24 - #define E2_ENABLE_PIN 22 - - #define SDPOWER -1 - #define SDSS 53 - #define LED_PIN 13 - - #define FAN_PIN 7 - #define FAN2_PIN 6 - #define PS_ON_PIN 12 - #define KILL_PIN -1 - - #define HEATER_0_PIN 9 // EXTRUDER 1 - #define HEATER_1_PIN 8 // EXTRUDER 2 - #define HEATER_2_PIN -1 - - #if TEMP_SENSOR_0 == -1 - #define TEMP_0_PIN 4 // ANALOG NUMBERING - #else - #define TEMP_0_PIN 13 // ANALOG NUMBERING - #endif - - - #if TEMP_SENSOR_1 == -1 - #define TEMP_1_PIN 8 // ANALOG NUMBERING - #else - #define TEMP_1_PIN 15 // ANALOG NUMBERING - #endif - - #define TEMP_2_PIN -1 // ANALOG NUMBERING - - #define HEATER_BED_PIN 10 // BED - - #if TEMP_SENSOR_BED == -1 - #define TEMP_BED_PIN 8 // ANALOG NUMBERING - #else - #define TEMP_BED_PIN 14 // ANALOG NUMBERING - #endif - - #define BEEPER 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 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Megatronics does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // MEGATRONICS_2 - - -/**************************************************************************************** -* Minitronics v1.0 -* -****************************************************************************************/ -#if MB(MEGATRONICS_1) - #define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega1281__ - #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - #define X_STEP_PIN 48 - #define X_DIR_PIN 47 - #define X_ENABLE_PIN 49 - #define X_MIN_PIN 5 - #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - - #define Y_STEP_PIN 39 // A6 - #define Y_DIR_PIN 40 // A0 - #define Y_ENABLE_PIN 38 - #define Y_MIN_PIN 2 - #define Y_MAX_PIN -1 //15 - - #define Z_STEP_PIN 42 // A2 - #define Z_DIR_PIN 43 // A6 - #define Z_ENABLE_PIN 41 // A1 - #define Z_MIN_PIN 6 - #define Z_MAX_PIN -1 - - #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 - - #define E2_STEP_PIN -1 - #define E2_DIR_PIN -1 - #define E2_ENABLE_PIN -1 - - #define SDPOWER -1 - #define SDSS 16 - #define LED_PIN 46 - - #define FAN_PIN 9 - #define FAN2_PIN -1 - #define PS_ON_PIN -1 - #define KILL_PIN -1 - - #define HEATER_0_PIN 7 // EXTRUDER 1 - #define HEATER_1_PIN 8 // EXTRUDER 2 - #define HEATER_2_PIN -1 - - - #define TEMP_0_PIN 7 // ANALOG NUMBERING - #define TEMP_1_PIN 6 // ANALOG NUMBERING - #define TEMP_2_PIN -1 // ANALOG NUMBERING - - #define HEATER_BED_PIN 3 // BED - #define TEMP_BED_PIN 6 // ANALOG NUMBERING - - #define BEEPER -1 - - - #define LCD_PINS_RS -1 - #define LCD_PINS_ENABLE -1 - #define LCD_PINS_D4 -1 - #define LCD_PINS_D5 -1 - #define LCD_PINS_D6 -1 - #define LCD_PINS_D7 -1 - - - //buttons are directly attached using keypad - #define BTN_EN1 -1 - #define BTN_EN2 -1 - #define BTN_ENC -1 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Megatronics does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // MEGATRONICS_1 - -/**************************************************************************************** -* Cheaptronic v1.0 -* -****************************************************************************************/ -#if MB(CHEAPTRONIC) - #define KNOWN_BOARD 1 - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - //X motor stepper - #define X_STEP_PIN 14 - #define X_DIR_PIN 15 - #define X_ENABLE_PIN 24 - - //X endstop - #define X_MIN_PIN 3 - #define X_MAX_PIN -1 - - //Y motor stepper - #define Y_STEP_PIN 35 - #define Y_DIR_PIN 36 - #define Y_ENABLE_PIN 31 - - //Y endstop - #define Y_MIN_PIN 2 - #define Y_MAX_PIN -1 - - //Z motor stepper - #define Z_STEP_PIN 40 - #define Z_DIR_PIN 41 - #define Z_ENABLE_PIN 37 - - //Z endstop - #define Z_MIN_PIN 5 - #define Z_MAX_PIN -1 - - //Extruder 0 stepper - #define E0_STEP_PIN 26 - #define E0_DIR_PIN 28 - #define E0_ENABLE_PIN 25 - - //Extruder 1 stepper - #define E1_STEP_PIN 33 - #define E1_DIR_PIN 34 - #define E1_ENABLE_PIN 30 - - #define SDPOWER -1 - #define SDSS -1 - #define LED_PIN -1 - - //FAN - #define FAN_PIN -1 - - #define PS_ON_PIN -1 - #define KILL_PIN -1 - - #define HEATER_0_PIN 19 // EXTRUDER 1 - #define HEATER_1_PIN 23 // EXTRUDER 2 - //HeatedBad - #define HEATER_BED_PIN 22 - //Cheaptronic v1.0 hasent EXTRUDER 3 - #define HEATER_2_PIN -1 - - //Temperature sensors - #define TEMP_0_PIN 15 - #define TEMP_1_PIN 14 - #define TEMP_2_PIN -1 - #define TEMP_BED_PIN 13 - - //Cheaptronic v1.0 dont support LCD - #define LCD_PINS_RS -1 - #define LCD_PINS_ENABLE -1 - #define LCD_PINS_D4 -1 - #define LCD_PINS_D5 -1 - #define LCD_PINS_D6 -1 - #define LCD_PINS_D7 -1 - - //Cheaptronic v1.0 dont support keypad - #define BTN_EN1 -1 - #define BTN_EN2 -1 - #define BTN_ENC -1 - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - //Cheaptronic v1.0 does not use this port - #define SDCARDDETECT -1 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // CHEAPTRONIC - - -#ifndef HEATER_3_PIN - #define HEATER_3_PIN -1 -#endif -#ifndef TEMP_3_PIN - #define TEMP_3_PIN -1 -#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 _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN, +// 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, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), #if EXTRUDERS > 1 - #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, + #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), #else #define _E1_PINS #endif #if EXTRUDERS > 2 - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), #else #define _E2_PINS #endif #if EXTRUDERS > 3 - #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, + #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), #else #define _E3_PINS #endif @@ -3007,19 +159,21 @@ Fan_2 2 #endif #ifdef DISABLE_MAX_ENDSTOPS -#define X_MAX_PIN -1 -#define Y_MAX_PIN -1 -#define Z_MAX_PIN -1 + #define X_MAX_PIN -1 + #define Y_MAX_PIN -1 + #define Z_MAX_PIN -1 #endif #ifdef DISABLE_MIN_ENDSTOPS -#define X_MIN_PIN -1 -#define Y_MIN_PIN -1 -#define Z_MIN_PIN -1 + #define X_MIN_PIN -1 + #define Y_MIN_PIN -1 + #define Z_MIN_PIN -1 #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, PS_ON_PIN, \ - HEATER_BED_PIN, FAN_PIN, \ - _E0_PINS _E1_PINS _E2_PINS _E3_PINS \ - analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_3_PIN), analogInputToDigitalPin(TEMP_BED_PIN) } +#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, PS_ON_PIN, \ + HEATER_BED_PIN, FAN_PIN, \ + _E0_PINS _E1_PINS _E2_PINS _E3_PINS \ + analogInputToDigitalPin(TEMP_BED_PIN) \ + } + #endif //__PINS_H diff --git a/Marlin/pins_3DRAG.h b/Marlin/pins_3DRAG.h new file mode 100644 index 0000000000..942a0ba3ea --- /dev/null +++ b/Marlin/pins_3DRAG.h @@ -0,0 +1,39 @@ +/** + * 3DRAG (and K8200) Arduino Mega with RAMPS v1.3 pin assignments + */ + +#include "pins_RAMPS_13.h" + +#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_MAX_PIN -1 //15 + +#define Z_MAX_PIN -1 + +#define SDSS 25//53 + +#define BEEPER 33 + +#define FAN_PIN 8 + +#define HEATER_0_PIN 10 +#define HEATER_1_PIN 12 +#define HEATER_2_PIN 6 + +#define HEATER_BED_PIN 9 // BED + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + #define BEEPER -1 + + #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 + #define BTN_EN1 16 + #define BTN_EN2 17 + #define BTN_ENC 23 //the click +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_5DPRINT.h b/Marlin/pins_5DPRINT.h new file mode 100644 index 0000000000..20e69ef36f --- /dev/null +++ b/Marlin/pins_5DPRINT.h @@ -0,0 +1,75 @@ +/** + * 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' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 23 +#define X_STOP_PIN 37 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 19 +#define Y_STOP_PIN 36 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 18 +#define Z_STOP_PIN 39 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 17 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 20 // Bed +// You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h +// for the fan and Teensyduino uses a different pin mapping. +#define FAN_PIN 16 // Fan + +#define TEMP_0_PIN 1 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 0 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define LED_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define ALARM_PIN -1 + +// The SDSS pin uses a different pin mapping from file Sd2PinMap.h +#define SDSS 20 + +#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 + +// Microstepping pins +// Note that the pin mapping is not from fastio.h +// See Sd2PinMap.h for the pin configurations +#define X_MS1_PIN 25 +#define X_MS2_PIN 26 +#define Y_MS1_PIN 9 +#define Y_MS2_PIN 8 +#define Z_MS1_PIN 7 +#define Z_MS2_PIN 6 +#define E0_MS1_PIN 5 +#define E0_MS2_PIN 4 + diff --git a/Marlin/pins_99.h b/Marlin/pins_99.h new file mode 100644 index 0000000000..54197f05a0 --- /dev/null +++ b/Marlin/pins_99.h @@ -0,0 +1,38 @@ +/** + * Board 99 pin assignments + */ + +#define X_STEP_PIN 2 +#define X_DIR_PIN 3 +#define X_ENABLE_PIN -1 +#define X_STOP_PIN 16 + +#define Y_STEP_PIN 5 +#define Y_DIR_PIN 6 +#define Y_ENABLE_PIN -1 +#define Y_STOP_PIN 67 + +#define Z_STEP_PIN 62 +#define Z_DIR_PIN 63 +#define Z_ENABLE_PIN -1 +#define Z_STOP_PIN 59 + +#define E0_STEP_PIN 65 +#define E0_DIR_PIN 66 +#define E0_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN -1 +#define FAN_PIN -1 +#define PS_ON_PIN 9 +#define KILL_PIN -1 + +#define HEATER_0_PIN 13 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 10 diff --git a/Marlin/pins_AZTEEG_X1.h b/Marlin/pins_AZTEEG_X1.h new file mode 100644 index 0000000000..97a8c3e0be --- /dev/null +++ b/Marlin/pins_AZTEEG_X1.h @@ -0,0 +1,7 @@ +/** + * Azteeg X1 pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_AZTEEG_X3.h b/Marlin/pins_AZTEEG_X3.h new file mode 100644 index 0000000000..573f126aca --- /dev/null +++ b/Marlin/pins_AZTEEG_X3.h @@ -0,0 +1,15 @@ +/** + * Arduino Mega pin assignments + * + * RAMPS_OLD + * RAMPS_13_EFB + * RAMPS_13_EEB + * RAMPS_13_EFF + * RAMPS_13_EEF + * 3DRAG + * K8200 + * AZTEEG_X3 + * AZTEEG_X3_PRO + */ + +#include "pins_RAMPS_13.h" diff --git a/Marlin/pins_AZTEEG_X3_PRO.h b/Marlin/pins_AZTEEG_X3_PRO.h new file mode 100644 index 0000000000..ddb055ad91 --- /dev/null +++ b/Marlin/pins_AZTEEG_X3_PRO.h @@ -0,0 +1,30 @@ +/** + * AZTEEG_X3_PRO (Arduino Mega) pin assignments + */ + +#include "pins_RAMPS_13.h" + +#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 + +#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 + +#define TEMP_2_PIN 12 // ANALOG NUMBERING +#define TEMP_3_PIN 11 // ANALOG NUMBERING +#define TEMP_4_PIN 10 // ANALOG NUMBERING +#define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro +#define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro diff --git a/Marlin/pins_BRAINWAVE.h b/Marlin/pins_BRAINWAVE.h new file mode 100644 index 0000000000..3e2b1cf13d --- /dev/null +++ b/Marlin/pins_BRAINWAVE.h @@ -0,0 +1,61 @@ +/** + * Brainwave 1.0 pin assignments (AT90USB646) + * + * Requires hardware bundle for Arduino: + * https://github.com/unrepentantgeek/brainwave-arduino + */ + +#ifndef __AVR_AT90USB646__ + #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 646 // Disable MarlinSerial etc. + +#define X_STEP_PIN 27 +#define X_DIR_PIN 29 +#define X_ENABLE_PIN 28 +#define X_STOP_PIN 7 +#define X_ATT_PIN 26 + +#define Y_STEP_PIN 31 +#define Y_DIR_PIN 33 +#define Y_ENABLE_PIN 32 +#define Y_STOP_PIN 6 +#define Y_ATT_PIN 30 + +#define Z_STEP_PIN 17 +#define Z_DIR_PIN 19 +#define Z_ENABLE_PIN 18 +#define Z_STOP_PIN 5 +#define Z_ATT_PIN 16 + +#define E0_STEP_PIN 21 +#define E0_DIR_PIN 23 +#define E0_ENABLE_PIN 22 +#define E0_ATT_PIN 20 + +#define HEATER_0_PIN 4 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 38 // Bed +#define FAN_PIN 3 // Fan + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN 39 +#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 + diff --git a/Marlin/pins_CHEAPTRONIC.h b/Marlin/pins_CHEAPTRONIC.h new file mode 100644 index 0000000000..440a93cd95 --- /dev/null +++ b/Marlin/pins_CHEAPTRONIC.h @@ -0,0 +1,95 @@ +/** + * Cheaptronic v1.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +// X motor stepper +#define X_STEP_PIN 14 +#define X_DIR_PIN 15 +#define X_ENABLE_PIN 24 + +// X endstop +#define X_MIN_PIN 3 +#define X_MAX_PIN -1 + +// Y motor stepper +#define Y_STEP_PIN 35 +#define Y_DIR_PIN 36 +#define Y_ENABLE_PIN 31 + +// Y endstop +#define Y_MIN_PIN 2 +#define Y_MAX_PIN -1 + +// Z motor stepper +#define Z_STEP_PIN 40 +#define Z_DIR_PIN 41 +#define Z_ENABLE_PIN 37 + +// Z endstop +#define Z_MIN_PIN 5 +#define Z_MAX_PIN -1 + +// Extruder 0 stepper +#define E0_STEP_PIN 26 +#define E0_DIR_PIN 28 +#define E0_ENABLE_PIN 25 + +// Extruder 1 stepper +#define E1_STEP_PIN 33 +#define E1_DIR_PIN 34 +#define E1_ENABLE_PIN 30 + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN -1 + +// FAN +#define FAN_PIN -1 + +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 19 // EXTRUDER 1 +#define HEATER_1_PIN 23 // EXTRUDER 2 +// HeatedBad +#define HEATER_BED_PIN 22 +// Cheaptronic v1.0 hasent EXTRUDER 3 +#define HEATER_2_PIN -1 + +// Temperature sensors +#define TEMP_0_PIN 15 +#define TEMP_1_PIN 14 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 13 + +// Cheaptronic v1.0 doesn't support LCD +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + +// Cheaptronic v1.0 doesn't support keypad +#define BTN_EN1 -1 +#define BTN_EN2 -1 +#define BTN_ENC -1 + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +// Cheaptronic v1.0 does not use this port +#define SDCARDDETECT -1 + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_DUEMILANOVE_328P.h b/Marlin/pins_DUEMILANOVE_328P.h new file mode 100644 index 0000000000..9e47055849 --- /dev/null +++ b/Marlin/pins_DUEMILANOVE_328P.h @@ -0,0 +1,43 @@ +/** + * Duemilanove w/ ATMega328P pin assignments + */ + +#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_STOP_PIN 17 + +#define Y_STEP_PIN 10 +#define Y_DIR_PIN 7 +#define Y_ENABLE_PIN -1 +#define Y_STOP_PIN 8 + +#define Z_STEP_PIN 13 +#define Z_DIR_PIN 3 +#define Z_ENABLE_PIN 2 +#define Z_STOP_PIN 4 + +#define E0_STEP_PIN 11 +#define E0_DIR_PIN 12 +#define E0_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 HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + diff --git a/Marlin/pins_ELEFU_3.h b/Marlin/pins_ELEFU_3.h new file mode 100644 index 0000000000..b201a1306c --- /dev/null +++ b/Marlin/pins_ELEFU_3.h @@ -0,0 +1,116 @@ +/** + * Elefu RA Board Pin Assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 49 +#define X_DIR_PIN 13 +#define X_ENABLE_PIN 48 +#define X_MIN_PIN 35 +#define X_MAX_PIN -1 //34 + +#define Y_STEP_PIN 11 +#define Y_DIR_PIN 9 +#define Y_ENABLE_PIN 12 +#define Y_MIN_PIN 33 +#define Y_MAX_PIN -1 //32 + +#define Z_STEP_PIN 7 +#define Z_DIR_PIN 6 +#define Z_ENABLE_PIN 8 +#define Z_MIN_PIN 31 +#define Z_MAX_PIN -1 //30 + +#define E2_STEP_PIN 43 +#define E2_DIR_PIN 47 +#define E2_ENABLE_PIN 42 + +#define E1_STEP_PIN 18 +#define E1_DIR_PIN 19 +#define E1_ENABLE_PIN 38 + +#define E0_STEP_PIN 40 +#define E0_DIR_PIN 41 +#define E0_ENABLE_PIN 37 + +#define SDPOWER -1 +#define LED_PIN -1 //Use +12V Aux port for LED Ring + +#define FAN_PIN 16 //5V PWM + +#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 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 TEMP_0_PIN 3 //ANALOG NUMBERING +#define TEMP_1_PIN 2 //ANALOG NUMBERING +#define TEMP_2_PIN 1 //ANALOG NUMBERING +#define TEMP_BED_PIN 0 //ANALOG NUMBERING + +#define BEEPER 36 + +#define KILL_PIN -1 + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +#define PHOTOGRAPH_PIN 29 + +#ifdef RA_CONTROL_PANEL + + #define SDSS 53 + #define SDCARDDETECT 28 + + #define BTN_EN1 14 + #define BTN_EN2 39 + #define BTN_ENC 15 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + +#endif // RA_CONTROL_PANEL + +#ifdef 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 diff --git a/Marlin/pins_GEN3_MONOLITHIC.h b/Marlin/pins_GEN3_MONOLITHIC.h new file mode 100644 index 0000000000..17a76883b2 --- /dev/null +++ b/Marlin/pins_GEN3_MONOLITHIC.h @@ -0,0 +1,61 @@ +/** + * Gen3 Monolithic Electronics pin assignments + */ + +#ifndef __AVR_ATmega644P__ + #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. +#endif + +#define DEBUG_PIN 0 + +// x axis +#define X_STEP_PIN 15 +#define X_DIR_PIN 18 +#define X_MIN_PIN 20 +// Alex Checar #define X_STOP_PIN 20 +#define X_ENABLE_PIN 24 // actually uses Y_enable_pin +#define X_MAX_PIN -1 + +// y axis +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_MIN_PIN 25 +// Alex Checar #define Y_STOP_PIN 25 +#define Y_ENABLE_PIN 24 // shared with X_enable_pin +#define Y_MAX_PIN -1 + +// z axis +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_MIN_PIN 30 +// Alex Checar #define Z_STOP_PIN 30 +#define Z_ENABLE_PIN 29 +#define Z_MAX_PIN -1 + +// extruder pins +#define E0_STEP_PIN 12 +#define E0_DIR_PIN 17 +#define E0_ENABLE_PIN 3 + +#define HEATER_0_PIN 16 +#define TEMP_0_PIN 0 + +#define FAN_PIN -1 + +// bed pins +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + + +#define SDSS -1 +#define SDPOWER -1 +#define LED_PIN -1 + +// pin for controlling the PSU. +#define PS_ON_PIN 14 // Alex, Do this work on the card? + +// Alex extras from Gen3+ +#define KILL_PIN -1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define HEATER_2_PIN -1 diff --git a/Marlin/pins_GEN3_PLUS.h b/Marlin/pins_GEN3_PLUS.h new file mode 100644 index 0000000000..4d216bb8cf --- /dev/null +++ b/Marlin/pins_GEN3_PLUS.h @@ -0,0 +1,45 @@ +/** + * Gen3+ pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) + #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_STOP_PIN 20 + +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_STOP_PIN 25 + +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_STOP_PIN 30 + +#define E0_STEP_PIN 17 +#define E0_DIR_PIN 21 + +#define LED_PIN -1 + +#define FAN_PIN -1 + +#define PS_ON_PIN 14 +#define KILL_PIN -1 + +#define HEATER_0_PIN 12 // (extruder) + +#define HEATER_BED_PIN 16 // (bed) +#define X_ENABLE_PIN 19 +#define Y_ENABLE_PIN 24 +#define Z_ENABLE_PIN 29 +#define E0_ENABLE_PIN 13 + +#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) +#define SDPOWER -1 +#define SDSS 4 +#define HEATER_2_PIN -1 diff --git a/Marlin/pins_GEN6.h b/Marlin/pins_GEN6.h new file mode 100644 index 0000000000..ebbf3237c7 --- /dev/null +++ b/Marlin/pins_GEN6.h @@ -0,0 +1,62 @@ +/** + * Gen6 pin assignments + */ + +#ifndef __AVR_ATmega644P__ + #ifndef __AVR_ATmega1284P__ + #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. + #endif +#endif + +//x axis pins +#define X_STEP_PIN 15 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 19 +#define X_STOP_PIN 20 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 25 + +//z axis pins +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_ENABLE_PIN 29 +#define Z_STOP_PIN 30 + +//extruder pins +#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 +#define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 +#define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 + + +#define TEMP_2_PIN -1 //changed @ rkoeppl 20110410 +#define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 + +#if MB(GEN6) + #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410 + #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410 +#else + #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410 + #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410 +#endif + +#define SDPOWER -1 +#define SDSS 17 +#define LED_PIN -1 //changed @ rkoeppl 20110410 +#define FAN_PIN -1 //changed @ rkoeppl 20110410 +#define PS_ON_PIN -1 //changed @ rkoeppl 20110410 +#define KILL_PIN -1 //changed @ drakelive 20120830 +//our pin for debugging. + +#define DEBUG_PIN 0 + +//our RS485 pins +#define TX_ENABLE_PIN 12 +#define RX_ENABLE_PIN 13 diff --git a/Marlin/pins_GEN6_DELUXE.h b/Marlin/pins_GEN6_DELUXE.h new file mode 100644 index 0000000000..c1ffc3801b --- /dev/null +++ b/Marlin/pins_GEN6_DELUXE.h @@ -0,0 +1,5 @@ +/** + * Gen6 Deluxe pin assignments + */ + +#include "pins_GEN6.h" diff --git a/Marlin/pins_GEN7_12.h b/Marlin/pins_GEN7_12.h new file mode 100644 index 0000000000..719ef9d6b7 --- /dev/null +++ b/Marlin/pins_GEN7_12.h @@ -0,0 +1,72 @@ +/** + * Gen7 v1.1, v1.2, v1.3 pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +#ifndef GEN7_VERSION + #define GEN7_VERSION 12 // v1.x +#endif + +//x axis pins +#define X_STEP_PIN 19 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 7 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 5 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_MIN_PIN 1 +#define Z_MAX_PIN 0 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#if (GEN7_VERSION >= 13) + // Gen7 v1.3 removed the fan pin + #define FAN_PIN -1 +#else + #define FAN_PIN 31 +#endif + +#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 + diff --git a/Marlin/pins_GEN7_13.h b/Marlin/pins_GEN7_13.h new file mode 100644 index 0000000000..4acca7566e --- /dev/null +++ b/Marlin/pins_GEN7_13.h @@ -0,0 +1,8 @@ +/** + * Gen7 v1.3 pin assignments + */ + +#define MOTHERBOARD BOARD_GEN7_12 +#define GEN7_VERSION 13 // v1.3 + +#include "pins_GEN7_12.h" diff --git a/Marlin/pins_GEN7_14.h b/Marlin/pins_GEN7_14.h new file mode 100644 index 0000000000..292e890030 --- /dev/null +++ b/Marlin/pins_GEN7_14.h @@ -0,0 +1,60 @@ +/** + * Gen7 v1.4 pin assignments + */ + +#define GEN7_VERSION 14 // v1.4 + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +//x axis pins +#define X_STEP_PIN 29 +#define X_DIR_PIN 28 +#define X_ENABLE_PIN 25 +#define X_STOP_PIN 0 + +//y axis pins +#define Y_STEP_PIN 27 +#define Y_DIR_PIN 26 +#define Y_ENABLE_PIN 25 +#define Y_STOP_PIN 1 + +//z axis pins +#define Z_STEP_PIN 23 +#define Z_DIR_PIN 22 +#define Z_ENABLE_PIN 25 +#define Z_STOP_PIN 2 + +//extruder pins +#define E0_STEP_PIN 19 +#define E0_DIR_PIN 18 +#define E0_ENABLE_PIN 25 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 0 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#define FAN_PIN -1 + +#define PS_ON_PIN 15 + +//our pin for debugging. +#define DEBUG_PIN 0 + +//our RS485 pins +#define TX_ENABLE_PIN 12 +#define RX_ENABLE_PIN 13 + diff --git a/Marlin/pins_GEN7_CUSTOM.h b/Marlin/pins_GEN7_CUSTOM.h new file mode 100644 index 0000000000..a8626ecefa --- /dev/null +++ b/Marlin/pins_GEN7_CUSTOM.h @@ -0,0 +1,76 @@ +/** + * 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. + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +//x axis pins +#define X_STEP_PIN 21 // different from standard GEN7 +#define X_DIR_PIN 20 // different from standard GEN7 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 0 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 1 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_STOP_PIN 2 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 2 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 // (bed) + +#define SDPOWER -1 +#define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support +#define LED_PIN -1 + +#define FAN_PIN -1 +#define PS_ON_PIN 19 +//our pin for debugging. + +#define DEBUG_PIN -1 + +//our RS485 pins +//#define TX_ENABLE_PIN 12 +//#define RX_ENABLE_PIN 13 + +#define BEEPER -1 +#define SDCARDDETECT -1 +#define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work + +#define KILL_PIN -1 +//Pins for 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 //the click + diff --git a/Marlin/pins_K8200.h b/Marlin/pins_K8200.h new file mode 100644 index 0000000000..1d34547ad2 --- /dev/null +++ b/Marlin/pins_K8200.h @@ -0,0 +1,6 @@ +/** + * K8200 Arduino Mega with RAMPS v1.3 pin assignments + * Identical to 3DRAG + */ + +#include "pins_3DRAG.h" diff --git a/Marlin/pins_LEAPFROG.h b/Marlin/pins_LEAPFROG.h new file mode 100644 index 0000000000..5dd6654c1c --- /dev/null +++ b/Marlin/pins_LEAPFROG.h @@ -0,0 +1,62 @@ +/** + * 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 X_STEP_PIN 28 +#define X_DIR_PIN 63 +#define X_ENABLE_PIN 29 +#define X_MIN_PIN 47 +#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 14 // A6 +#define Y_DIR_PIN 15 // A0 +#define Y_ENABLE_PIN 39 +#define Y_MIN_PIN 48 +#define Y_MAX_PIN -1 //15 + +#define Z_STEP_PIN 31 // A2 +#define Z_DIR_PIN 32 // A6 +#define Z_ENABLE_PIN 30 // A1 +#define Z_MIN_PIN 49 +#define Z_MAX_PIN -1 + +#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 + +#define Y2_STEP_PIN 37 +#define Y2_DIR_PIN 40 +#define Y2_ENABLE_PIN 36 + +#define Z2_STEP_PIN 37 +#define Z2_DIR_PIN 40 +#define Z2_ENABLE_PIN 36 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN 13 +#define FAN_PIN 7 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SOL1_PIN 16 +#define SOL2_PIN 17 + +#define HEATER_0_PIN 9 +#define HEATER_1_PIN 8 // 12 +#define HEATER_2_PIN 11 //-1 // 13 +#define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN 15 // 1 +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN 10 // 14/15 +#define TEMP_BED_PIN 14 // 1,2 or I2C +/* 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) */ + diff --git a/Marlin/pins_MEGATRONICS.h b/Marlin/pins_MEGATRONICS.h new file mode 100644 index 0000000000..2bd0e33eb6 --- /dev/null +++ b/Marlin/pins_MEGATRONICS.h @@ -0,0 +1,92 @@ +/** + * MegaTronics pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 28 +#define X_ENABLE_PIN 24 +#define X_MIN_PIN 41 +#define X_MAX_PIN 37 + +#define Y_STEP_PIN 60 // A6 +#define Y_DIR_PIN 61 // A7 +#define Y_ENABLE_PIN 22 +#define Y_MIN_PIN 14 +#define Y_MAX_PIN 15 + +#define Z_STEP_PIN 54 // A0 +#define Z_DIR_PIN 55 // A1 +#define Z_ENABLE_PIN 56 // A2 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + + +#define FAN_PIN 7 // IO pin. Buffer needed +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter) +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 +#define TEMP_0_PIN 8 // ANALOG NUMBERING +#else +#define TEMP_0_PIN 13 // ANALOG NUMBERING + +#endif + +#define TEMP_1_PIN 15 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING +#define HEATER_BED_PIN 10 // BED +#define TEMP_BED_PIN 14 // ANALOG NUMBERING + +#define BEEPER 33 // Beeper on AUX-4 + + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //arduino pin which triggers an piezzo beeper + + #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 are directly attached using AUX-2 + #define BTN_EN1 59 + #define BTN_EN2 64 + #define BTN_ENC 43 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + #define SDCARDDETECT -1 // Ramps does not use this port + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h new file mode 100644 index 0000000000..51cb12a211 --- /dev/null +++ b/Marlin/pins_MEGATRONICS_1.h @@ -0,0 +1,88 @@ +/** + * Minitronics v1.0 pin assignments + */ + +#ifndef __AVR_ATmega1281__ + #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 48 +#define X_DIR_PIN 47 +#define X_ENABLE_PIN 49 +#define X_MIN_PIN 5 +#define X_MAX_PIN -1 // 2 // Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 39 // A6 +#define Y_DIR_PIN 40 // A0 +#define Y_ENABLE_PIN 38 +#define Y_MIN_PIN 2 +#define Y_MAX_PIN -1 // 15 + +#define Z_STEP_PIN 42 // A2 +#define Z_DIR_PIN 43 // A6 +#define Z_ENABLE_PIN 41 // A1 +#define Z_MIN_PIN 6 +#define Z_MAX_PIN -1 + +#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 + +#define E2_STEP_PIN -1 +#define E2_DIR_PIN -1 +#define E2_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS 16 +#define LED_PIN 46 + +#define FAN_PIN 9 +#define FAN2_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 7 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + + +#define TEMP_0_PIN 7 // ANALOG NUMBERING +#define TEMP_1_PIN 6 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 3 // BED +#define TEMP_BED_PIN 6 // ANALOG NUMBERING + +#define BEEPER -1 + + +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + + +// Buttons are directly attached using keypad +#define BTN_EN1 -1 +#define BTN_EN2 -1 +#define BTN_ENC -1 // the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h new file mode 100644 index 0000000000..b0517fd92e --- /dev/null +++ b/Marlin/pins_MEGATRONICS_2.h @@ -0,0 +1,103 @@ +/** + * MegaTronics v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 27 +#define X_ENABLE_PIN 25 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 4 // A6 +#define Y_DIR_PIN 54 // A0 +#define Y_ENABLE_PIN 5 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 //15 + +#define Z_STEP_PIN 56 // A2 +#define Z_DIR_PIN 60 // A6 +#define Z_ENABLE_PIN 55 // A1 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 +#define E2_DIR_PIN 24 +#define E2_ENABLE_PIN 22 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#define FAN_PIN 7 +#define FAN2_PIN 6 +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 + #define TEMP_0_PIN 4 // ANALOG NUMBERING +#else + #define TEMP_0_PIN 13 // ANALOG NUMBERING +#endif + + +#if TEMP_SENSOR_1 == -1 + #define TEMP_1_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_1_PIN 15 // ANALOG NUMBERING +#endif + +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 10 // BED + +#if TEMP_SENSOR_BED == -1 + #define TEMP_BED_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_BED_PIN 14 // ANALOG NUMBERING +#endif + +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_MELZI.h b/Marlin/pins_MELZI.h new file mode 100644 index 0000000000..71c9fa9136 --- /dev/null +++ b/Marlin/pins_MELZI.h @@ -0,0 +1,11 @@ +/** + * Melzi pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_MELZI_1284.h b/Marlin/pins_MELZI_1284.h new file mode 100644 index 0000000000..2c18666725 --- /dev/null +++ b/Marlin/pins_MELZI_1284.h @@ -0,0 +1,15 @@ +/** + * Melzi with ATmega1284 (MaKr3d version) pin assignments + */ + +#define MELZI + +#undef MOTHERBOARD +#define MOTHERBOARD BOARD_SANGUINOLOLU_11 +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_OMCA.h b/Marlin/pins_OMCA.h new file mode 100644 index 0000000000..26a797362a --- /dev/null +++ b/Marlin/pins_OMCA.h @@ -0,0 +1,91 @@ +/** + * 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 + */ + +#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 X_STEP_PIN 26 +#define X_DIR_PIN 25 +#define X_ENABLE_PIN 10 +#define X_STOP_PIN 0 + +#define Y_STEP_PIN 28 +#define Y_DIR_PIN 27 +#define Y_ENABLE_PIN 10 +#define Y_STOP_PIN 1 + +#define Z_STEP_PIN 23 +#define Z_DIR_PIN 22 +#define Z_ENABLE_PIN 10 +#define Z_STOP_PIN 2 + +#define E0_STEP_PIN 24 +#define E0_DIR_PIN 21 +#define E0_ENABLE_PIN 10 + +// future proofing +#define __FS 20 +#define __FD 19 +#define __GS 18 +#define __GD 13 + +#define UNUSED_PWM 14 // PWM on LEFT connector + +#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 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN -1 +#define FAN_PIN 14 // PWM on MIDDLE connector +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 3 // DONE PWM on RIGHT connector +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING +#define TEMP_1_PIN 1 // ANALOG +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 2 // 1,2 or I2C + +#define I2C_SCL 16 +#define I2C_SDA 17 diff --git a/Marlin/pins_OMCA_A.h b/Marlin/pins_OMCA_A.h new file mode 100644 index 0000000000..857ff7752f --- /dev/null +++ b/Marlin/pins_OMCA_A.h @@ -0,0 +1,78 @@ +/** + * 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 + * +--------+ + * + */ + +#ifndef __AVR_ATmega644__ + #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 21 +#define X_DIR_PIN 20 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 0 + +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 1 + +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_STOP_PIN 2 + +#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 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN -1 +#define FAN_PIN 3 +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 // 12 +#define HEATER_2_PIN -1 // 13 +#define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 // 1 +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN -1 // 14/15 +#define TEMP_BED_PIN -1 // 1,2 or I2C +/* 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) */ diff --git a/Marlin/pins_PRINTRBOARD.h b/Marlin/pins_PRINTRBOARD.h new file mode 100644 index 0000000000..2bf6efd147 --- /dev/null +++ b/Marlin/pins_PRINTRBOARD.h @@ -0,0 +1,88 @@ +/** + * Printrboard 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 + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. + #error These Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN 46 +#define HEATER_2_PIN 47 +#define HEATER_BED_PIN 20 + +// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin +// fastio pin numbering otherwise +#ifdef FAN_SOFT_PWM || FAST_PWM_FAN + #define FAN_PIN 22 +#else + #define FAN_PIN 16 +#endif + +#define X_STOP_PIN 35 +#define Y_STOP_PIN 8 +#define Z_STOP_PIN 36 +#define TEMP_0_PIN 1 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 0 // Bed / Analog pin numbering + +#ifdef FILAMENT_SENSOR + #define FILWIDTH_PIN 2 +#endif + +#define TEMP_1_PIN -1 +#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 + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef LCD_I2C_PANELOLU2 + #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 + #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 + #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 + #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) + #endif // LCD_I2C_PANELOLU2 + //not connected to a pin + #define SDCARDDETECT -1 +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_RAMBO.h b/Marlin/pins_RAMBO.h new file mode 100644 index 0000000000..b2ccdc4339 --- /dev/null +++ b/Marlin/pins_RAMBO.h @@ -0,0 +1,165 @@ +/** + * Rambo pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +// Servo support +#ifdef NUM_SERVOS + #define SERVO0_PIN 22 //motor header MX1 + #if NUM_SERVOS > 1 + #define SERVO1_PIN 23 //Motor header MX2 + #if NUM_SERVOS > 2 + #define SERVO2_PIN 24 //Motor header MX3 + #if NUM_SERVOS > 3 + #define SERVO2_PIN 5 //pwm header pin 5 + #endif + #endif + #endif +#endif + +#define X_STEP_PIN 37 +#define X_DIR_PIN 48 +#define X_MIN_PIN 12 +#define X_MAX_PIN 24 +#define X_ENABLE_PIN 29 +#define X_MS1_PIN 40 +#define X_MS2_PIN 41 + +#define Y_STEP_PIN 36 +#define Y_DIR_PIN 49 +#define Y_MIN_PIN 11 +#define Y_MAX_PIN 23 +#define Y_ENABLE_PIN 28 +#define Y_MS1_PIN 69 +#define Y_MS2_PIN 39 + +#define Z_STEP_PIN 35 +#define Z_DIR_PIN 47 +#define Z_MIN_PIN 10 +#define Z_MAX_PIN 30 +#define Z_ENABLE_PIN 27 +#define Z_MS1_PIN 68 +#define Z_MS2_PIN 67 + +#define HEATER_BED_PIN 3 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 9 +#define TEMP_0_PIN 0 + +#define HEATER_1_PIN 7 +#define TEMP_1_PIN 1 + +#ifdef BARICUDA + #define HEATER_2_PIN 6 +#else + #define HEATER_2_PIN -1 +#endif + +#define TEMP_2_PIN -1 + +#define E0_STEP_PIN 34 +#define E0_DIR_PIN 43 +#define E0_ENABLE_PIN 26 +#define E0_MS1_PIN 65 +#define E0_MS2_PIN 66 + +#define E1_STEP_PIN 33 +#define E1_DIR_PIN 42 +#define E1_ENABLE_PIN 25 +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 +#define FAN_PIN 8 + +/********************************************************** + Fan Pins + Fan_0 8 + Fan_1 6 + Fan_2 2 +***********************************************************/ +#define PS_ON_PIN 4 +#define KILL_PIN -1 //80 with Smart Controller LCD +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. + +#ifdef ULTRA_LCD + #define KILL_PIN 80 + #ifdef NEWPANEL + //arduino pin which triggers an piezzo beeper + #define BEEPER 79 // Beeper on AUX-4 + #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 + + //buttons are directly attached using AUX-2 + #define BTN_EN1 76 + #define BTN_EN2 77 + #define BTN_ENC 78 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + #define SDCARDDETECT 81 // Ramps does not use this port + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + #else //!NEWPANEL - old style panel with shift register + //arduino pin witch triggers an piezzo beeper + #define BEEPER 33 No Beeper added + //buttons are attached to a shift register + // Not wired this 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 + + //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 // !NEWPANEL + +#endif // ULTRA_LCD + +#ifdef FILAMENT_SENSOR + //Filip added pin for Filament sensor analog input + #define FILWIDTH_PIN 3 +#endif diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h new file mode 100644 index 0000000000..f0d4c33b95 --- /dev/null +++ b/Marlin/pins_RAMPS_13.h @@ -0,0 +1,227 @@ +/** + * 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) + * 3DRAG + * K8200 + * AZTEEG_X3 + * AZTEEG_X3_PRO + */ + +#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 54 +#define X_DIR_PIN 55 +#define X_ENABLE_PIN 38 +#define X_MIN_PIN 3 +#define X_MAX_PIN 2 + +#define Y_STEP_PIN 60 +#define Y_DIR_PIN 61 +#define Y_ENABLE_PIN 56 +#define Y_MIN_PIN 14 +#define Y_MAX_PIN 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 19 + +#define Y2_STEP_PIN 36 +#define Y2_DIR_PIN 34 +#define Y2_ENABLE_PIN 30 + +#define Z2_STEP_PIN 36 +#define Z2_DIR_PIN 34 +#define Z2_ENABLE_PIN 30 + +#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 SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#if MB(RAMPS_13_EEB) && defined(FILAMENT_SENSOR) // FMM added for Filament Extruder + // define analog pin for the filament width sensor input + // Use the RAMPS 1.4 Analog input 5 on the AUX2 connector + #define FILWIDTH_PIN 5 +#endif + +#if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) + #define FAN_PIN 9 // (Sprinter config) + #if MB(RAMPS_13_EFF) + #define CONTROLLERFAN_PIN -1 // Pin used for the fan to cool controller + #endif +#elif MB(RAMPS_13_EEF) + #define FAN_PIN 8 +#else + #define FAN_PIN 4 // IO pin. Buffer needed +#endif + +#define PS_ON_PIN 12 + +#if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) + #define KILL_PIN 41 +#else + #define KILL_PIN -1 +#endif + +#if MB(RAMPS_13_EFF) + #define HEATER_0_PIN 8 +#else + #define HEATER_0_PIN 10 // EXTRUDER 1 +#endif + +#if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) + #define HEATER_1_PIN -1 +#else + #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) +#endif + +#define HEATER_2_PIN -1 + +#define TEMP_0_PIN 13 // ANALOG NUMBERING +#define TEMP_1_PIN 15 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#if MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) + #define HEATER_BED_PIN -1 // NO BED +#else + #define HEATER_BED_PIN 8 // BED +#endif + +#define TEMP_BED_PIN 14 // ANALOG NUMBERING + +#ifdef NUM_SERVOS + #define SERVO0_PIN 11 + + #if NUM_SERVOS > 1 + #define SERVO1_PIN 6 + #endif + + #if NUM_SERVOS > 2 + #define SERVO2_PIN 5 + #endif + + #if NUM_SERVOS > 3 + #define SERVO3_PIN 4 + #endif +#endif + +#if MB(AZTEEG_X3_PRO) + #define BEEPER 33 +#endif + +#ifdef TEMP_STAT_LEDS + #if MB(AZTEEG_X3) + #define STAT_LED_RED 6 + #define STAT_LED_BLUE 11 + #endif +#endif + +#ifdef ULTRA_LCD + + #ifdef 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 + + #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER + #define BEEPER 37 + + #define BTN_EN1 31 + #define BTN_EN2 33 + #define BTN_ENC 35 + + #define SDCARDDETECT 49 + #elif defined(LCD_I2C_PANELOLU2) + #define BTN_EN1 47 // reverse if the encoder turns the wrong way. + #define BTN_EN2 43 + #define BTN_ENC 32 + #define LCD_SDSS 53 + #define SDCARDDETECT -1 + #define KILL_PIN 41 + #elif defined(LCD_I2C_VIKI) + #define BTN_EN1 22 // reverse if the encoder turns the wrong way. + #define BTN_EN2 7 + #define BTN_ENC -1 + #define LCD_SDSS 53 + #define SDCARDDETECT 49 + #else + // arduino pin which triggers an piezzo beeper + #define BEEPER 33 // Beeper on AUX-4 + + // buttons are directly attached using AUX-2 + #ifdef REPRAPWORLD_KEYPAD + #define BTN_EN1 64 // encoder + #define BTN_EN2 59 // encoder + #define BTN_ENC 63 // enter button + #define SHIFT_OUT 40 // shift register + #define SHIFT_CLK 44 // shift register + #define SHIFT_LD 42 // shift register + #else + #define BTN_EN1 37 + #define BTN_EN2 35 + #define BTN_ENC 31 // the click + #endif + + #ifdef G3D_PANEL + #define SDCARDDETECT 49 + #else + #define SDCARDDETECT -1 // Ramps does not use this port + #endif + + #endif + + #else // Old-style panel with shift register + // Arduino pin witch triggers an piezzo beeper + #define BEEPER 33 // No Beeper added + + // 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 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 + #endif +#endif // ULTRA_LCD + +// SPI for Max6675 Thermocouple +#ifndef 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 + +#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 +#endif diff --git a/Marlin/pins_RAMPS_OLD.h b/Marlin/pins_RAMPS_OLD.h new file mode 100644 index 0000000000..d4e89f8d9b --- /dev/null +++ b/Marlin/pins_RAMPS_OLD.h @@ -0,0 +1,69 @@ +/** + * 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 + +// Uncomment the following line for RAMPS v1.0 +//#define RAMPS_V_1_0 + +#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 -1 //19 + +#define E0_STEP_PIN 32 +#define E0_DIR_PIN 34 +#define E0_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_BED_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_BED_PIN 8 // RAMPS 1.1 + #define FAN_PIN 9 // RAMPS 1.1 +#endif + +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! + +// SPI for Max6675 Thermocouple +#ifndef 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 + +#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 +#endif diff --git a/Marlin/pins_RUMBA.h b/Marlin/pins_RUMBA.h new file mode 100644 index 0000000000..ee03a0b9d1 --- /dev/null +++ b/Marlin/pins_RUMBA.h @@ -0,0 +1,110 @@ +/** + * RUMBA pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 17 +#define X_DIR_PIN 16 +#define X_ENABLE_PIN 48 +#define X_MIN_PIN 37 +#define X_MAX_PIN 36 + +#define Y_STEP_PIN 54 +#define Y_DIR_PIN 47 +#define Y_ENABLE_PIN 55 +#define Y_MIN_PIN 35 +#define Y_MAX_PIN 34 + +#define Z_STEP_PIN 57 +#define Z_DIR_PIN 56 +#define Z_ENABLE_PIN 62 +#define Z_MIN_PIN 33 +#define Z_MAX_PIN 32 + +#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 + +#define LED_PIN 13 + +#define FAN_PIN 7 +//additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8 + +#define PS_ON_PIN 45 +#define KILL_PIN 46 + +#if (TEMP_SENSOR_0==0) + #define TEMP_0_PIN -1 + #define HEATER_0_PIN -1 +#else + #define HEATER_0_PIN 2 // EXTRUDER 1 + #if (TEMP_SENSOR_0==-1) + #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used + #else + #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used + #endif +#endif + +#if (TEMP_SENSOR_1==0) + #define TEMP_1_PIN -1 + #define HEATER_1_PIN -1 +#else + #define HEATER_1_PIN 3 // EXTRUDER 2 + #if (TEMP_SENSOR_1==-1) + #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used + #else + #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used + #endif +#endif + +#if (TEMP_SENSOR_2==0) + #define TEMP_2_PIN -1 + #define HEATER_2_PIN -1 +#else + #define HEATER_2_PIN 6 // EXTRUDER 3 + #if (TEMP_SENSOR_2==-1) + #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple + #else + #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used + #endif +#endif + +//optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used +//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4 + +#if (TEMP_SENSOR_BED==0) + #define TEMP_BED_PIN -1 + #define HEATER_BED_PIN -1 +#else + #define HEATER_BED_PIN 9 // BED + #if (TEMP_SENSOR_BED==-1) + #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple + #else + #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used + #endif +#endif + +#define SDPOWER -1 +#define SDSS 53 +#define SDCARDDETECT 49 +#define BEEPER 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 diff --git a/Marlin/pins_SANGUINOLOLU_11.h b/Marlin/pins_SANGUINOLOLU_11.h new file mode 100644 index 0000000000..e7bdd974ea --- /dev/null +++ b/Marlin/pins_SANGUINOLOLU_11.h @@ -0,0 +1,172 @@ +/** + * Sanguinololu board pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) + #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_STOP_PIN 18 + +#define Y_STEP_PIN 22 +#define Y_DIR_PIN 23 +#define Y_STOP_PIN 19 + +#define Z_STEP_PIN 3 +#define Z_DIR_PIN 2 +#define Z_STOP_PIN 20 + +#define E0_STEP_PIN 1 +#define E0_DIR_PIN 0 + +#define LED_PIN -1 + +#define FAN_PIN -1 + +// #if FAN_PIN == 12 || FAN_PIN ==13 +// #define FAN_SOFT_PWM +// #endif + +#if MB(MELZI) + #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */ + #define FAN_PIN 4 // Works for Panelolu2 too +#endif + +#if MB(STB_11) + #define FAN_PIN 4 + // Uncomment this if you have the first generation (V1.10) of STBs board + #define LCD_PIN_BL 17 // LCD backlight LED +#endif + +#if MB(AZTEEG_X1) + #define FAN_PIN 4 +#endif + +#ifdef NUM_SERVOS + #define SERVO0_PIN -1 + + #if NUM_SERVOS > 1 + #define SERVO1_PIN -1 + #endif + + #if NUM_SERVOS > 2 + #define SERVO2_PIN -1 + #endif + + #if NUM_SERVOS > 3 + #define SERVO3_PIN -1 + #endif +#endif + +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 13 // (extruder) +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 + +#ifdef 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 + + #ifdef 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 + +#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) +#define SDPOWER -1 +#define SDSS 31 + +/* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */ +//#define SDSS 24 + +#ifdef ULTRA_LCD + #ifdef NEWPANEL + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef DOGLCD + #ifdef U8GLIB_ST7920 //SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0 + #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 + #define BEEPER 27 // Pin 27 is take by LED_Pin, but Melzi LED do nothing with Marlin and I take this pin for BEEPER.... See here > [github.com] , If you want use this pin with Gcode M42 instead BEEPER + #else + // Pins for DOGM SPI LCD Support + #define DOGLCD_A0 30 + #define DOGLCD_CS 29 + #define LCD_CONTRAST 1 + #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 // standard Hitachi LCD controller + #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 + //The encoder and click button + #define BTN_EN1 11 + #define BTN_EN2 10 + #ifdef LCD_I2C_PANELOLU2 + #if MB(MELZI) + #define BTN_ENC 29 //the click switch + #define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board + #else + #define BTN_ENC 30 //the click switch + #endif + #else + #define BTN_ENC 16 //the click switch + #define LCD_SDSS 28 //to use the SD card reader on the smart controller rather than the melzi board + #endif //Panelolu2 + //not connected to a pin + #define SDCARDDETECT -1 + + #endif //NEWPANEL +#endif //ULTRA_LCD + +#ifdef MAKRPANEL + #define BEEPER 29 + // Pins for DOGM SPI LCD Support + #define DOGLCD_A0 30 + #define DOGLCD_CS 17 + #define LCD_PIN_BL 28 // backlight LED on PA3 + // GLCD features + #define LCD_CONTRAST 1 + // Uncomment screen orientation + #define LCD_SCREEN_ROT_0 + // #define LCD_SCREEN_ROT_90 + // #define LCD_SCREEN_ROT_180 + // #define LCD_SCREEN_ROT_270 + //The encoder and click button + #define BTN_EN1 11 + #define BTN_EN2 10 + #define BTN_ENC 16 //the click switch + //not connected to a pin + #define SDCARDDETECT -1 +#endif //Makrpanel + diff --git a/Marlin/pins_SANGUINOLOLU_12.h b/Marlin/pins_SANGUINOLOLU_12.h new file mode 100644 index 0000000000..d92cff7329 --- /dev/null +++ b/Marlin/pins_SANGUINOLOLU_12.h @@ -0,0 +1,19 @@ +/** + * Sanguinololu V1.2 pin assignments + * + * Applies to the following boards: + * + * AZTEEG_X1 + * MELZI + * MELZI_1284 + * SANGUINOLOLU_12 + * STB_11 + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_SAV_MKI.h b/Marlin/pins_SAV_MKI.h new file mode 100644 index 0000000000..e898c9f285 --- /dev/null +++ b/Marlin/pins_SAV_MKI.h @@ -0,0 +1,88 @@ +/** + * SAV MkI pin assignments (AT90USB1286) + * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE! + * http://www.pjrc.com/teensy/teensyduino.html + * RepRap Clone Wars project board. + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 20 // Bed +#define FAN_PIN 16 // Fan -- from Teensyduino environment. + // For the fan and Teensyduino uses a different pin mapping. + +#define X_STOP_PIN 13 +#define Y_STOP_PIN 14 +#define Z_STOP_PIN 15 +//#define Z_STOP_PIN 36 // For inductive sensor. + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define SDSS 20 // PB0 - 8 in marlin env. +#define LED_PIN -1 +#define PS_ON_PIN -1 +#define ALARM_PIN -1 +#define SDCARDDETECT -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 + +#define BEEPER -1 +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + +#ifdef SAV_3DLCD + // For LCD SHIFT register LCD + #define SR_DATA_PIN 1 + #define SR_CLK_PIN 0 + + #define BTN_EN1 41 + #define BTN_EN2 40 + #define BTN_ENC 12 + + #define KILL_PIN 42 // A2 = 42 - teensy = 40 + #define HOME_PIN -1 // A4 = marlin 44 - teensy = 42 + + #ifdef NUM_SERVOS + #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp) + #endif + +#endif // SAV_3DLCD diff --git a/Marlin/pins_SETHI.h b/Marlin/pins_SETHI.h new file mode 100644 index 0000000000..4a118220c9 --- /dev/null +++ b/Marlin/pins_SETHI.h @@ -0,0 +1,71 @@ +/** + * Sethi 3D_1 pin assignments - www.sethi3d.com.br + */ + +#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 + +#ifndef GEN7_VERSION + #define GEN7_VERSION 12 // v1.x +#endif + +//x axis pins +#define X_STEP_PIN 19 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 2 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 0 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_MIN_PIN 1 +#define Z_MAX_PIN 0 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#if (GEN7_VERSION >= 13) + // Gen7 v1.3 removed the fan pin + #define FAN_PIN -1 +#else + #define FAN_PIN 31 +#endif + +#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 diff --git a/Marlin/pins_STB_11.h b/Marlin/pins_STB_11.h new file mode 100644 index 0000000000..ae06101d06 --- /dev/null +++ b/Marlin/pins_STB_11.h @@ -0,0 +1,11 @@ +/** + * STB V1.1 pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_TEENSY2.h b/Marlin/pins_TEENSY2.h new file mode 100644 index 0000000000..c7144266ba --- /dev/null +++ b/Marlin/pins_TEENSY2.h @@ -0,0 +1,115 @@ +/** + * 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: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS 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' selected from the 'Tools -> Boards' menu. +#endif + +#ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical. + #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config + // (or build from command line) +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 28 // 0 Marlin +#define X_DIR_PIN 29 // 1 Marlin +#define X_ENABLE_PIN 26 + +#define Y_STEP_PIN 30 // 2 Marlin +#define Y_DIR_PIN 31 // 3 +#define Y_ENABLE_PIN 26 // Shared w/x + +#define Z_STEP_PIN 32 // 4 +#define Z_DIR_PIN 33 // 5 +#define Z_ENABLE_PIN 26 // Shared w/x + +#define E0_STEP_PIN 34 // 6 +#define E0_DIR_PIN 35 // 7 +#define E0_ENABLE_PIN 26 // Shared w/x + +#define HEATER_0_PIN 15 // 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 14 // 20 // Bed +#define FAN_PIN 16 // 22 // Fan + +#define X_STOP_PIN 2 +#define Y_STOP_PIN 3 +#define Z_STOP_PIN 4 + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define SDCARDDETECT -1 +#define SDSS 20 // 8 +#define LED_PIN 6 +#define PS_ON_PIN 27 +#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 21 // 9 + #define MISO_PIN 23 // 11 + #define MOSI_PIN 22 // 10 +#endif + +#ifdef ULTIPANEL + #define LCD_PINS_RS 8 + #define LCD_PINS_ENABLE 9 + #define LCD_PINS_D4 10 + #define LCD_PINS_D5 11 + #define LCD_PINS_D6 12 + #define LCD_PINS_D7 13 + #define BTN_EN1 38 + #define BTN_EN2 39 + #define BTN_ENC 40 +#endif diff --git a/Marlin/pins_TEENSYLU.h b/Marlin/pins_TEENSYLU.h new file mode 100644 index 0000000000..46da7d299c --- /dev/null +++ b/Marlin/pins_TEENSYLU.h @@ -0,0 +1,85 @@ +/** + * Teensylu 0.7 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 + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. + #error These Teensylu assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN 46 +#define HEATER_2_PIN 47 +#define HEATER_BED_PIN 20 + +// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin +// fastio pin numbering otherwise +#ifdef FAN_SOFT_PWM || FAST_PWM_FAN + #define FAN_PIN 22 +#else + #define FAN_PIN 16 +#endif + +#define X_STOP_PIN 13 +#define Y_STOP_PIN 14 +#define Z_STOP_PIN 15 +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#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 + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef LCD_I2C_PANELOLU2 + #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 + #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 + #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 + #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) + #endif // LCD_I2C_PANELOLU2 + //not connected to a pin + #define SDCARDDETECT -1 +#endif // ULTRA_LCD && NEWPANEL + diff --git a/Marlin/pins_ULTIMAIN_2.h b/Marlin/pins_ULTIMAIN_2.h new file mode 100644 index 0000000000..7c03f6b2b8 --- /dev/null +++ b/Marlin/pins_ULTIMAIN_2.h @@ -0,0 +1,80 @@ +/** + * Ultiboard v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 25 +#define X_DIR_PIN 23 +#define X_STOP_PIN 22 +#define X_ENABLE_PIN 27 + +#define Y_STEP_PIN 32 +#define Y_DIR_PIN 33 +#define Y_STOP_PIN 26 +#define Y_ENABLE_PIN 31 + +#define Z_STEP_PIN 35 +#define Z_DIR_PIN 36 +#define Z_STOP_PIN 29 +#define Z_ENABLE_PIN 34 + +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 10 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 3 +#define TEMP_1_PIN 9 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#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 SDPOWER -1 +#define SDSS 53 +#define LED_PIN 8 +#define FAN_PIN 7 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. +#define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered +#define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider. + +#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 +#define MOTOR_CURRENT_PWM_RANGE 2000 +#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250} + +//arduino pin witch triggers an piezzo beeper +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT 39 diff --git a/Marlin/pins_ULTIMAKER.h b/Marlin/pins_ULTIMAKER.h new file mode 100644 index 0000000000..649ea595ea --- /dev/null +++ b/Marlin/pins_ULTIMAKER.h @@ -0,0 +1,100 @@ +/** + * Ultimaker 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 LARGE_FLASH true + +#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_BED_PIN 4 +#define TEMP_BED_PIN 10 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 3 +#define TEMP_1_PIN 9 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 +#define FAN_PIN 7 +#define PS_ON_PIN 12 +#define KILL_PIN -1 +#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing. +#define SERVO0_PIN 13 // untested + +#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 SDCARDDETECT 38 + + #else //!NEWPANEL - 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 + + #define SDCARDDETECT -1 + + #endif // !NEWPANEL + +#endif // ULTRA_LCD diff --git a/Marlin/pins_ULTIMAKER_OLD.h b/Marlin/pins_ULTIMAKER_OLD.h new file mode 100644 index 0000000000..571ea16000 --- /dev/null +++ b/Marlin/pins_ULTIMAKER_OLD.h @@ -0,0 +1,62 @@ +/** + * Ultimaker pin assignments (Old electronics) + */ + +#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 25 +#define X_DIR_PIN 23 +#define X_MIN_PIN 15 +#define X_MAX_PIN 14 +#define X_ENABLE_PIN 27 + +#define Y_STEP_PIN 31 +#define Y_DIR_PIN 33 +#define Y_MIN_PIN 17 +#define Y_MAX_PIN 16 +#define Y_ENABLE_PIN 29 + +#define Z_STEP_PIN 37 +#define Z_DIR_PIN 39 +#define Z_MIN_PIN 19 +#define Z_MAX_PIN 18 +#define Z_ENABLE_PIN 35 + +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 1 +#define TEMP_1_PIN 1 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#define E0_STEP_PIN 43 +#define E0_DIR_PIN 45 +#define E0_ENABLE_PIN 41 + +#define E1_STEP_PIN -1 +#define E1_DIR_PIN -1 +#define E1_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN -1 +#define FAN_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. + +#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 From aa23e75eb84ab4d83f6d8a9584683c1997e5b886 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:42:16 -0800 Subject: [PATCH 011/132] Cleanup heading --- Marlin/pins_AZTEEG_X3.h | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Marlin/pins_AZTEEG_X3.h b/Marlin/pins_AZTEEG_X3.h index 573f126aca..7eb8eae49a 100644 --- a/Marlin/pins_AZTEEG_X3.h +++ b/Marlin/pins_AZTEEG_X3.h @@ -1,15 +1,5 @@ /** - * Arduino Mega pin assignments - * - * RAMPS_OLD - * RAMPS_13_EFB - * RAMPS_13_EEB - * RAMPS_13_EFF - * RAMPS_13_EEF - * 3DRAG - * K8200 - * AZTEEG_X3 - * AZTEEG_X3_PRO + * AZTEEG_X3 Arduino Mega with RAMPS v1.3 pin assignments */ #include "pins_RAMPS_13.h" From a0a97c9c4c4225692f9cd421ad6dcdfc0b97a684 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 19:20:25 -0800 Subject: [PATCH 012/132] cleanup --- Marlin/pins_CHEAPTRONIC.h | 2 +- Marlin/pins_GEN7_12.h | 2 +- Marlin/pins_GEN7_14.h | 2 +- Marlin/pins_MEGATRONICS_1.h | 2 +- Marlin/pins_MEGATRONICS_2.h | 2 +- Marlin/pins_SETHI.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/pins_CHEAPTRONIC.h b/Marlin/pins_CHEAPTRONIC.h index 440a93cd95..83d67e5f9b 100644 --- a/Marlin/pins_CHEAPTRONIC.h +++ b/Marlin/pins_CHEAPTRONIC.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_GEN7_12.h b/Marlin/pins_GEN7_12.h index 719ef9d6b7..b2e9c79066 100644 --- a/Marlin/pins_GEN7_12.h +++ b/Marlin/pins_GEN7_12.h @@ -3,7 +3,7 @@ */ #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. #endif #ifndef GEN7_VERSION diff --git a/Marlin/pins_GEN7_14.h b/Marlin/pins_GEN7_14.h index 292e890030..41e1ac79ab 100644 --- a/Marlin/pins_GEN7_14.h +++ b/Marlin/pins_GEN7_14.h @@ -5,7 +5,7 @@ #define GEN7_VERSION 14 // v1.4 #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. #endif //x axis pins diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h index 51cb12a211..26cfd2f3b6 100644 --- a/Marlin/pins_MEGATRONICS_1.h +++ b/Marlin/pins_MEGATRONICS_1.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega1281__ - #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Minitronics' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h index b0517fd92e..a286c91816 100644 --- a/Marlin/pins_MEGATRONICS_2.h +++ b/Marlin/pins_MEGATRONICS_2.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_SETHI.h b/Marlin/pins_SETHI.h index 4a118220c9..c2e43594f5 100644 --- a/Marlin/pins_SETHI.h +++ b/Marlin/pins_SETHI.h @@ -3,7 +3,7 @@ */ #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu. #endif #ifndef GEN7_VERSION From 812fafac804efb46c82aa859312ecd87b4a666d0 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 20:08:51 -0800 Subject: [PATCH 013/132] Max endstop pins disabled by configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There’s no need to ask users to uncomment Max Endstop pins when they have them. These will be set to -1 later if the endstop option is disabled. --- Marlin/pins_3DRAG.h | 6 ++---- Marlin/pins_ELEFU_3.h | 6 +++--- Marlin/pins_LEAPFROG.h | 4 ++-- Marlin/pins_MEGATRONICS_1.h | 4 ++-- Marlin/pins_MEGATRONICS_2.h | 4 ++-- Marlin/pins_RAMPS_OLD.h | 12 ++++++------ 6 files changed, 17 insertions(+), 19 deletions(-) diff --git a/Marlin/pins_3DRAG.h b/Marlin/pins_3DRAG.h index 942a0ba3ea..4191dbc4ee 100644 --- a/Marlin/pins_3DRAG.h +++ b/Marlin/pins_3DRAG.h @@ -4,10 +4,8 @@ #include "pins_RAMPS_13.h" -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - -#define Y_MAX_PIN -1 //15 - +#define X_MAX_PIN 2 +#define Y_MAX_PIN 15 #define Z_MAX_PIN -1 #define SDSS 25//53 diff --git a/Marlin/pins_ELEFU_3.h b/Marlin/pins_ELEFU_3.h index b201a1306c..4c9663a352 100644 --- a/Marlin/pins_ELEFU_3.h +++ b/Marlin/pins_ELEFU_3.h @@ -10,19 +10,19 @@ #define X_DIR_PIN 13 #define X_ENABLE_PIN 48 #define X_MIN_PIN 35 -#define X_MAX_PIN -1 //34 +#define X_MAX_PIN 34 #define Y_STEP_PIN 11 #define Y_DIR_PIN 9 #define Y_ENABLE_PIN 12 #define Y_MIN_PIN 33 -#define Y_MAX_PIN -1 //32 +#define Y_MAX_PIN 32 #define Z_STEP_PIN 7 #define Z_DIR_PIN 6 #define Z_ENABLE_PIN 8 #define Z_MIN_PIN 31 -#define Z_MAX_PIN -1 //30 +#define Z_MAX_PIN 30 #define E2_STEP_PIN 43 #define E2_DIR_PIN 47 diff --git a/Marlin/pins_LEAPFROG.h b/Marlin/pins_LEAPFROG.h index 5dd6654c1c..52ca619399 100644 --- a/Marlin/pins_LEAPFROG.h +++ b/Marlin/pins_LEAPFROG.h @@ -10,13 +10,13 @@ #define X_DIR_PIN 63 #define X_ENABLE_PIN 29 #define X_MIN_PIN 47 -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 2 //Max endstops default to disabled "-1", set to commented value to enable. #define Y_STEP_PIN 14 // A6 #define Y_DIR_PIN 15 // A0 #define Y_ENABLE_PIN 39 #define Y_MIN_PIN 48 -#define Y_MAX_PIN -1 //15 +#define Y_MAX_PIN 15 #define Z_STEP_PIN 31 // A2 #define Z_DIR_PIN 32 // A6 diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h index 26cfd2f3b6..f321941f87 100644 --- a/Marlin/pins_MEGATRONICS_1.h +++ b/Marlin/pins_MEGATRONICS_1.h @@ -12,13 +12,13 @@ #define X_DIR_PIN 47 #define X_ENABLE_PIN 49 #define X_MIN_PIN 5 -#define X_MAX_PIN -1 // 2 // Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 2 #define Y_STEP_PIN 39 // A6 #define Y_DIR_PIN 40 // A0 #define Y_ENABLE_PIN 38 #define Y_MIN_PIN 2 -#define Y_MAX_PIN -1 // 15 +#define Y_MAX_PIN 15 #define Z_STEP_PIN 42 // A2 #define Z_DIR_PIN 43 // A6 diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h index a286c91816..064431be29 100644 --- a/Marlin/pins_MEGATRONICS_2.h +++ b/Marlin/pins_MEGATRONICS_2.h @@ -12,13 +12,13 @@ #define X_DIR_PIN 27 #define X_ENABLE_PIN 25 #define X_MIN_PIN 37 -#define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 40 #define Y_STEP_PIN 4 // A6 #define Y_DIR_PIN 54 // A0 #define Y_ENABLE_PIN 5 #define Y_MIN_PIN 41 -#define Y_MAX_PIN 38 //15 +#define Y_MAX_PIN 38 #define Z_STEP_PIN 56 // A2 #define Z_DIR_PIN 60 // A6 diff --git a/Marlin/pins_RAMPS_OLD.h b/Marlin/pins_RAMPS_OLD.h index d4e89f8d9b..6b3454ac8b 100644 --- a/Marlin/pins_RAMPS_OLD.h +++ b/Marlin/pins_RAMPS_OLD.h @@ -13,23 +13,23 @@ #define X_DIR_PIN 28 #define X_ENABLE_PIN 24 #define X_MIN_PIN 3 -#define X_MAX_PIN -1 //2 +#define X_MAX_PIN 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 Y_MAX_PIN 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 -1 //19 +#define Z_MAX_PIN 19 -#define E0_STEP_PIN 32 -#define E0_DIR_PIN 34 -#define E0_ENABLE_PIN 30 +#define E0_STEP_PIN 32 +#define E0_DIR_PIN 34 +#define E0_ENABLE_PIN 30 #define SDPOWER 48 #define SDSS 53 From acf4a12fc3d2fa567b68661c140ea39702ba88b1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 26 Jan 2015 05:17:08 -0800 Subject: [PATCH 014/132] tweak --- Marlin/pins.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index e35c0744d3..5697931f5f 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -114,19 +114,19 @@ #define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), #if EXTRUDERS > 1 #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), + #if EXTRUDERS > 2 + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), + #if EXTRUDERS > 3 + #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), + #else + #define _E3_PINS + #endif + #else + #define _E2_PINS + #endif #else #define _E1_PINS #endif -#if EXTRUDERS > 2 - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), -#else - #define _E2_PINS -#endif -#if EXTRUDERS > 3 - #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), -#else - #define _E3_PINS -#endif #ifdef X_STOP_PIN #if X_HOME_DIR < 0 From a2317645237c70828f9796b778c4baf7adcbb419 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 26 Jan 2015 05:18:43 -0800 Subject: [PATCH 015/132] tweak tweak --- Marlin/pins.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index 5697931f5f..9b46b6a286 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -36,7 +36,7 @@ #include "pins_SETHI.h" #elif MB(RAMPS_OLD) #include "pins_RAMPS_OLD.h" -#elif MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) +#elif IS_RAMPS #include "pins_RAMPS_13.h" #elif MB(DUEMILANOVE_328P) #include "pins_DUEMILANOVE_328P.h" From 8c792c7b22bd612c2e8b38ca8b23de936398a14b Mon Sep 17 00:00:00 2001 From: AnHardt Date: Mon, 26 Jan 2015 15:40:44 +0100 Subject: [PATCH 016/132] Make STRING_VERSION and VERSION_STRING the same --- Marlin/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 4e0786199d..3aaa5887ec 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -24,11 +24,11 @@ // User-specified version info of this build to display in [Pronterface, etc] terminal window during // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // build by the user have been successfully uploaded into firmware. -#define STRING_VERSION "v1.0.2" +#define STRING_VERSION "1.0.2" #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define STRING_SPLASH STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. From 59315330dd4e42aab06de7fd8a9260965fa5ad7b Mon Sep 17 00:00:00 2001 From: AnHardt Date: Mon, 26 Jan 2015 15:52:01 +0100 Subject: [PATCH 017/132] Remove definition of VERSION_STRING and replace where usend with STRING_VERSION --- Marlin/Marlin_main.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 1401e7571c..7c4405e0d0 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -61,8 +61,6 @@ #include #endif -#define VERSION_STRING "1.0.0" - // look here for descriptions of G-codes: http://linuxcnc.org/handbook/gcode/g-code.html // http://objects.reprap.org/wiki/Mendel_User_Manual:_RepRapGCodes @@ -587,7 +585,7 @@ void setup() MCUSR=0; SERIAL_ECHOPGM(MSG_MARLIN); - SERIAL_ECHOLNPGM(VERSION_STRING); + SERIAL_ECHOLNPGM(STRING_VERSION); #ifdef STRING_VERSION_CONFIG_H #ifdef STRING_CONFIG_H_AUTHOR SERIAL_ECHO_START; From 0d219b3e14f7ef8715f63f2c3c191b1c5193e826 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Mon, 26 Jan 2015 16:00:10 +0100 Subject: [PATCH 018/132] Make centering of STRING_SPLASH work --- Marlin/dogm_lcd_implementation.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 6f595ce77f..5908d7b43b 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -118,7 +118,7 @@ static void lcd_implementation_init() // Show splashscreen int off = (u8g.getWidth() - START_BMPWIDTH) / 2; - int txtX = (u8g.getWidth() - sizeof(STRING_SPLASH) - 1) / 2; + int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*5) / 2; // 5 is fontwidth in pixel int txtY = u8g.getHeight() - 10; u8g.firstPage(); do { From aa48056c037373b5ace55378541d6962d777d623 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Mon, 26 Jan 2015 17:26:22 +0100 Subject: [PATCH 019/132] Made centering of bootlogo work and removed contraproductiv setScale2x2() in dogm_lcd_implementation.h --- Marlin/dogm_lcd_implementation.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 5908d7b43b..ffc323c5a5 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -117,18 +117,13 @@ static void lcd_implementation_init() } while(u8g.nextPage()); // Show splashscreen - int off = (u8g.getWidth() - START_BMPWIDTH) / 2; + int offx = (u8g.getWidth() - START_BMPWIDTH) / 2; + int offy = (u8g.getHeight() - 18 - START_BMPHEIGHT) / 2; int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*5) / 2; // 5 is fontwidth in pixel int txtY = u8g.getHeight() - 10; u8g.firstPage(); do { - #ifdef START_BMPHIGH - u8g.drawBitmapP(off, off, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); - #else - u8g.setScale2x2(); - u8g.drawBitmapP(off, off, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); - u8g.undoScale(); - #endif + u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); u8g.setFont(u8g_font_5x8); u8g.drawStr(txtX, txtY, STRING_SPLASH); From a20c35bb38fb42131e84e89b8f53be1462ac505e Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:04:31 +0100 Subject: [PATCH 020/132] Update language_ca.h Add 4th extruder --- Marlin/language_ca.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h index db0e8021af..77b882759b 100644 --- a/Marlin/language_ca.h +++ b/Marlin/language_ca.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 "Preescalfar PLA 1" #define MSG_PREHEAT_PLA1 "Preescalfar PLA 2" #define MSG_PREHEAT_PLA2 "Preescalfar PLA 3" -#define MSG_PREHEAT_PLA012 "Preesc. tot PLA" +#define MSG_PREHEAT_PLA3 "Preescalfar PLA 4" +#define MSG_PREHEAT_PLA0123 "Preesc. tot PLA" #define MSG_PREHEAT_PLA_BEDONLY "Preesc. llit PLA" #define MSG_PREHEAT_PLA_SETTINGS "Configuració PLA" #define MSG_PREHEAT_ABS "Preescalfar ABS" #define MSG_PREHEAT_ABS0 "Preescalfar ABS 1" #define MSG_PREHEAT_ABS1 "Preescalfar ABS 2" #define MSG_PREHEAT_ABS2 "Preescalfar ABS 3" -#define MSG_PREHEAT_ABS012 "Preesc. tot ABS" +#define MSG_PREHEAT_ABS3 "Preescalfar ABS 4" +#define MSG_PREHEAT_ABS0123 "Preesc. tot ABS" #define MSG_PREHEAT_ABS_BEDONLY "Preesc. llit ABS" #define MSG_PREHEAT_ABS_SETTINGS "Configuració ABS" #define MSG_COOLDOWN "Refredar" From 22e591518a60c0597a6d805846fc359ebc92ad72 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:08:13 +0100 Subject: [PATCH 021/132] Update language_de.h Add 4th extruder --- Marlin/language_de.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index a019290dca..2b0ac43d0a 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 "Vorwärmen PLA 1" #define MSG_PREHEAT_PLA1 "Vorwärmen PLA 2" #define MSG_PREHEAT_PLA2 "Vorwärmen PLA 3" -#define MSG_PREHEAT_PLA012 "Vorw. PLA Alle" +#define MSG_PREHEAT_PLA3 "Vorwärmen PLA 4" +#define MSG_PREHEAT_PLA0123 "Vorw. PLA Alle" #define MSG_PREHEAT_PLA_BEDONLY "Vorw. PLA Bett" #define MSG_PREHEAT_PLA_SETTINGS "Vorwärm. PLA Ein." #define MSG_PREHEAT_ABS "Vorwärmen ABS" #define MSG_PREHEAT_ABS0 "Vorwärmen ABS 1" #define MSG_PREHEAT_ABS1 "Vorwärmen ABS 2" #define MSG_PREHEAT_ABS2 "Vorwärmen ABS 3" -#define MSG_PREHEAT_ABS012 "Vorw. ABS Alle" +#define MSG_PREHEAT_ABS3 "Vorwärmen ABS 4" +#define MSG_PREHEAT_ABS0123 "Vorw. ABS Alle" #define MSG_PREHEAT_ABS_BEDONLY "Vorw. ABS Bett" #define MSG_PREHEAT_ABS_SETTINGS "Vorwärm. ABS Ein." #define MSG_COOLDOWN "Abkühlen" From ef4c7abb213c40554edcdbef33438917ab91f674 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:09:24 +0100 Subject: [PATCH 022/132] Update language_es.h Add 4th extruder --- Marlin/language_es.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_es.h b/Marlin/language_es.h index 8f5fb73d34..ee873ecc70 100644 --- a/Marlin/language_es.h +++ b/Marlin/language_es.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 "Precalentar PLA 1" #define MSG_PREHEAT_PLA1 "Precalentar PLA 2" #define MSG_PREHEAT_PLA2 "Precalentar PLA 3" -#define MSG_PREHEAT_PLA012 "Precal. PLA Todo" +#define MSG_PREHEAT_PLA3 "Precalentar PLA 4" +#define MSG_PREHEAT_PLA0123 "Precal. PLA Todo" #define MSG_PREHEAT_PLA_BEDONLY "Precal. PLA Base" #define MSG_PREHEAT_PLA_SETTINGS "Ajustar temp. PLA" #define MSG_PREHEAT_ABS "Precalentar ABS" #define MSG_PREHEAT_ABS0 "Precalentar ABS 1" #define MSG_PREHEAT_ABS1 "Precalentar ABS 2" #define MSG_PREHEAT_ABS2 "Precalentar ABS 3" -#define MSG_PREHEAT_ABS012 "Precal. ABS Todo" +#define MSG_PREHEAT_ABS3 "Precalentar ABS 4" +#define MSG_PREHEAT_ABS0123 "Precal. ABS Todo" #define MSG_PREHEAT_ABS_BEDONLY "Precal. ABS Base" #define MSG_PREHEAT_ABS_SETTINGS "Ajustar temp. ABS" #define MSG_COOLDOWN "Enfriar" From cebc7daf2a81ed62c7ff8b7fc5862f66d9efed56 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:10:42 +0100 Subject: [PATCH 023/132] Add 4th extruder --- Marlin/language_eu.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_eu.h b/Marlin/language_eu.h index 66962543cf..ddb78197bc 100644 --- a/Marlin/language_eu.h +++ b/Marlin/language_eu.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 "Aurreberotu PLA1" #define MSG_PREHEAT_PLA1 "Aurreberotu PLA2" #define MSG_PREHEAT_PLA2 "Aurreberotu PLA3" -#define MSG_PREHEAT_PLA012 "Berotu PLA Guztia" +#define MSG_PREHEAT_PLA3 "Aurreberotu PLA4" +#define MSG_PREHEAT_PLA0123 "Berotu PLA Guztia" #define MSG_PREHEAT_PLA_BEDONLY "Berotu PLA Ohea" #define MSG_PREHEAT_PLA_SETTINGS "Berotu PLA Konfig" #define MSG_PREHEAT_ABS "Aurreberotu ABS" #define MSG_PREHEAT_ABS0 "Aurreberotu ABS 1" #define MSG_PREHEAT_ABS1 "Aurreberotu ABS 2" #define MSG_PREHEAT_ABS2 "Aurreberotu ABS 3" -#define MSG_PREHEAT_ABS012 "Berotu ABS Guztia" +#define MSG_PREHEAT_ABS3 "Aurreberotu ABS 4" +#define MSG_PREHEAT_ABS0123 "Berotu ABS Guztia" #define MSG_PREHEAT_ABS_BEDONLY "Berotu ABS Ohea" #define MSG_PREHEAT_ABS_SETTINGS "Berotu ABS Konfig" #define MSG_COOLDOWN "Hoztu" From 7baee555f48b7eb157ee326d49ab1813e70a814d Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:11:49 +0100 Subject: [PATCH 024/132] Add 4th extruder --- Marlin/language_fi.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_fi.h b/Marlin/language_fi.h index c04637dc8b..bf7f74789e 100644 --- a/Marlin/language_fi.h +++ b/Marlin/language_fi.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 "Esilammita PLA 1" #define MSG_PREHEAT_PLA1 "Esilammita PLA 2" #define MSG_PREHEAT_PLA2 "Esilammita PLA 3" -#define MSG_PREHEAT_PLA012 "Esila. PLA Kaikki" +#define MSG_PREHEAT_PLA3 "Esilammita PLA 4" +#define MSG_PREHEAT_PLA0123 "Esila. PLA Kaikki" #define MSG_PREHEAT_PLA_BEDONLY "Esila. PLA Alusta" #define MSG_PREHEAT_PLA_SETTINGS "Esilamm. PLA konf" #define MSG_PREHEAT_ABS "Esilammita ABS" #define MSG_PREHEAT_ABS0 "Esilammita ABS 1" #define MSG_PREHEAT_ABS1 "Esilammita ABS 2" #define MSG_PREHEAT_ABS2 "Esilammita ABS 3" -#define MSG_PREHEAT_ABS012 "Esila. ABS Kaikki" +#define MSG_PREHEAT_ABS3 "Esilammita ABS 4" +#define MSG_PREHEAT_ABS0123 "Esila. ABS Kaikki" #define MSG_PREHEAT_ABS_BEDONLY "Esila. ABS Alusta" #define MSG_PREHEAT_ABS_SETTINGS "Esilamm. ABS konf" #define MSG_COOLDOWN "Jaahdyta" From e18403235dfbf78529ff6c8931b506e1e733d394 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:12:55 +0100 Subject: [PATCH 025/132] Add 4th extruder --- Marlin/language_fr.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_fr.h b/Marlin/language_fr.h index 29922c3270..ddd4a770b2 100644 --- a/Marlin/language_fr.h +++ b/Marlin/language_fr.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 "Prechauff. PLA 1" #define MSG_PREHEAT_PLA1 "Prechauff. PLA 2" #define MSG_PREHEAT_PLA2 "Prechauff. PLA 3" -#define MSG_PREHEAT_PLA012 "Prech. PLA Tout" +#define MSG_PREHEAT_PLA3 "Prechauff. PLA 4" +#define MSG_PREHEAT_PLA0123 "Prech. PLA Tout" #define MSG_PREHEAT_PLA_BEDONLY "Prech. PLA Plateau" #define MSG_PREHEAT_PLA_SETTINGS "Regl. prech. PLA" #define MSG_PREHEAT_ABS "Prechauffage ABS" #define MSG_PREHEAT_ABS0 "Prechauff. ABS 1" #define MSG_PREHEAT_ABS1 "Prechauff. ABS 2" #define MSG_PREHEAT_ABS2 "Prechauff. ABS 3" -#define MSG_PREHEAT_ABS012 "Prech. ABS Tout" +#define MSG_PREHEAT_ABS3 "Prechauff. ABS 4" +#define MSG_PREHEAT_ABS0123 "Prech. ABS Tout" #define MSG_PREHEAT_ABS_BEDONLY "Prech. ABS Plateau" #define MSG_PREHEAT_ABS_SETTINGS "Regl. prech. ABS" #define MSG_COOLDOWN "Refroidir" From ee8a7419f4dc5aadf1dd51f24a8634e684cf0659 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:14:18 +0100 Subject: [PATCH 026/132] Add 4th extruder --- Marlin/language_nl.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Marlin/language_nl.h b/Marlin/language_nl.h index 77e256e589..105f3fc326 100644 --- a/Marlin/language_nl.h +++ b/Marlin/language_nl.h @@ -18,17 +18,19 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Nulpunt instellen" #define MSG_PREHEAT_PLA "PLA voorverwarmen" -#define MSG_PREHEAT_PLA0 "PLA voorverw. 0" -#define MSG_PREHEAT_PLA1 "PLA voorverw. 1" -#define MSG_PREHEAT_PLA2 "PLA voorverw. 2" -#define MSG_PREHEAT_PLA012 "PLA voorverw. aan" +#define MSG_PREHEAT_PLA0 "PLA voorverw. 1" +#define MSG_PREHEAT_PLA1 "PLA voorverw. 2" +#define MSG_PREHEAT_PLA2 "PLA voorverw. 3" +#define MSG_PREHEAT_PLA3 "PLA voorverw. 4" +#define MSG_PREHEAT_PLA0123 "PLA voorverw. aan" #define MSG_PREHEAT_PLA_BEDONLY "PLA voorverw. Bed" #define MSG_PREHEAT_PLA_SETTINGS "PLA verw. conf" #define MSG_PREHEAT_ABS "ABS voorverwarmen" -#define MSG_PREHEAT_ABS0 "ABS voorverw. 0" -#define MSG_PREHEAT_ABS1 "ABS voorverw. 1" -#define MSG_PREHEAT_ABS2 "ABS voorverw. 2" -#define MSG_PREHEAT_ABS012 "ABS voorverw. aan" +#define MSG_PREHEAT_ABS0 "ABS voorverw. 1" +#define MSG_PREHEAT_ABS1 "ABS voorverw. 2" +#define MSG_PREHEAT_ABS2 "ABS voorverw. 3" +#define MSG_PREHEAT_ABS3 "ABS voorverw. 4" +#define MSG_PREHEAT_ABS0123 "ABS voorverw. aan" #define MSG_PREHEAT_ABS_BEDONLY "ABS voorverw. Bed" #define MSG_PREHEAT_ABS_SETTINGS "ABS verw. conf" #define MSG_COOLDOWN "Afkoelen" From 8696963154a1389c72f7ecab40ca82d4c604ebae Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:15:24 +0100 Subject: [PATCH 027/132] Add 4th extruder --- Marlin/language_pl.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_pl.h b/Marlin/language_pl.h index 8992097286..7c3c8ee458 100644 --- a/Marlin/language_pl.h +++ b/Marlin/language_pl.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 "Rozgrzej PLA 1" #define MSG_PREHEAT_PLA1 "Rozgrzej PLA 2" #define MSG_PREHEAT_PLA2 "Rozgrzej PLA 3" -#define MSG_PREHEAT_PLA012 "Roz. PLA Wszystko" +#define MSG_PREHEAT_PLA3 "Rozgrzej PLA 4" +#define MSG_PREHEAT_PLA0123 "Roz. PLA Wszystko" #define MSG_PREHEAT_PLA_BEDONLY "Rozgrzej PLA Loze" #define MSG_PREHEAT_PLA_SETTINGS "Ustaw. rozg. PLA" #define MSG_PREHEAT_ABS "Rozgrzej ABS" #define MSG_PREHEAT_ABS0 "Rozgrzej ABS 1" #define MSG_PREHEAT_ABS1 "Rozgrzej ABS 2" #define MSG_PREHEAT_ABS2 "Rozgrzej ABS 3" -#define MSG_PREHEAT_ABS012 "Roz. ABS Wszystko" +#define MSG_PREHEAT_ABS3 "Rozgrzej ABS 4" +#define MSG_PREHEAT_ABS0123 "Roz. ABS Wszystko" #define MSG_PREHEAT_ABS_BEDONLY "Rozgrzej ABS Loze" #define MSG_PREHEAT_ABS_SETTINGS "Ustaw. rozg. ABS" #define MSG_COOLDOWN "Chlodzenie" From 9834818ef75d23a8b5d2df47cc736ef24ba535b5 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:16:23 +0100 Subject: [PATCH 028/132] Add 4th extruder --- Marlin/language_pt.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index 473bed3e96..624b404ea3 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -21,14 +21,16 @@ #define MSG_PREHEAT_PLA0 " pre-aquecer PLA 1" #define MSG_PREHEAT_PLA1 " pre-aquecer PLA 2" #define MSG_PREHEAT_PLA2 " pre-aquecer PLA 3" -#define MSG_PREHEAT_PLA012 " pre-aq. PLA Tudo" +#define MSG_PREHEAT_PLA3 " pre-aquecer PLA 4" +#define MSG_PREHEAT_PLA0123 " pre-aq. PLA Tudo" #define MSG_PREHEAT_PLA_BEDONLY " pre-aq. PLA \002Base" #define MSG_PREHEAT_PLA_SETTINGS "PLA setting" #define MSG_PREHEAT_ABS "Pre-aquecer ABS" #define MSG_PREHEAT_ABS0 " pre-aquecer ABS 1" #define MSG_PREHEAT_ABS1 " pre-aquecer ABS 2" #define MSG_PREHEAT_ABS2 " pre-aquecer ABS 3" -#define MSG_PREHEAT_ABS012 " pre-aq. ABS Tudo" +#define MSG_PREHEAT_ABS3 " pre-aquecer ABS 4" +#define MSG_PREHEAT_ABS0123 " pre-aq. ABS Tudo" #define MSG_PREHEAT_ABS_BEDONLY " pre-aq. ABS \002Base" #define MSG_PREHEAT_ABS_SETTINGS "ABS setting" #define MSG_COOLDOWN "Esfriar" From fc5204bd426c77f35b16580a2abc00df194c1aa3 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:17:35 +0100 Subject: [PATCH 029/132] Add 4th extruder --- Marlin/language_ru.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Marlin/language_ru.h b/Marlin/language_ru.h index 87c5b1db73..0e98221739 100644 --- a/Marlin/language_ru.h +++ b/Marlin/language_ru.h @@ -20,17 +20,19 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Запомнить ноль" #define MSG_PREHEAT_PLA "Преднагрев PLA" -#define MSG_PREHEAT_PLA0 "Преднагрев PLA0" -#define MSG_PREHEAT_PLA1 "Преднагрев PLA1" -#define MSG_PREHEAT_PLA2 "Преднагрев PLA2" -#define MSG_PREHEAT_PLA012 "Преднаг. PLA все" +#define MSG_PREHEAT_PLA0 "Преднагрев PLA1" +#define MSG_PREHEAT_PLA1 "Преднагрев PLA2" +#define MSG_PREHEAT_PLA2 "Преднагрев PLA3" +#define MSG_PREHEAT_PLA3 "Преднагрев PLA4" +#define MSG_PREHEAT_PLA0123 "Преднаг. PLA все" #define MSG_PREHEAT_PLA_BEDONLY "Пред. PLA Кровать" #define MSG_PREHEAT_PLA_SETTINGS "Настройки PLA" #define MSG_PREHEAT_ABS "Преднагрев ABS" -#define MSG_PREHEAT_ABS0 "Преднагрев ABS0" -#define MSG_PREHEAT_ABS1 "Преднагрев ABS1" -#define MSG_PREHEAT_ABS2 "Преднагрев ABS2" -#define MSG_PREHEAT_ABS012 "Преднаг. ABS все " +#define MSG_PREHEAT_ABS0 "Преднагрев ABS1" +#define MSG_PREHEAT_ABS1 "Преднагрев ABS2" +#define MSG_PREHEAT_ABS2 "Преднагрев ABS3" +#define MSG_PREHEAT_ABS3 "Преднагрев ABS4" +#define MSG_PREHEAT_ABS0123 "Преднаг. ABS все " #define MSG_PREHEAT_ABS_BEDONLY "Пред. ABS Кровать" #define MSG_PREHEAT_ABS_SETTINGS "Настройки ABS" #define MSG_COOLDOWN "Охлаждение" From 49490883024b06cf58b2bad4b13c2c6a33373e2f Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:20:04 +0100 Subject: [PATCH 030/132] Add 4th extruder --- Marlin/language_an.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Marlin/language_an.h b/Marlin/language_an.h index f0b3fa2738..5ba45afac8 100644 --- a/Marlin/language_an.h +++ b/Marlin/language_an.h @@ -18,17 +18,19 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Establir zero" #define MSG_PREHEAT_PLA "Precalentar PLA" -#define MSG_PREHEAT_PLA0 "Precalentar PLA0" -#define MSG_PREHEAT_PLA1 "Precalentar PLA1" -#define MSG_PREHEAT_PLA2 "Precalentar PLA2" -#define MSG_PREHEAT_PLA012 "Precalentar PLA a" +#define MSG_PREHEAT_PLA0 "Precalentar PLA1" +#define MSG_PREHEAT_PLA1 "Precalentar PLA2" +#define MSG_PREHEAT_PLA2 "Precalentar PLA3" +#define MSG_PREHEAT_PLA3 "Precalentar PLA4" +#define MSG_PREHEAT_PLA0123 "Precalentar PLA a" #define MSG_PREHEAT_PLA_BEDONLY "Prec. PLA Base" #define MSG_PREHEAT_PLA_SETTINGS "Achustar tem. PLA" #define MSG_PREHEAT_ABS "Precalentar ABS" -#define MSG_PREHEAT_ABS0 "Precalentar ABS0" -#define MSG_PREHEAT_ABS1 "Precalentar ABS1" -#define MSG_PREHEAT_ABS2 "Precalentar ABS2" -#define MSG_PREHEAT_ABS012 "Precalentar ABS a" +#define MSG_PREHEAT_ABS0 "Precalentar ABS1" +#define MSG_PREHEAT_ABS1 "Precalentar ABS2" +#define MSG_PREHEAT_ABS2 "Precalentar ABS3" +#define MSG_PREHEAT_ABS3 "Precalentar ABS4" +#define MSG_PREHEAT_ABS0123 "Precalentar ABS a" #define MSG_PREHEAT_ABS_BEDONLY "Prec. ABS Base" #define MSG_PREHEAT_ABS_SETTINGS "Achustar tem. ABS" #define MSG_COOLDOWN "Enfriar" From a9763d894eb8aef47f056f95326bf1cf2429e865 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:20:56 +0100 Subject: [PATCH 031/132] Add 4th extruder --- Marlin/language_ca.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h index 77b882759b..12ad566ad7 100644 --- a/Marlin/language_ca.h +++ b/Marlin/language_ca.h @@ -21,7 +21,7 @@ #define MSG_PREHEAT_PLA0 "Preescalfar PLA 1" #define MSG_PREHEAT_PLA1 "Preescalfar PLA 2" #define MSG_PREHEAT_PLA2 "Preescalfar PLA 3" -#define MSG_PREHEAT_PLA3 "Preescalfar PLA 4" +#define MSG_PREHEAT_PLA3 "Preescalfar PLA 4" #define MSG_PREHEAT_PLA0123 "Preesc. tot PLA" #define MSG_PREHEAT_PLA_BEDONLY "Preesc. llit PLA" #define MSG_PREHEAT_PLA_SETTINGS "Configuració PLA" From 2650be49219b3dbfbeb1466a138f224f039234b5 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:21:31 +0100 Subject: [PATCH 032/132] Add 4th extruder --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 2b0ac43d0a..c3a1a95fc1 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -21,7 +21,7 @@ #define MSG_PREHEAT_PLA0 "Vorwärmen PLA 1" #define MSG_PREHEAT_PLA1 "Vorwärmen PLA 2" #define MSG_PREHEAT_PLA2 "Vorwärmen PLA 3" -#define MSG_PREHEAT_PLA3 "Vorwärmen PLA 4" +#define MSG_PREHEAT_PLA3 "Vorwärmen PLA 4" #define MSG_PREHEAT_PLA0123 "Vorw. PLA Alle" #define MSG_PREHEAT_PLA_BEDONLY "Vorw. PLA Bett" #define MSG_PREHEAT_PLA_SETTINGS "Vorwärm. PLA Ein." From 61fd45a0c236d8e44be22ac88d34d4be564c47fe Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Mon, 26 Jan 2015 21:22:00 +0100 Subject: [PATCH 033/132] Add 4th extruder --- Marlin/language_es.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_es.h b/Marlin/language_es.h index ee873ecc70..65132e8c6d 100644 --- a/Marlin/language_es.h +++ b/Marlin/language_es.h @@ -21,7 +21,7 @@ #define MSG_PREHEAT_PLA0 "Precalentar PLA 1" #define MSG_PREHEAT_PLA1 "Precalentar PLA 2" #define MSG_PREHEAT_PLA2 "Precalentar PLA 3" -#define MSG_PREHEAT_PLA3 "Precalentar PLA 4" +#define MSG_PREHEAT_PLA3 "Precalentar PLA 4" #define MSG_PREHEAT_PLA0123 "Precal. PLA Todo" #define MSG_PREHEAT_PLA_BEDONLY "Precal. PLA Base" #define MSG_PREHEAT_PLA_SETTINGS "Ajustar temp. PLA" From 75cf302da3eb622090673df1475ca8ed6a4c6a59 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 27 Jan 2015 00:01:33 +0100 Subject: [PATCH 034/132] example configurations changed to meet Configuration.h --- Marlin/example_configurations/K8200/Configuration.h | 2 +- Marlin/example_configurations/SCARA/Configuration.h | 3 +++ Marlin/example_configurations/delta/Configuration.h | 3 +++ Marlin/example_configurations/makibox/Configuration.h | 3 +++ Marlin/example_configurations/tvrrug/Round2/Configuration.h | 3 +++ 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 8ee5d24fe5..888835e7b1 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -28,7 +28,7 @@ #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(K8200, CONSULitAS)" // Who made the changes. -#define STRING_SPLASH STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index d38abd26a8..7d52562c44 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -42,8 +42,11 @@ // User-specified version info of this build to display in [Pronterface, etc] terminal window during // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.2" +#define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/delta/Configuration.h b/Marlin/example_configurations/delta/Configuration.h index 6c530e9234..347c346090 100644 --- a/Marlin/example_configurations/delta/Configuration.h +++ b/Marlin/example_configurations/delta/Configuration.h @@ -17,8 +17,11 @@ // User-specified version info of this build to display in [Pronterface, etc] terminal window during // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.2" +#define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 1aa77f98fe..0781ed60a6 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -24,8 +24,11 @@ // User-specified version info of this build to display in [Pronterface, etc] terminal window during // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.2" +#define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 6bea624ff7..b362753e81 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -24,8 +24,11 @@ // User-specified version info of this build to display in [Pronterface, etc] terminal window during // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.2" +#define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. From e779641c7382de41fc23466c701499a91c953011 Mon Sep 17 00:00:00 2001 From: clefranc Date: Tue, 27 Jan 2015 13:25:47 -0500 Subject: [PATCH 035/132] Update ConfigurationStore.cpp Added PIDTEMP dummy write to align EEPROM read/write operation. --- Marlin/ConfigurationStore.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index a3e9364a58..69f9dae5c8 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -97,6 +97,7 @@ void Config_StoreSettings() EEPROM_WRITE_VAR(i, dummy); dummy = 0.0f; EEPROM_WRITE_VAR(i,dummy); + EEPROM_WRITE_VAR(i,dummy); EEPROM_WRITE_VAR(i,dummy); } } @@ -106,6 +107,7 @@ void Config_StoreSettings() dummy = 0.0f; EEPROM_WRITE_VAR(i,dummy); EEPROM_WRITE_VAR(i,dummy); + EEPROM_WRITE_VAR(i,dummy); #endif//PIDTEMP #ifndef DOGLCD int lcd_contrast = 32; From d55c62bf9fe1026ba321746c6f1dde8c1ee92a5b Mon Sep 17 00:00:00 2001 From: clefranc Date: Tue, 27 Jan 2015 13:28:37 -0500 Subject: [PATCH 036/132] Update ConfigurationStore.cpp Moved #endif to allow filament settings to print. --- Marlin/ConfigurationStore.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index 69f9dae5c8..05a3a47b35 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -271,6 +271,7 @@ SERIAL_ECHOLNPGM("Scaling factors:"); SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap); SERIAL_ECHOLN(""); #endif//EXTRUDERS > 1 +#endif//FWRETRACT SERIAL_ECHO_START; if (volumetric_enabled) { SERIAL_ECHOLNPGM("Filament settings:"); @@ -295,7 +296,6 @@ SERIAL_ECHOLNPGM("Scaling factors:"); } else { SERIAL_ECHOLNPGM("Filament settings: Disabled"); } -#endif//FWRETRACT #ifdef CUSTOM_M_CODES SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Z-Probe Offset (mm):"); From b697bb260e24b515a6ffc2e0fa283de96adce05a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 15:19:03 -0800 Subject: [PATCH 037/132] Make sure _Ex_PINS is defined Also fix analogInputToDigitalPin so it uses proper C hex notation --- Marlin/Marlin.h | 2 +- Marlin/pins.h | 10 ++-- Marlin/pins_MEGATRONICS_3.h | 103 ++++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 Marlin/pins_MEGATRONICS_3.h diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index 1ab316aac8..c5caac7459 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -34,7 +34,7 @@ // Arduino < 1.0.0 does not define this, so we need to do it ourselves #ifndef analogInputToDigitalPin -# define analogInputToDigitalPin(p) ((p) + A0) +# define analogInputToDigitalPin(p) ((p) + 0xA0) #endif #ifdef AT90USB diff --git a/Marlin/pins.h b/Marlin/pins.h index 9b46b6a286..4ebc460a09 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -112,20 +112,18 @@ // 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, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), +#define _E1_PINS +#define _E2_PINS +#define _E3_PINS + #if EXTRUDERS > 1 #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), #if EXTRUDERS > 2 #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), #if EXTRUDERS > 3 #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), - #else - #define _E3_PINS #endif - #else - #define _E2_PINS #endif -#else - #define _E1_PINS #endif #ifdef X_STOP_PIN diff --git a/Marlin/pins_MEGATRONICS_3.h b/Marlin/pins_MEGATRONICS_3.h new file mode 100644 index 0000000000..064431be29 --- /dev/null +++ b/Marlin/pins_MEGATRONICS_3.h @@ -0,0 +1,103 @@ +/** + * MegaTronics v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 27 +#define X_ENABLE_PIN 25 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 + +#define Y_STEP_PIN 4 // A6 +#define Y_DIR_PIN 54 // A0 +#define Y_ENABLE_PIN 5 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 + +#define Z_STEP_PIN 56 // A2 +#define Z_DIR_PIN 60 // A6 +#define Z_ENABLE_PIN 55 // A1 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 +#define E2_DIR_PIN 24 +#define E2_ENABLE_PIN 22 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#define FAN_PIN 7 +#define FAN2_PIN 6 +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 + #define TEMP_0_PIN 4 // ANALOG NUMBERING +#else + #define TEMP_0_PIN 13 // ANALOG NUMBERING +#endif + + +#if TEMP_SENSOR_1 == -1 + #define TEMP_1_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_1_PIN 15 // ANALOG NUMBERING +#endif + +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 10 // BED + +#if TEMP_SENSOR_BED == -1 + #define TEMP_BED_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_BED_PIN 14 // ANALOG NUMBERING +#endif + +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 From 574a5ab72afc5e566f052bdd16eda88a7b94eb9c Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:40:00 -0800 Subject: [PATCH 038/132] Split up pins to make it more manageable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hopefully this is helpful to organization and future expansion…. --- Marlin/boards.h | 2 +- Marlin/pins.h | 3046 ++------------------------------ Marlin/pins_3DRAG.h | 39 + Marlin/pins_5DPRINT.h | 75 + Marlin/pins_99.h | 38 + Marlin/pins_AZTEEG_X1.h | 7 + Marlin/pins_AZTEEG_X3.h | 15 + Marlin/pins_AZTEEG_X3_PRO.h | 30 + Marlin/pins_BRAINWAVE.h | 61 + Marlin/pins_CHEAPTRONIC.h | 95 + Marlin/pins_DUEMILANOVE_328P.h | 43 + Marlin/pins_ELEFU_3.h | 116 ++ Marlin/pins_GEN3_MONOLITHIC.h | 61 + Marlin/pins_GEN3_PLUS.h | 45 + Marlin/pins_GEN6.h | 62 + Marlin/pins_GEN6_DELUXE.h | 5 + Marlin/pins_GEN7_12.h | 72 + Marlin/pins_GEN7_13.h | 8 + Marlin/pins_GEN7_14.h | 60 + Marlin/pins_GEN7_CUSTOM.h | 76 + Marlin/pins_K8200.h | 6 + Marlin/pins_LEAPFROG.h | 62 + Marlin/pins_MEGATRONICS.h | 92 + Marlin/pins_MEGATRONICS_1.h | 88 + Marlin/pins_MEGATRONICS_2.h | 103 ++ Marlin/pins_MELZI.h | 11 + Marlin/pins_MELZI_1284.h | 15 + Marlin/pins_OMCA.h | 91 + Marlin/pins_OMCA_A.h | 78 + Marlin/pins_PRINTRBOARD.h | 88 + Marlin/pins_RAMBO.h | 165 ++ Marlin/pins_RAMPS_13.h | 227 +++ Marlin/pins_RAMPS_OLD.h | 69 + Marlin/pins_RUMBA.h | 110 ++ Marlin/pins_SANGUINOLOLU_11.h | 172 ++ Marlin/pins_SANGUINOLOLU_12.h | 19 + Marlin/pins_SAV_MKI.h | 88 + Marlin/pins_SETHI.h | 71 + Marlin/pins_STB_11.h | 11 + Marlin/pins_TEENSY2.h | 115 ++ Marlin/pins_TEENSYLU.h | 85 + Marlin/pins_ULTIMAIN_2.h | 80 + Marlin/pins_ULTIMAKER.h | 100 ++ Marlin/pins_ULTIMAKER_OLD.h | 62 + 44 files changed, 3018 insertions(+), 2946 deletions(-) create mode 100644 Marlin/pins_3DRAG.h create mode 100644 Marlin/pins_5DPRINT.h create mode 100644 Marlin/pins_99.h create mode 100644 Marlin/pins_AZTEEG_X1.h create mode 100644 Marlin/pins_AZTEEG_X3.h create mode 100644 Marlin/pins_AZTEEG_X3_PRO.h create mode 100644 Marlin/pins_BRAINWAVE.h create mode 100644 Marlin/pins_CHEAPTRONIC.h create mode 100644 Marlin/pins_DUEMILANOVE_328P.h create mode 100644 Marlin/pins_ELEFU_3.h create mode 100644 Marlin/pins_GEN3_MONOLITHIC.h create mode 100644 Marlin/pins_GEN3_PLUS.h create mode 100644 Marlin/pins_GEN6.h create mode 100644 Marlin/pins_GEN6_DELUXE.h create mode 100644 Marlin/pins_GEN7_12.h create mode 100644 Marlin/pins_GEN7_13.h create mode 100644 Marlin/pins_GEN7_14.h create mode 100644 Marlin/pins_GEN7_CUSTOM.h create mode 100644 Marlin/pins_K8200.h create mode 100644 Marlin/pins_LEAPFROG.h create mode 100644 Marlin/pins_MEGATRONICS.h create mode 100644 Marlin/pins_MEGATRONICS_1.h create mode 100644 Marlin/pins_MEGATRONICS_2.h create mode 100644 Marlin/pins_MELZI.h create mode 100644 Marlin/pins_MELZI_1284.h create mode 100644 Marlin/pins_OMCA.h create mode 100644 Marlin/pins_OMCA_A.h create mode 100644 Marlin/pins_PRINTRBOARD.h create mode 100644 Marlin/pins_RAMBO.h create mode 100644 Marlin/pins_RAMPS_13.h create mode 100644 Marlin/pins_RAMPS_OLD.h create mode 100644 Marlin/pins_RUMBA.h create mode 100644 Marlin/pins_SANGUINOLOLU_11.h create mode 100644 Marlin/pins_SANGUINOLOLU_12.h create mode 100644 Marlin/pins_SAV_MKI.h create mode 100644 Marlin/pins_SETHI.h create mode 100644 Marlin/pins_STB_11.h create mode 100644 Marlin/pins_TEENSY2.h create mode 100644 Marlin/pins_TEENSYLU.h create mode 100644 Marlin/pins_ULTIMAIN_2.h create mode 100644 Marlin/pins_ULTIMAKER.h create mode 100644 Marlin/pins_ULTIMAKER_OLD.h diff --git a/Marlin/boards.h b/Marlin/boards.h index 1670ad7026..b97ea211ca 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -14,7 +14,7 @@ #define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed) #define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan) #define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan) -#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignment +#define BOARD_DUEMILANOVE_328P 4 // Duemilanove w/ ATMega328P pin assignments #define BOARD_GEN6 5 // Gen6 #define BOARD_GEN6_DELUXE 51 // Gen6 deluxe #define BOARD_SANGUINOLOLU_11 6 // Sanguinololu < 1.2 diff --git a/Marlin/pins.h b/Marlin/pins.h index 3dd34f18b0..f965b7d561 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -1,9 +1,13 @@ +/** + * pins.h + * + */ #ifndef PINS_H #define PINS_H #include "boards.h" -#if !MB(5DPRINT) +// Preset optional pins #define X_MS1_PIN -1 #define X_MS2_PIN -1 #define Y_MS1_PIN -1 @@ -15,2947 +19,99 @@ #define E1_MS1_PIN -1 #define E1_MS2_PIN -1 #define DIGIPOTSS_PIN -1 -#endif - -/**************************************************************************************** -* 5DPrint D8 Driver board -* https://bitbucket.org/makible/5dprint-d8-controller-board -****************************************************************************************/ - -#if MB(5DPRINT) - -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 23 -#define X_STOP_PIN 37 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 19 -#define Y_STOP_PIN 36 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 18 -#define Z_STOP_PIN 39 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 17 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 20 // Bed -// You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h -// for the fan and Teensyduino uses a different pin mapping. -#define FAN_PIN 16 // Fan - -#define TEMP_0_PIN 1 // Extruder / Analog pin numbering -#define TEMP_BED_PIN 0 // Bed / Analog pin numbering - -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define LED_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define ALARM_PIN -1 - -// The SDSS pin uses a different pin mapping from file Sd2PinMap.h -#define SDSS 20 - -#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 - -// Microstepping pins -// Note that the pin mapping is not from fastio.h -// See Sd2PinMap.h for the pin configurations -#define X_MS1_PIN 25 -#define X_MS2_PIN 26 -#define Y_MS1_PIN 9 -#define Y_MS2_PIN 8 -#define Z_MS1_PIN 7 -#define Z_MS2_PIN 6 -#define E0_MS1_PIN 5 -#define E0_MS2_PIN 4 - -#endif // 5DPRINT - -/**************************************************************************************** -* Leapfrog Driver board -* -****************************************************************************************/ -#if MB(LEAPFROG) // Leapfrog board -#define KNOWN_BOARD 1 - -#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 28 -#define X_DIR_PIN 63 -#define X_ENABLE_PIN 29 -#define X_MIN_PIN 47 -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - -#define Y_STEP_PIN 14 // A6 -#define Y_DIR_PIN 15 // A0 -#define Y_ENABLE_PIN 39 -#define Y_MIN_PIN 48 -#define Y_MAX_PIN -1 //15 - -#define Z_STEP_PIN 31 // A2 -#define Z_DIR_PIN 32 // A6 -#define Z_ENABLE_PIN 30 // A1 -#define Z_MIN_PIN 49 -#define Z_MAX_PIN -1 - -#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 - -#define Y2_STEP_PIN 37 -#define Y2_DIR_PIN 40 -#define Y2_ENABLE_PIN 36 - -#define Z2_STEP_PIN 37 -#define Z2_DIR_PIN 40 -#define Z2_ENABLE_PIN 36 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN 13 -#define FAN_PIN 7 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SOL1_PIN 16 -#define SOL2_PIN 17 - -#define HEATER_0_PIN 9 -#define HEATER_1_PIN 8 // 12 -#define HEATER_2_PIN 11 //-1 // 13 -#define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN 15 // 1 -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN 10 // 14/15 -#define TEMP_BED_PIN 14 // 1,2 or I2C -/* 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 // LEAPFROG - -/**************************************************************************************** -* -* -****************************************************************************************/ - -#if MB(99) -#define KNOWN_BOARD 1 - -#define X_STEP_PIN 2 -#define X_DIR_PIN 3 -#define X_ENABLE_PIN -1 -#define X_STOP_PIN 16 - -#define Y_STEP_PIN 5 -#define Y_DIR_PIN 6 -#define Y_ENABLE_PIN -1 -#define Y_STOP_PIN 67 - -#define Z_STEP_PIN 62 -#define Z_DIR_PIN 63 -#define Z_ENABLE_PIN -1 -#define Z_STOP_PIN 59 - -#define E0_STEP_PIN 65 -#define E0_DIR_PIN 66 -#define E0_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN 9 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#endif // 99 - -/**************************************************************************************** -* Sethi 3D_1 pin assignment - www.sethi3d.com.br -* -****************************************************************************************/ - -#if MB(SETHI) -#define KNOWN_BOARD - -#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 - -#ifndef GEN7_VERSION -#define GEN7_VERSION 12 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 2 - -//y axis pins -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 0 - -//z axis pins -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 1 -#define Z_MAX_PIN 0 - -//extruder pins -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#if (GEN7_VERSION >= 13) -// Gen7 v1.3 removed the fan pin -#define FAN_PIN -1 -#else -#define FAN_PIN 31 -#endif -#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 - -#endif // SETHI - -/**************************************************************************************** -* Gen7 v1.1, v1.2, v1.3 pin assignment -* -****************************************************************************************/ - - -#if MB(GEN7_13) -#define MOTHERBOARD BOARD_GEN7_12 -#define GEN7_VERSION 13 // v1.3 -#endif - -#if MB(GEN7_12) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) -#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -#ifndef GEN7_VERSION -#define GEN7_VERSION 12 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 7 - -//y axis pins -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 5 - -//z axis pins -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 1 -#define Z_MAX_PIN 0 - -//extruder pins -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#if (GEN7_VERSION >= 13) -// Gen7 v1.3 removed the fan pin -#define FAN_PIN -1 -#else -#define FAN_PIN 31 -#endif -#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 - -#endif - -/**************************************************************************************** -* Gen7 v1.4 pin assignment -* -****************************************************************************************/ - -#if MB(GEN7_14) -#define GEN7_VERSION 14 // v1.4 -#endif - -#if MB(GEN7_14) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) -#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -#ifndef GEN7_VERSION -#define GEN7_VERSION 14 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 29 -#define X_DIR_PIN 28 -#define X_ENABLE_PIN 25 -#define X_STOP_PIN 0 - -//y axis pins -#define Y_STEP_PIN 27 -#define Y_DIR_PIN 26 -#define Y_ENABLE_PIN 25 -#define Y_STOP_PIN 1 - -//z axis pins -#define Z_STEP_PIN 23 -#define Z_DIR_PIN 22 -#define Z_ENABLE_PIN 25 -#define Z_STOP_PIN 2 - -//extruder pins -#define E0_STEP_PIN 19 -#define E0_DIR_PIN 18 -#define E0_ENABLE_PIN 25 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 0 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - -#define KILL_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN 15 - -//our pin for debugging. -#define DEBUG_PIN 0 - -//our RS485 pins -#define TX_ENABLE_PIN 12 -#define RX_ENABLE_PIN 13 - -#endif // GEN7 - -/****************************************************************************** -* Gen7 Alfons3 pin assignment -* -******************************************************************************/ -/* These Pins are assigned for the modified GEN7 Board from Alfons3 Please review the pins and adjust it for your needs*/ #if MB(GEN7_CUSTOM) -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. -#endif - -//x axis pins - #define X_STEP_PIN 21 // different from standard GEN7 - #define X_DIR_PIN 20 // different from standard GEN7 - #define X_ENABLE_PIN 24 - #define X_STOP_PIN 0 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_STOP_PIN 1 - - //z axis pins - #define Z_STEP_PIN 26 - #define Z_DIR_PIN 25 - #define Z_ENABLE_PIN 24 - #define Z_STOP_PIN 2 - - //extruder pins - #define E0_STEP_PIN 28 - #define E0_DIR_PIN 27 - #define E0_ENABLE_PIN 24 - - #define TEMP_0_PIN 2 - #define TEMP_1_PIN -1 - #define TEMP_2_PIN -1 - #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) - - #define HEATER_0_PIN 4 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #define HEATER_BED_PIN 3 // (bed) - - #define SDPOWER -1 - #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support - #define LED_PIN -1 - - #define FAN_PIN -1 - #define PS_ON_PIN 19 - //our pin for debugging. - - #define DEBUG_PIN -1 - - //our RS485 pins - //#define TX_ENABLE_PIN 12 - //#define RX_ENABLE_PIN 13 - - #define BEEPER -1 - #define SDCARDDETECT -1 - #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work - - #define KILL_PIN -1 - //Pins for 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 //the click - -#endif // GEN7_CUSTOM - -/**************************************************************************************** -* Arduino Mega pin assignment -* -****************************************************************************************/ -#if IS_RAMPS || MB(3DRAG) || MB(K8200) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) -#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 - - -#if (IS_RAMPS && !MB(RAMPS_OLD)) || MB(3DRAG) || MB(K8200) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) - - #define LARGE_FLASH true - - #if MB(3DRAG) || MB(K8200) - #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 63 - #define Z_MIN_PIN 18 - #define Z_MAX_PIN -1 - - #define Y2_STEP_PIN 36 - #define Y2_DIR_PIN 34 - #define Y2_ENABLE_PIN 30 - - #define Z2_STEP_PIN 36 - #define Z2_DIR_PIN 34 - #define Z2_ENABLE_PIN 30 - - #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 SDPOWER -1 - #define SDSS 25//53 - #define LED_PIN 13 - - #define BEEPER 33 - - #else - - #define X_STEP_PIN 54 - #define X_DIR_PIN 55 - #define X_ENABLE_PIN 38 - #define X_MIN_PIN 3 - #define X_MAX_PIN 2 - - #define Y_STEP_PIN 60 - #define Y_DIR_PIN 61 - #define Y_ENABLE_PIN 56 - #define Y_MIN_PIN 14 - #define Y_MAX_PIN 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 19 - - #define Y2_STEP_PIN 36 - #define Y2_DIR_PIN 34 - #define Y2_ENABLE_PIN 30 - - #define Z2_STEP_PIN 36 - #define Z2_DIR_PIN 34 - #define Z2_ENABLE_PIN 30 - - #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 - -#if MB(RAMPS_13_EEB) //FMM added for Filament Extruder -#ifdef FILAMENT_SENSOR - //define analog pin for the filament width sensor input - //Use the RAMPS 1.4 Analog input 5 on the AUX2 connector - #define FILWIDTH_PIN 5 -#endif -#endif - - - #if MB(AZTEEG_X3_PRO) - #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 - #endif - - #define SDPOWER -1 - #define SDSS 53 - #define LED_PIN 13 - #endif - - #if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) - #define FAN_PIN 9 // (Sprinter config) - #else - #define FAN_PIN 4 // IO pin. Buffer needed - #endif - - #if MB(3DRAG) || MB(K8200) || MB(RAMPS_13_EEF) - #define FAN_PIN 8 - #endif - - #if MB(RAMPS_13_EFF) - #define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller - #endif - - #define PS_ON_PIN 12 - - #if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) - #define KILL_PIN 41 - #else - #define KILL_PIN -1 - #endif - - #if MB(RAMPS_13_EFF) - #define HEATER_0_PIN 8 - #else - #define HEATER_0_PIN 10 // EXTRUDER 1 - #endif - - #if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) - #define HEATER_1_PIN -1 - #else - #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) - #endif - - - #if MB(3DRAG) || MB(K8200) - #define HEATER_0_PIN 10 - #define HEATER_1_PIN 12 - #define HEATER_2_PIN 6 - #elif MB(AZTEEG_X3_PRO) - #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 - #else - #define HEATER_2_PIN -1 - #endif - - #define TEMP_0_PIN 13 // ANALOG NUMBERING - #define TEMP_1_PIN 15 // ANALOG NUMBERING - #if MB(AZTEEG_X3_PRO) - #define TEMP_2_PIN 12 // ANALOG NUMBERING - #define TEMP_3_PIN 11 // ANALOG NUMBERING - #define TEMP_4_PIN 10 // ANALOG NUMBERING - #define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro - #define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro - #else - #define TEMP_2_PIN -1 // ANALOG NUMBERING - #endif - - #if MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) - #define HEATER_BED_PIN -1 // NO BED - #else - #if MB(3DRAG) || MB(K8200) - #define HEATER_BED_PIN 9 // BED - #else - #define HEATER_BED_PIN 8 // BED - #endif - #endif - - #define TEMP_BED_PIN 14 // ANALOG NUMBERING - - #ifdef NUM_SERVOS - #define SERVO0_PIN 11 - - #if NUM_SERVOS > 1 - #define SERVO1_PIN 6 - #endif - - #if NUM_SERVOS > 2 - #define SERVO2_PIN 5 - #endif - - #if NUM_SERVOS > 3 - #define SERVO3_PIN 4 - #endif - #endif - - #if MB(AZTEEG_X3_PRO) - #define BEEPER 33 - #endif - - #ifdef TEMP_STAT_LEDS - #if MB(AZTEEG_X3) - #define STAT_LED_RED 6 - #define STAT_LED_BLUE 11 - #endif - #endif - - #ifdef ULTRA_LCD - - #ifdef 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 - - #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER - #define BEEPER 37 - - #define BTN_EN1 31 - #define BTN_EN2 33 - #define BTN_ENC 35 - - #define SDCARDDETECT 49 - #elif defined(LCD_I2C_PANELOLU2) - #define BTN_EN1 47 //reverse if the encoder turns the wrong way. - #define BTN_EN2 43 - #define BTN_ENC 32 - #define LCD_SDSS 53 - #define SDCARDDETECT -1 - #define KILL_PIN 41 - #elif defined(LCD_I2C_VIKI) - #define BTN_EN1 22 //reverse if the encoder turns the wrong way. - #define BTN_EN2 7 - #define BTN_ENC -1 - #define LCD_SDSS 53 - #define SDCARDDETECT 49 - #else - //arduino pin which triggers an piezzo beeper - #define BEEPER 33 // Beeper on AUX-4 - - //buttons are directly attached using AUX-2 - #ifdef REPRAPWORLD_KEYPAD - #define BTN_EN1 64 // encoder - #define BTN_EN2 59 // encoder - #define BTN_ENC 63 // enter button - #define SHIFT_OUT 40 // shift register - #define SHIFT_CLK 44 // shift register - #define SHIFT_LD 42 // shift register - #else - #define BTN_EN1 37 - #define BTN_EN2 35 - #define BTN_ENC 31 //the click - #endif - - #ifdef G3D_PANEL - #define SDCARDDETECT 49 - #else - #define SDCARDDETECT -1 // Ramps does not use this port - #endif - - #endif - - #if MB(3DRAG) || MB(K8200) - #define BEEPER -1 - - #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 - #define BTN_EN1 16 - #define BTN_EN2 17 - #define BTN_ENC 23 //the click - - #endif - #else //old style panel with shift register - //arduino pin witch triggers an piezzo beeper - #define BEEPER 33 //No Beeper added - - //buttons are attached to a shift register - // Not wired this yet - //#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 17 - #define LCD_PINS_D4 23 - #define LCD_PINS_D5 25 - #define LCD_PINS_D6 27 - #define LCD_PINS_D7 29 - #endif - #endif //ULTRA_LCD - -#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default (BOARD_RAMPS_OLD) - -#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 -1 //19 - -#define E0_STEP_PIN 32 -#define E0_DIR_PIN 34 -#define E0_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_BED_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_BED_PIN 8 // RAMPS 1.1 - #define FAN_PIN 9 // RAMPS 1.1 -#endif -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! - -#endif // RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG || K8200 - -// 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 66// Do not use pin 53 if there is even the remote possibility of using Display/SD card + #include "pins_GEN7_CUSTOM.h" +#elif MB(GEN7_12) + #include "pins_GEN7_12.h" +#elif MB(GEN7_13) + #include "pins_GEN7_13.h" +#elif MB(GEN7_14) + #include "pins_GEN7_14.h" +#elif MB(CHEAPTRONIC) + #include "pins_CHEAPTRONIC.h" +#elif MB(SETHI) + #include "pins_SETHI.h" +#elif 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(DUEMILANOVE_328P) + #include "pins_DUEMILANOVE_328P.h" +#elif MB(GEN6) + #include "pins_GEN6.h" +#elif MB(GEN6_DELUXE) + #include "pins_GEN6_DELUXE.h" +#elif MB(SANGUINOLOLU_11) + #include "pins_SANGUINOLOLU_11.h" +#elif MB(SANGUINOLOLU_12) + #include "pins_SANGUINOLOLU_12.h" +#elif MB(MELZI) + #include "pins_MELZI.h" +#elif MB(STB_11) + #include "pins_STB_11.h" +#elif MB(AZTEEG_X1) + #include "pins_AZTEEG_X1.h" +#elif MB(MELZI_1284) + #include "pins_MELZI_1284.h" +#elif MB(AZTEEG_X3) + #include "pins_AZTEEG_X3.h" +#elif MB(AZTEEG_X3_PRO) + #include "pins_AZTEEG_X3_PRO.h" +#elif MB(ULTIMAKER) + #include "pins_ULTIMAKER.h" +#elif MB(ULTIMAKER_OLD) + #include "pins_ULTIMAKER_OLD.h" +#elif MB(ULTIMAIN_2) + #include "pins_ULTIMAIN_2.h" +#elif MB(3DRAG) + #include "pins_3DRAG.h" +#elif MB(K8200) + #include "pins_K8200.h" +#elif MB(TEENSYLU) + #include "pins_TEENSYLU.h" +#elif MB(RUMBA) + #include "pins_RUMBA.h" +#elif MB(PRINTRBOARD) + #include "pins_PRINTRBOARD.h" +#elif MB(BRAINWAVE) + #include "pins_BRAINWAVE.h" +#elif MB(SAV_MKI) + #include "pins_SAV_MKI.h" +#elif MB(TEENSY2) + #include "pins_TEENSY2.h" +#elif MB(GEN3_PLUS) + #include "pins_GEN3_PLUS.h" +#elif MB(GEN3_MONOLITHIC) + #include "pins_GEN3_MONOLITHIC.h" +#elif MB(MEGATRONICS) + #include "pins_MEGATRONICS.h" +#elif MB(MEGATRONICS_2) + #include "pins_MEGATRONICS_2.h" +#elif MB(MEGATRONICS_1) + #include "pins_MEGATRONICS_1.h" +#elif MB(OMCA_A) + #include "pins_OMCA_A.h" +#elif MB(OMCA) + #include "pins_OMCA.h" +#elif MB(RAMBO) + #include "pins_RAMBO.h" +#elif MB(ELEFU_3) + #include "pins_ELEFU_3.h" +#elif MB(5DPRINT) + #include "pins_5DPRINT.h" +#elif MB(LEAPFROG) + #include "pins_LEAPFROG.h" +#elif MB(99) + #include "pins_99.h" #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 - -#endif // RAMPS_OLD || RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG || K8200 - -/**************************************************************************************** -* Duemilanove w/ ATMega328P pin assignment -* -****************************************************************************************/ -#if MB(DUEMILANOVE_328P) -#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_STOP_PIN 17 - -#define Y_STEP_PIN 10 -#define Y_DIR_PIN 7 -#define Y_ENABLE_PIN -1 -#define Y_STOP_PIN 8 - -#define Z_STEP_PIN 13 -#define Z_DIR_PIN 3 -#define Z_ENABLE_PIN 2 -#define Z_STOP_PIN 4 - -#define E0_STEP_PIN 11 -#define E0_DIR_PIN 12 -#define E0_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 HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#endif // DUEMILANOVE_328P - -/**************************************************************************************** -* Elefu RA Board Pin Assignments -* -****************************************************************************************/ -#if MB(ELEFU_3) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. -#endif - - -#define X_STEP_PIN 49 -#define X_DIR_PIN 13 -#define X_ENABLE_PIN 48 -#define X_MIN_PIN 35 -#define X_MAX_PIN -1 //34 - -#define Y_STEP_PIN 11 -#define Y_DIR_PIN 9 -#define Y_ENABLE_PIN 12 -#define Y_MIN_PIN 33 -#define Y_MAX_PIN -1 //32 - -#define Z_STEP_PIN 7 -#define Z_DIR_PIN 6 -#define Z_ENABLE_PIN 8 -#define Z_MIN_PIN 31 -#define Z_MAX_PIN -1 //30 - -#define E2_STEP_PIN 43 -#define E2_DIR_PIN 47 -#define E2_ENABLE_PIN 42 - -#define E1_STEP_PIN 18 -#define E1_DIR_PIN 19 -#define E1_ENABLE_PIN 38 - -#define E0_STEP_PIN 40 -#define E0_DIR_PIN 41 -#define E0_ENABLE_PIN 37 - -#define SDPOWER -1 -#define LED_PIN -1 //Use +12V Aux port for LED Ring - -#define FAN_PIN 16 //5V PWM - -#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 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 TEMP_0_PIN 3 //ANALOG NUMBERING -#define TEMP_1_PIN 2 //ANALOG NUMBERING -#define TEMP_2_PIN 1 //ANALOG NUMBERING -#define TEMP_BED_PIN 0 //ANALOG NUMBERING - -#define BEEPER 36 - -#define KILL_PIN -1 - -// M240 Triggers a camera by emulating a Canon RC-1 Remote -// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ -#define PHOTOGRAPH_PIN 29 - -#ifdef RA_CONTROL_PANEL - - #define SDSS 53 - #define SDCARDDETECT 28 - - #define BTN_EN1 14 - #define BTN_EN2 39 - #define BTN_ENC 15 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif //RA_CONTROL_PANEL - -#ifdef 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_LIGHTING - - -#endif // ELEFU_3 - - -/**************************************************************************************** -* Gen6 pin assignment -* -****************************************************************************************/ -#if MB(GEN6) || MB(GEN6_DELUXE) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -//x axis pins - #define X_STEP_PIN 15 - #define X_DIR_PIN 18 - #define X_ENABLE_PIN 19 - #define X_STOP_PIN 20 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_STOP_PIN 25 - - //z axis pins - #define Z_STEP_PIN 27 - #define Z_DIR_PIN 28 - #define Z_ENABLE_PIN 29 - #define Z_STOP_PIN 30 - - //extruder pins - #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 - #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 - #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 - - - #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410 - #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #if MB(GEN6) - #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410 - #else - #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410 - #endif - #define SDPOWER -1 - #define SDSS 17 - #define LED_PIN -1 //changed @ rkoeppl 20110410 - #define FAN_PIN -1 //changed @ rkoeppl 20110410 - #define PS_ON_PIN -1 //changed @ rkoeppl 20110410 - #define KILL_PIN -1 //changed @ drakelive 20120830 - //our pin for debugging. - - #define DEBUG_PIN 0 - - //our RS485 pins - #define TX_ENABLE_PIN 12 - #define RX_ENABLE_PIN 13 - -#endif // GEN6 || GEN6_DELUXE - -/**************************************************************************************** -* Sanguinololu pin assignment -* -****************************************************************************************/ -#if MB(STB_11) -#define STB -#endif -#if MB(MELZI) || MB(MELZI_1284) -#define MELZI -#endif -#if MB(AZTEEG_X1) -#define AZTEEG_X1 -#endif -#if MB(SANGUINOLOLU_12) || MB(MELZI) || MB(STB_11) || MB(AZTEEG_X1) || MB(MELZI_1284) -#undef MOTHERBOARD -#define MOTHERBOARD BOARD_SANGUINOLOLU_11 -#define SANGUINOLOLU_V_1_2 - -#if defined(__AVR_ATmega1284P__) - #define LARGE_FLASH true -#endif -#endif - -#if MB(SANGUINOLOLU_11) -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 21 -#define X_STOP_PIN 18 - -#define Y_STEP_PIN 22 -#define Y_DIR_PIN 23 -#define Y_STOP_PIN 19 - -#define Z_STEP_PIN 3 -#define Z_DIR_PIN 2 -#define Z_STOP_PIN 20 - -#define E0_STEP_PIN 1 -#define E0_DIR_PIN 0 - -#define LED_PIN -1 - -#define FAN_PIN -1 - #if FAN_PIN == 12 || FAN_PIN ==13 - #define FAN_SOFT_PWM -#endif - -#ifdef MELZI - #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */ - #define FAN_PIN 4 // Works for Panelolu2 too -#endif - -#ifdef STB - #define FAN_PIN 4 - // Uncomment this if you have the first generation (V1.10) of STBs board - #define LCD_PIN_BL 17 // LCD backlight LED -#endif - -#ifdef AZTEEG_X1 - #define FAN_PIN 4 -#endif - -#ifdef NUM_SERVOS - #define SERVO0_PIN -1 - - #if NUM_SERVOS > 1 - #define SERVO1_PIN -1 - #endif - - #if NUM_SERVOS > 2 - #define SERVO2_PIN -1 - #endif - - #if NUM_SERVOS > 3 - #define SERVO3_PIN -1 - #endif -#endif - -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 // (extruder) -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 - -#ifdef 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 - - #ifdef 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 - -#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define SDPOWER -1 -#define SDSS 31 - -/* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */ -//#define SDSS 24 - - #ifdef ULTRA_LCD - #ifdef NEWPANEL - //we have no buzzer installed - #define BEEPER -1 - //LCD Pins - #ifdef DOGLCD - #ifdef U8GLIB_ST7920 //SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0 - #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 - #define BEEPER 27 // Pin 27 is take by LED_Pin, but Melzi LED do nothing with Marlin and I take this pin for BEEPER.... See here > [github.com] , If you want use this pin with Gcode M42 instead BEEPER - #else - // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 30 - #define DOGLCD_CS 29 - #define LCD_CONTRAST 1 - #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 // standard Hitachi LCD controller - #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 - //The encoder and click button - #define BTN_EN1 11 - #define BTN_EN2 10 - #ifdef LCD_I2C_PANELOLU2 - #ifdef MELZI - #define BTN_ENC 29 //the click switch - #define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board - #else - #define BTN_ENC 30 //the click switch - #endif - #else - #define BTN_ENC 16 //the click switch - #define LCD_SDSS 28 //to use the SD card reader on the smart controller rather than the melzi board - #endif //Panelolu2 - //not connected to a pin - #define SDCARDDETECT -1 - - #endif //Newpanel - #endif //Ultipanel - - #ifdef MAKRPANEL - #define BEEPER 29 - // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 30 - #define DOGLCD_CS 17 - #define LCD_PIN_BL 28 // backlight LED on PA3 - // GLCD features - #define LCD_CONTRAST 1 - // Uncomment screen orientation - #define LCD_SCREEN_ROT_0 - // #define LCD_SCREEN_ROT_90 - // #define LCD_SCREEN_ROT_180 - // #define LCD_SCREEN_ROT_270 - //The encoder and click button - #define BTN_EN1 11 - #define BTN_EN2 10 - #define BTN_ENC 16 //the click switch - //not connected to a pin - #define SDCARDDETECT -1 - #endif //Makrpanel - -#endif // SANGUINOLOLU_11 - - -/***************************************************************** -* Ultimaker pin assignment -******************************************************************/ - -#if MB(ULTIMAKER) -#define KNOWN_BOARD - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define LARGE_FLASH true - -#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_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 3 -#define TEMP_1_PIN 9 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 7 -#define PS_ON_PIN 12 -#define KILL_PIN -1 -#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing. -#define SERVO0_PIN 13 // untested - -#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 SDCARDDETECT 38 - - #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 - - #define SDCARDDETECT -1 - #endif -#endif //ULTRA_LCD - -#endif // ULTIMAKER - -#if MB(ULTIMAKER_OLD) -#define KNOWN_BOARD -/***************************************************************** -* Ultimaker pin assignment (Old electronics) -******************************************************************/ - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_MIN_PIN 15 -#define X_MAX_PIN 14 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_MIN_PIN 17 -#define Y_MAX_PIN 16 -#define Y_ENABLE_PIN 29 - -#define Z_STEP_PIN 37 -#define Z_DIR_PIN 39 -#define Z_MIN_PIN 19 -#define Z_MAX_PIN 18 -#define Z_ENABLE_PIN 35 - -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 1 -#define TEMP_1_PIN 1 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 43 -#define E0_DIR_PIN 45 -#define E0_ENABLE_PIN 41 - -#define E1_STEP_PIN -1 -#define E1_DIR_PIN -1 -#define E1_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. - -#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 - -#endif // ULTIMAKER_OLD - -#if MB(ULTIMAIN_2) -#define KNOWN_BOARD -/***************************************************************** -* Ultiboard v2.0 pin assignment -******************************************************************/ - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_STOP_PIN 22 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 32 -#define Y_DIR_PIN 33 -#define Y_STOP_PIN 26 -#define Y_ENABLE_PIN 31 - -#define Z_STEP_PIN 35 -#define Z_DIR_PIN 36 -#define Z_STOP_PIN 29 -#define Z_ENABLE_PIN 34 - -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 3 -#define TEMP_1_PIN 9 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#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 SDPOWER -1 -#define SDSS 53 -#define LED_PIN 8 -#define FAN_PIN 7 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. -#define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered -#define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider. - -#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 -#define MOTOR_CURRENT_PWM_RANGE 2000 -#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250} - -//arduino pin witch triggers an piezzo beeper -#define BEEPER 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 //the click - -#define BLEN_C 2 -#define BLEN_B 1 -#define BLEN_A 0 - -#define SDCARDDETECT 39 - -#endif // ULTIMAIN_2 - -/**************************************************************************************** -* RUMBA pin assignment -* -****************************************************************************************/ -#if MB(RUMBA) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 17 -#define X_DIR_PIN 16 -#define X_ENABLE_PIN 48 -#define X_MIN_PIN 37 -#define X_MAX_PIN 36 - -#define Y_STEP_PIN 54 -#define Y_DIR_PIN 47 -#define Y_ENABLE_PIN 55 -#define Y_MIN_PIN 35 -#define Y_MAX_PIN 34 - -#define Z_STEP_PIN 57 -#define Z_DIR_PIN 56 -#define Z_ENABLE_PIN 62 -#define Z_MIN_PIN 33 -#define Z_MAX_PIN 32 - -#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 - -#define LED_PIN 13 - -#define FAN_PIN 7 -//additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8 - -#define PS_ON_PIN 45 -#define KILL_PIN 46 - -#if (TEMP_SENSOR_0==0) - #define TEMP_0_PIN -1 - #define HEATER_0_PIN -1 -#else - #define HEATER_0_PIN 2 // EXTRUDER 1 - #if (TEMP_SENSOR_0==-1) - #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used - #else - #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used - #endif -#endif - -#if (TEMP_SENSOR_1==0) - #define TEMP_1_PIN -1 - #define HEATER_1_PIN -1 -#else - #define HEATER_1_PIN 3 // EXTRUDER 2 - #if (TEMP_SENSOR_1==-1) - #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used - #else - #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used - #endif -#endif - -#if (TEMP_SENSOR_2==0) - #define TEMP_2_PIN -1 - #define HEATER_2_PIN -1 -#else - #define HEATER_2_PIN 6 // EXTRUDER 3 - #if (TEMP_SENSOR_2==-1) - #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple - #else - #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used - #endif -#endif - -//optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used -//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4 - -#if (TEMP_SENSOR_BED==0) - #define TEMP_BED_PIN -1 - #define HEATER_BED_PIN -1 -#else - #define HEATER_BED_PIN 9 // BED - #if (TEMP_SENSOR_BED==-1) - #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple - #else - #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used - #endif -#endif - -#define SDPOWER -1 -#define SDSS 53 -#define SDCARDDETECT 49 -#define BEEPER 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 - -#endif // RUMBA - - -/**************************************************************************************** -* Teensylu 0.7 / Printrboard 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 -****************************************************************************************/ -#if MB(TEENSYLU) || MB(PRINTRBOARD) -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. -#error These Teensylu/Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h -#endif - -#define LARGE_FLASH true - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 39 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 38 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 23 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 19 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN 46 -#define HEATER_2_PIN 47 -#define HEATER_BED_PIN 20 // Bed -// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin -// fastio pin numbering otherwise -#ifdef FAN_SOFT_PWM || FAST_PWM_FAN - #define FAN_PIN 22 // Fan -#else - #define FAN_PIN 16 // Fan -#endif - -#if MB(TEENSYLU) // Teensylu - #define X_STOP_PIN 13 - #define Y_STOP_PIN 14 - #define Z_STOP_PIN 15 - #define TEMP_0_PIN 7 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 6 // Bed / Analog pin numbering -#else // Printrboard - #define X_STOP_PIN 35 - #define Y_STOP_PIN 8 - #define Z_STOP_PIN 36 - #define TEMP_0_PIN 1 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 0 // Bed / Analog pin numbering - #ifdef FILAMENT_SENSOR - #define FILWIDTH_PIN 2 - #endif //FILAMENT_SENSOR -#endif - -#define TEMP_1_PIN -1 -#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 - -#if defined(ULTRA_LCD) && defined(NEWPANEL) - //we have no buzzer installed - #define BEEPER -1 - //LCD Pins - #ifdef LCD_I2C_PANELOLU2 - #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 - #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 - #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 - #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) - #endif //LCD_I2C_PANELOLU2 - //not connected to a pin - #define SDCARDDETECT -1 -#endif //Ultipanel && Newpanel - -#endif // TEENSYLU || PRINTRBOARD - -/**************************************************************************************** - * Brainwave 1.0 pin assignments (AT90USB646) - * Requires hardware bundle for Arduino: - https://github.com/unrepentantgeek/brainwave-arduino - ****************************************************************************************/ -#if MB(BRAINWAVE) -#define KNOWN_BOARD 1 -#define AT90USB 646 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB646__ -#error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 27 -#define X_DIR_PIN 29 -#define X_ENABLE_PIN 28 -#define X_STOP_PIN 7 -#define X_ATT_PIN 26 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_ENABLE_PIN 32 -#define Y_STOP_PIN 6 -#define Y_ATT_PIN 30 - -#define Z_STEP_PIN 17 -#define Z_DIR_PIN 19 -#define Z_ENABLE_PIN 18 -#define Z_STOP_PIN 5 -#define Z_ATT_PIN 16 - -#define E0_STEP_PIN 21 -#define E0_DIR_PIN 23 -#define E0_ENABLE_PIN 22 -#define E0_ATT_PIN 20 - -#define HEATER_0_PIN 4 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 38 // Bed -#define FAN_PIN 3 // Fan - -#define TEMP_0_PIN 7 // Extruder / Analog pin numbering -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // Bed / Analog pin numbering - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN 39 -#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 // BRAINWAVE - -// -// SAV Mk-I -// ----------------------------------------------------------------------------------- -/**************************************************************************************** -* SAV MkI pin assignments (AT90USB1286) -* Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE! - http://www.pjrc.com/teensy/teensyduino.html - RepRap Clone Wars project board. -****************************************************************************************/ -#if MB(SAV_MKI) // SAV Mk-I -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 39 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 38 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 23 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 19 - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 20 // Bed -#define FAN_PIN 16 // Fan -- from Teensyduino environment. - // For the fan and Teensyduino uses a different pin mapping. - - #define X_STOP_PIN 13 - #define Y_STOP_PIN 14 - #define Z_STOP_PIN 15 -// #define Z_STOP_PIN 36 // For inductive sensor. - - #define TEMP_0_PIN 7 // Extruder / Analog pin numbering - #define TEMP_BED_PIN 6 // Bed / Analog pin numbering - -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define SDSS 20 // PB0 - 8 in marlin env. -#define LED_PIN -1 -#define PS_ON_PIN -1 -#define ALARM_PIN -1 -#define SDCARDDETECT -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 - -#define BEEPER -1 -#define LCD_PINS_RS -1 -#define LCD_PINS_ENABLE -1 -#define LCD_PINS_D4 -1 -#define LCD_PINS_D5 -1 -#define LCD_PINS_D6 -1 -#define LCD_PINS_D7 -1 - -#ifdef SAV_3DLCD -// For LCD SHIFT register LCD -#define SR_DATA_PIN 1 -#define SR_CLK_PIN 0 - -#define BTN_EN1 41 -#define BTN_EN2 40 -#define BTN_ENC 12 - -#define KILL_PIN 42 // A2 = 42 - teensy = 40 -#define HOME_PIN -1 // A4 = marlin 44 - teensy = 42 - -#ifdef NUM_SERVOS - #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp) -#endif - -#endif - -#endif // SAV_MKI - -/**************************************************************************************** -* 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: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make -* -****************************************************************************************/ -#if MB(TEENSY2) -#define KNOWN_BOARD 1 -#define AT90USB 1286 // Disable MarlinSerial etc. - -#ifndef __AVR_AT90USB1286__ -#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -/* -DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a TeensyBreadboard: - - 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 AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical. - #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config - // or build from command line with: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make -#endif - -#define X_STEP_PIN 28 // 0 Marlin -#define X_DIR_PIN 29 // 1 Marlin -#define X_ENABLE_PIN 26 - -#define Y_STEP_PIN 30 // 2 Marlin -#define Y_DIR_PIN 31 // 3 -#define Y_ENABLE_PIN 26 // Shared w/x - -#define Z_STEP_PIN 32 // 4 -#define Z_DIR_PIN 33 // 5 -#define Z_ENABLE_PIN 26 // Shared w/x - -#define E0_STEP_PIN 34 // 6 -#define E0_DIR_PIN 35 // 7 -#define E0_ENABLE_PIN 26 // Shared w/x - -#define HEATER_0_PIN 15 // 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 14 // 20 // Bed -#define FAN_PIN 16 // 22 // Fan - -#define X_STOP_PIN 2 -#define Y_STOP_PIN 3 -#define Z_STOP_PIN 4 - -#define TEMP_0_PIN 7 // Extruder / Analog pin numbering -#define TEMP_BED_PIN 6 // Bed / Analog pin numbering -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 - -#define SDPOWER -1 -#define SDCARDDETECT -1 -#define SDSS 20 // 8 -#define LED_PIN 6 -#define PS_ON_PIN 27 -#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 21 // 9 - #define MISO_PIN 23 // 11 - #define MOSI_PIN 22 // 10 -#endif - -#ifdef ULTIPANEL -#define LCD_PINS_RS 8 -#define LCD_PINS_ENABLE 9 -#define LCD_PINS_D4 10 -#define LCD_PINS_D5 11 -#define LCD_PINS_D6 12 -#define LCD_PINS_D7 13 -#define BTN_EN1 38 -#define BTN_EN2 39 -#define BTN_ENC 40 -#endif - -#endif // TEENSY2 - - -/**************************************************************************************** -* Gen3+ pin assignment -* -****************************************************************************************/ -#if MB(GEN3_PLUS) -#define MOTHERBOARD BOARD_SANGUINOLOLU_11 /*TODO: Figure out, Why is this done?*/ -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 18 -#define X_STOP_PIN 20 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_STOP_PIN 25 - -#define Z_STEP_PIN 27 -#define Z_DIR_PIN 28 -#define Z_STOP_PIN 30 - -#define E0_STEP_PIN 17 -#define E0_DIR_PIN 21 - -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN 14 -#define KILL_PIN -1 - -#define HEATER_0_PIN 12 // (extruder) - -#define HEATER_BED_PIN 16 // (bed) -#define X_ENABLE_PIN 19 -#define Y_ENABLE_PIN 24 -#define Z_ENABLE_PIN 29 -#define E0_ENABLE_PIN 13 - -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define SDPOWER -1 -#define SDSS 4 -#define HEATER_2_PIN -1 - -#endif // GEN3_PLUS - -/**************************************************************************************** -* Gen3 Monolithic Electronics -* -****************************************************************************************/ -#if MB(GEN3_MONOLITHIC) -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644P__ - #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif - -#define DEBUG_PIN 0 - -// x axis -#define X_STEP_PIN 15 -#define X_DIR_PIN 18 -#define X_MIN_PIN 20 -//Alex Checar #define X_STOP_PIN 20 -#define X_ENABLE_PIN 24 //actually uses Y_enable_pin -#define X_MAX_PIN -1 - -// y axes -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_MIN_PIN 25 -//Alex Checar #define Y_STOP_PIN 25 -#define Y_ENABLE_PIN 24 //shared with X_enable_pin -#define Y_MAX_PIN -1 - -// z axes -#define Z_STEP_PIN 27 -#define Z_DIR_PIN 28 -#define Z_MIN_PIN 30 -//Alex Checar #define Z_STOP_PIN 30 -#define Z_ENABLE_PIN 29 -#define Z_MAX_PIN -1 - -//extruder pins -#define E0_STEP_PIN 12 -#define E0_DIR_PIN 17 -#define E0_ENABLE_PIN 3 - -#define HEATER_0_PIN 16 -#define TEMP_0_PIN 0 - -#define FAN_PIN -1 - -//bed pins -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - - -#define SDSS -1 -#define SDPOWER -1 -#define LED_PIN -1 - -//pin for controlling the PSU. -#define PS_ON_PIN 14 //Alex, Do this work on the card? - -//Alex extras from Gen3+ -#define KILL_PIN -1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define HEATER_2_PIN -1 - -#endif // GEN3_MONOLITHIC - -/**************************************************************************************** -* Open Motion controller with enable based extruders -* -* 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 -* +--------+ -* -****************************************************************************************/ -#if MB(OMCA_A) //Alpha OMCA board -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644__ -#error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 21 -#define X_DIR_PIN 20 -#define X_ENABLE_PIN 24 -#define X_STOP_PIN 0 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_STOP_PIN 1 - -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_STOP_PIN 2 - -#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 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 3 -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 // 12 -#define HEATER_2_PIN -1 // 13 -#define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // 1 -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN -1 // 14/15 -#define TEMP_BED_PIN -1 // 1,2 or I2C -/* 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 // OMCA_A - -#if MB(OMCA) // Final OMCA board -- REF http://sanguino.cc/hardware -#define KNOWN_BOARD 1 - -#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 X_STEP_PIN 26 -#define X_DIR_PIN 25 -#define X_ENABLE_PIN 10 -#define X_STOP_PIN 0 - -#define Y_STEP_PIN 28 -#define Y_DIR_PIN 27 -#define Y_ENABLE_PIN 10 -#define Y_STOP_PIN 1 - -#define Z_STEP_PIN 23 -#define Z_DIR_PIN 22 -#define Z_ENABLE_PIN 10 -#define Z_STOP_PIN 2 - -#define E0_STEP_PIN 24 -#define E0_DIR_PIN 21 -#define E0_ENABLE_PIN 10 - -/* future proofing */ -#define __FS 20 -#define __FD 19 -#define __GS 18 -#define __GD 13 - -#define UNUSED_PWM 14 /* PWM on LEFT connector */ - -#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 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 14 /* PWM on MIDDLE connector */ -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 3 /*DONE PWM on RIGHT connector */ -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING -#define TEMP_1_PIN 1 // ANALOG -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 2 // 1,2 or I2C - -#define I2C_SCL 16 -#define I2C_SDA 17 - -#endif // OMCA - -/***************************************************************** -* Rambo Pin Assignments -******************************************************************/ -#if MB(RAMBO) -#define KNOWN_BOARD -#ifndef __AVR_ATmega2560__ -#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. -#endif - -#define LARGE_FLASH true - -// servo support -#ifdef NUM_SERVOS - #define SERVO0_PIN 22 //motor header MX1 - #if NUM_SERVOS > 1 - #define SERVO1_PIN 23 //Motor header MX2 - #endif - #if NUM_SERVOS > 2 - #define SERVO2_PIN 24 //Motor header MX3 - #endif - #if NUM_SERVOS > 3 - #define SERVO2_PIN 5 //pwm header pin 5 - #endif -#endif - -#define X_STEP_PIN 37 -#define X_DIR_PIN 48 -#define X_MIN_PIN 12 -#define X_MAX_PIN 24 -#define X_ENABLE_PIN 29 -#define X_MS1_PIN 40 -#define X_MS2_PIN 41 - -#define Y_STEP_PIN 36 -#define Y_DIR_PIN 49 -#define Y_MIN_PIN 11 -#define Y_MAX_PIN 23 -#define Y_ENABLE_PIN 28 -#define Y_MS1_PIN 69 -#define Y_MS2_PIN 39 - -#define Z_STEP_PIN 35 -#define Z_DIR_PIN 47 -#define Z_MIN_PIN 10 -#define Z_MAX_PIN 30 -#define Z_ENABLE_PIN 27 -#define Z_MS1_PIN 68 -#define Z_MS2_PIN 67 - -#define HEATER_BED_PIN 3 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 9 -#define TEMP_0_PIN 0 - -#define HEATER_1_PIN 7 -#define TEMP_1_PIN 1 - -#ifdef BARICUDA -#define HEATER_2_PIN 6 -#else -#define HEATER_2_PIN -1 -#endif -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 34 -#define E0_DIR_PIN 43 -#define E0_ENABLE_PIN 26 -#define E0_MS1_PIN 65 -#define E0_MS2_PIN 66 - -#define E1_STEP_PIN 33 -#define E1_DIR_PIN 42 -#define E1_ENABLE_PIN 25 -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 8 -/********************************************************** -Fan Pins -Fan_0 8 -Fan_1 6 -Fan_2 2 -***********************************************************/ -#define PS_ON_PIN 4 -#define KILL_PIN -1 //80 with Smart Controller LCD -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. - -#ifdef ULTRA_LCD - #define KILL_PIN 80 - #ifdef NEWPANEL - //arduino pin which triggers an piezzo beeper - #define BEEPER 79 // Beeper on AUX-4 - #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 - - //buttons are directly attached using AUX-2 - #define BTN_EN1 76 - #define BTN_EN2 77 - #define BTN_ENC 78 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT 81 // Ramps does not use this port - - //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 33 No Beeper added - //buttons are attached to a shift register - // Not wired this 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 - - //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 - -#ifdef FILAMENT_SENSOR - //Filip added pin for Filament sensor analog input - #define FILWIDTH_PIN 3 -#endif //FILAMENT_SENSOR - -#endif // RAMBO - -/**************************************************************************************** -* MegaTronics -* -****************************************************************************************/ -#if MB(MEGATRONICS) -#define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - -#define LARGE_FLASH true - -#define X_STEP_PIN 26 -#define X_DIR_PIN 28 -#define X_ENABLE_PIN 24 -#define X_MIN_PIN 41 -#define X_MAX_PIN 37 - -#define Y_STEP_PIN 60 // A6 -#define Y_DIR_PIN 61 // A7 -#define Y_ENABLE_PIN 22 -#define Y_MIN_PIN 14 -#define Y_MAX_PIN 15 - -#define Z_STEP_PIN 54 // A0 -#define Z_DIR_PIN 55 // A1 -#define Z_ENABLE_PIN 56 // A2 -#define Z_MIN_PIN 18 -#define Z_MAX_PIN 19 - -#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 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 - - -#define FAN_PIN 7 // IO pin. Buffer needed -#define PS_ON_PIN 12 -#define KILL_PIN -1 - -#define HEATER_0_PIN 9 // EXTRUDER 1 -#define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter) -#define HEATER_2_PIN -1 - -#if TEMP_SENSOR_0 == -1 -#define TEMP_0_PIN 8 // ANALOG NUMBERING -#else -#define TEMP_0_PIN 13 // ANALOG NUMBERING - -#endif - -#define TEMP_1_PIN 15 // ANALOG NUMBERING -#define TEMP_2_PIN -1 // ANALOG NUMBERING -#define HEATER_BED_PIN 10 // BED -#define TEMP_BED_PIN 14 // ANALOG NUMBERING - -#define BEEPER 33 // Beeper on AUX-4 - - -#ifdef ULTRA_LCD - - #ifdef NEWPANEL - //arduino pin which triggers an piezzo beeper - - #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 are directly attached using AUX-2 - #define BTN_EN1 59 - #define BTN_EN2 64 - #define BTN_ENC 43 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Ramps does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 -#endif -#endif //ULTRA_LCD - -#endif // MEGATRONICS - -/**************************************************************************************** -* MegaTronics v2.0 -* -****************************************************************************************/ -#if MB(MEGATRONICS_2) - #define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - #define X_STEP_PIN 26 - #define X_DIR_PIN 27 - #define X_ENABLE_PIN 25 - #define X_MIN_PIN 37 - #define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. - - #define Y_STEP_PIN 4 // A6 - #define Y_DIR_PIN 54 // A0 - #define Y_ENABLE_PIN 5 - #define Y_MIN_PIN 41 - #define Y_MAX_PIN 38 //15 - - #define Z_STEP_PIN 56 // A2 - #define Z_DIR_PIN 60 // A6 - #define Z_ENABLE_PIN 55 // A1 - #define Z_MIN_PIN 18 - #define Z_MAX_PIN 19 - - #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 - #define E2_DIR_PIN 24 - #define E2_ENABLE_PIN 22 - - #define SDPOWER -1 - #define SDSS 53 - #define LED_PIN 13 - - #define FAN_PIN 7 - #define FAN2_PIN 6 - #define PS_ON_PIN 12 - #define KILL_PIN -1 - - #define HEATER_0_PIN 9 // EXTRUDER 1 - #define HEATER_1_PIN 8 // EXTRUDER 2 - #define HEATER_2_PIN -1 - - #if TEMP_SENSOR_0 == -1 - #define TEMP_0_PIN 4 // ANALOG NUMBERING - #else - #define TEMP_0_PIN 13 // ANALOG NUMBERING - #endif - - - #if TEMP_SENSOR_1 == -1 - #define TEMP_1_PIN 8 // ANALOG NUMBERING - #else - #define TEMP_1_PIN 15 // ANALOG NUMBERING - #endif - - #define TEMP_2_PIN -1 // ANALOG NUMBERING - - #define HEATER_BED_PIN 10 // BED - - #if TEMP_SENSOR_BED == -1 - #define TEMP_BED_PIN 8 // ANALOG NUMBERING - #else - #define TEMP_BED_PIN 14 // ANALOG NUMBERING - #endif - - #define BEEPER 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 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Megatronics does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // MEGATRONICS_2 - - -/**************************************************************************************** -* Minitronics v1.0 -* -****************************************************************************************/ -#if MB(MEGATRONICS_1) - #define KNOWN_BOARD 1 - - - #ifndef __AVR_ATmega1281__ - #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - #define X_STEP_PIN 48 - #define X_DIR_PIN 47 - #define X_ENABLE_PIN 49 - #define X_MIN_PIN 5 - #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - - #define Y_STEP_PIN 39 // A6 - #define Y_DIR_PIN 40 // A0 - #define Y_ENABLE_PIN 38 - #define Y_MIN_PIN 2 - #define Y_MAX_PIN -1 //15 - - #define Z_STEP_PIN 42 // A2 - #define Z_DIR_PIN 43 // A6 - #define Z_ENABLE_PIN 41 // A1 - #define Z_MIN_PIN 6 - #define Z_MAX_PIN -1 - - #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 - - #define E2_STEP_PIN -1 - #define E2_DIR_PIN -1 - #define E2_ENABLE_PIN -1 - - #define SDPOWER -1 - #define SDSS 16 - #define LED_PIN 46 - - #define FAN_PIN 9 - #define FAN2_PIN -1 - #define PS_ON_PIN -1 - #define KILL_PIN -1 - - #define HEATER_0_PIN 7 // EXTRUDER 1 - #define HEATER_1_PIN 8 // EXTRUDER 2 - #define HEATER_2_PIN -1 - - - #define TEMP_0_PIN 7 // ANALOG NUMBERING - #define TEMP_1_PIN 6 // ANALOG NUMBERING - #define TEMP_2_PIN -1 // ANALOG NUMBERING - - #define HEATER_BED_PIN 3 // BED - #define TEMP_BED_PIN 6 // ANALOG NUMBERING - - #define BEEPER -1 - - - #define LCD_PINS_RS -1 - #define LCD_PINS_ENABLE -1 - #define LCD_PINS_D4 -1 - #define LCD_PINS_D5 -1 - #define LCD_PINS_D6 -1 - #define LCD_PINS_D7 -1 - - - //buttons are directly attached using keypad - #define BTN_EN1 -1 - #define BTN_EN2 -1 - #define BTN_ENC -1 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Megatronics does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // MEGATRONICS_1 - -/**************************************************************************************** -* Cheaptronic v1.0 -* -****************************************************************************************/ -#if MB(CHEAPTRONIC) - #define KNOWN_BOARD 1 - - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif - - #define LARGE_FLASH true - - //X motor stepper - #define X_STEP_PIN 14 - #define X_DIR_PIN 15 - #define X_ENABLE_PIN 24 - - //X endstop - #define X_MIN_PIN 3 - #define X_MAX_PIN -1 - - //Y motor stepper - #define Y_STEP_PIN 35 - #define Y_DIR_PIN 36 - #define Y_ENABLE_PIN 31 - - //Y endstop - #define Y_MIN_PIN 2 - #define Y_MAX_PIN -1 - - //Z motor stepper - #define Z_STEP_PIN 40 - #define Z_DIR_PIN 41 - #define Z_ENABLE_PIN 37 - - //Z endstop - #define Z_MIN_PIN 5 - #define Z_MAX_PIN -1 - - //Extruder 0 stepper - #define E0_STEP_PIN 26 - #define E0_DIR_PIN 28 - #define E0_ENABLE_PIN 25 - - //Extruder 1 stepper - #define E1_STEP_PIN 33 - #define E1_DIR_PIN 34 - #define E1_ENABLE_PIN 30 - - #define SDPOWER -1 - #define SDSS -1 - #define LED_PIN -1 - - //FAN - #define FAN_PIN -1 - - #define PS_ON_PIN -1 - #define KILL_PIN -1 - - #define HEATER_0_PIN 19 // EXTRUDER 1 - #define HEATER_1_PIN 23 // EXTRUDER 2 - //HeatedBad - #define HEATER_BED_PIN 22 - //Cheaptronic v1.0 hasent EXTRUDER 3 - #define HEATER_2_PIN -1 - - //Temperature sensors - #define TEMP_0_PIN 15 - #define TEMP_1_PIN 14 - #define TEMP_2_PIN -1 - #define TEMP_BED_PIN 13 - - //Cheaptronic v1.0 dont support LCD - #define LCD_PINS_RS -1 - #define LCD_PINS_ENABLE -1 - #define LCD_PINS_D4 -1 - #define LCD_PINS_D5 -1 - #define LCD_PINS_D6 -1 - #define LCD_PINS_D7 -1 - - //Cheaptronic v1.0 dont support keypad - #define BTN_EN1 -1 - #define BTN_EN2 -1 - #define BTN_ENC -1 - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - //Cheaptronic v1.0 does not use this port - #define SDCARDDETECT -1 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - -#endif // CHEAPTRONIC - - -#ifndef HEATER_3_PIN - #define HEATER_3_PIN -1 -#endif -#ifndef TEMP_3_PIN - #define TEMP_3_PIN -1 -#endif - -#ifndef KNOWN_BOARD -#error Unknown MOTHERBOARD value in configuration.h + #error Unknown MOTHERBOARD value set 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! @@ -3007,15 +163,15 @@ Fan_2 2 #endif #ifdef DISABLE_MAX_ENDSTOPS -#define X_MAX_PIN -1 -#define Y_MAX_PIN -1 -#define Z_MAX_PIN -1 + #define X_MAX_PIN -1 + #define Y_MAX_PIN -1 + #define Z_MAX_PIN -1 #endif #ifdef DISABLE_MIN_ENDSTOPS -#define X_MIN_PIN -1 -#define Y_MIN_PIN -1 -#define Z_MIN_PIN -1 + #define X_MIN_PIN -1 + #define Y_MIN_PIN -1 + #define Z_MIN_PIN -1 #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, PS_ON_PIN, \ diff --git a/Marlin/pins_3DRAG.h b/Marlin/pins_3DRAG.h new file mode 100644 index 0000000000..942a0ba3ea --- /dev/null +++ b/Marlin/pins_3DRAG.h @@ -0,0 +1,39 @@ +/** + * 3DRAG (and K8200) Arduino Mega with RAMPS v1.3 pin assignments + */ + +#include "pins_RAMPS_13.h" + +#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_MAX_PIN -1 //15 + +#define Z_MAX_PIN -1 + +#define SDSS 25//53 + +#define BEEPER 33 + +#define FAN_PIN 8 + +#define HEATER_0_PIN 10 +#define HEATER_1_PIN 12 +#define HEATER_2_PIN 6 + +#define HEATER_BED_PIN 9 // BED + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + #define BEEPER -1 + + #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 + #define BTN_EN1 16 + #define BTN_EN2 17 + #define BTN_ENC 23 //the click +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_5DPRINT.h b/Marlin/pins_5DPRINT.h new file mode 100644 index 0000000000..20e69ef36f --- /dev/null +++ b/Marlin/pins_5DPRINT.h @@ -0,0 +1,75 @@ +/** + * 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' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 23 +#define X_STOP_PIN 37 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 19 +#define Y_STOP_PIN 36 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 18 +#define Z_STOP_PIN 39 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 17 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 20 // Bed +// You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h +// for the fan and Teensyduino uses a different pin mapping. +#define FAN_PIN 16 // Fan + +#define TEMP_0_PIN 1 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 0 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define LED_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define ALARM_PIN -1 + +// The SDSS pin uses a different pin mapping from file Sd2PinMap.h +#define SDSS 20 + +#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 + +// Microstepping pins +// Note that the pin mapping is not from fastio.h +// See Sd2PinMap.h for the pin configurations +#define X_MS1_PIN 25 +#define X_MS2_PIN 26 +#define Y_MS1_PIN 9 +#define Y_MS2_PIN 8 +#define Z_MS1_PIN 7 +#define Z_MS2_PIN 6 +#define E0_MS1_PIN 5 +#define E0_MS2_PIN 4 + diff --git a/Marlin/pins_99.h b/Marlin/pins_99.h new file mode 100644 index 0000000000..54197f05a0 --- /dev/null +++ b/Marlin/pins_99.h @@ -0,0 +1,38 @@ +/** + * Board 99 pin assignments + */ + +#define X_STEP_PIN 2 +#define X_DIR_PIN 3 +#define X_ENABLE_PIN -1 +#define X_STOP_PIN 16 + +#define Y_STEP_PIN 5 +#define Y_DIR_PIN 6 +#define Y_ENABLE_PIN -1 +#define Y_STOP_PIN 67 + +#define Z_STEP_PIN 62 +#define Z_DIR_PIN 63 +#define Z_ENABLE_PIN -1 +#define Z_STOP_PIN 59 + +#define E0_STEP_PIN 65 +#define E0_DIR_PIN 66 +#define E0_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN -1 +#define FAN_PIN -1 +#define PS_ON_PIN 9 +#define KILL_PIN -1 + +#define HEATER_0_PIN 13 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 10 diff --git a/Marlin/pins_AZTEEG_X1.h b/Marlin/pins_AZTEEG_X1.h new file mode 100644 index 0000000000..97a8c3e0be --- /dev/null +++ b/Marlin/pins_AZTEEG_X1.h @@ -0,0 +1,7 @@ +/** + * Azteeg X1 pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_AZTEEG_X3.h b/Marlin/pins_AZTEEG_X3.h new file mode 100644 index 0000000000..573f126aca --- /dev/null +++ b/Marlin/pins_AZTEEG_X3.h @@ -0,0 +1,15 @@ +/** + * Arduino Mega pin assignments + * + * RAMPS_OLD + * RAMPS_13_EFB + * RAMPS_13_EEB + * RAMPS_13_EFF + * RAMPS_13_EEF + * 3DRAG + * K8200 + * AZTEEG_X3 + * AZTEEG_X3_PRO + */ + +#include "pins_RAMPS_13.h" diff --git a/Marlin/pins_AZTEEG_X3_PRO.h b/Marlin/pins_AZTEEG_X3_PRO.h new file mode 100644 index 0000000000..ddb055ad91 --- /dev/null +++ b/Marlin/pins_AZTEEG_X3_PRO.h @@ -0,0 +1,30 @@ +/** + * AZTEEG_X3_PRO (Arduino Mega) pin assignments + */ + +#include "pins_RAMPS_13.h" + +#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 + +#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 + +#define TEMP_2_PIN 12 // ANALOG NUMBERING +#define TEMP_3_PIN 11 // ANALOG NUMBERING +#define TEMP_4_PIN 10 // ANALOG NUMBERING +#define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro +#define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro diff --git a/Marlin/pins_BRAINWAVE.h b/Marlin/pins_BRAINWAVE.h new file mode 100644 index 0000000000..3e2b1cf13d --- /dev/null +++ b/Marlin/pins_BRAINWAVE.h @@ -0,0 +1,61 @@ +/** + * Brainwave 1.0 pin assignments (AT90USB646) + * + * Requires hardware bundle for Arduino: + * https://github.com/unrepentantgeek/brainwave-arduino + */ + +#ifndef __AVR_AT90USB646__ + #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 646 // Disable MarlinSerial etc. + +#define X_STEP_PIN 27 +#define X_DIR_PIN 29 +#define X_ENABLE_PIN 28 +#define X_STOP_PIN 7 +#define X_ATT_PIN 26 + +#define Y_STEP_PIN 31 +#define Y_DIR_PIN 33 +#define Y_ENABLE_PIN 32 +#define Y_STOP_PIN 6 +#define Y_ATT_PIN 30 + +#define Z_STEP_PIN 17 +#define Z_DIR_PIN 19 +#define Z_ENABLE_PIN 18 +#define Z_STOP_PIN 5 +#define Z_ATT_PIN 16 + +#define E0_STEP_PIN 21 +#define E0_DIR_PIN 23 +#define E0_ENABLE_PIN 22 +#define E0_ATT_PIN 20 + +#define HEATER_0_PIN 4 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 38 // Bed +#define FAN_PIN 3 // Fan + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN 39 +#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 + diff --git a/Marlin/pins_CHEAPTRONIC.h b/Marlin/pins_CHEAPTRONIC.h new file mode 100644 index 0000000000..440a93cd95 --- /dev/null +++ b/Marlin/pins_CHEAPTRONIC.h @@ -0,0 +1,95 @@ +/** + * Cheaptronic v1.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +// X motor stepper +#define X_STEP_PIN 14 +#define X_DIR_PIN 15 +#define X_ENABLE_PIN 24 + +// X endstop +#define X_MIN_PIN 3 +#define X_MAX_PIN -1 + +// Y motor stepper +#define Y_STEP_PIN 35 +#define Y_DIR_PIN 36 +#define Y_ENABLE_PIN 31 + +// Y endstop +#define Y_MIN_PIN 2 +#define Y_MAX_PIN -1 + +// Z motor stepper +#define Z_STEP_PIN 40 +#define Z_DIR_PIN 41 +#define Z_ENABLE_PIN 37 + +// Z endstop +#define Z_MIN_PIN 5 +#define Z_MAX_PIN -1 + +// Extruder 0 stepper +#define E0_STEP_PIN 26 +#define E0_DIR_PIN 28 +#define E0_ENABLE_PIN 25 + +// Extruder 1 stepper +#define E1_STEP_PIN 33 +#define E1_DIR_PIN 34 +#define E1_ENABLE_PIN 30 + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN -1 + +// FAN +#define FAN_PIN -1 + +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 19 // EXTRUDER 1 +#define HEATER_1_PIN 23 // EXTRUDER 2 +// HeatedBad +#define HEATER_BED_PIN 22 +// Cheaptronic v1.0 hasent EXTRUDER 3 +#define HEATER_2_PIN -1 + +// Temperature sensors +#define TEMP_0_PIN 15 +#define TEMP_1_PIN 14 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 13 + +// Cheaptronic v1.0 doesn't support LCD +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + +// Cheaptronic v1.0 doesn't support keypad +#define BTN_EN1 -1 +#define BTN_EN2 -1 +#define BTN_ENC -1 + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +// Cheaptronic v1.0 does not use this port +#define SDCARDDETECT -1 + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_DUEMILANOVE_328P.h b/Marlin/pins_DUEMILANOVE_328P.h new file mode 100644 index 0000000000..9e47055849 --- /dev/null +++ b/Marlin/pins_DUEMILANOVE_328P.h @@ -0,0 +1,43 @@ +/** + * Duemilanove w/ ATMega328P pin assignments + */ + +#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_STOP_PIN 17 + +#define Y_STEP_PIN 10 +#define Y_DIR_PIN 7 +#define Y_ENABLE_PIN -1 +#define Y_STOP_PIN 8 + +#define Z_STEP_PIN 13 +#define Z_DIR_PIN 3 +#define Z_ENABLE_PIN 2 +#define Z_STOP_PIN 4 + +#define E0_STEP_PIN 11 +#define E0_DIR_PIN 12 +#define E0_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 HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + diff --git a/Marlin/pins_ELEFU_3.h b/Marlin/pins_ELEFU_3.h new file mode 100644 index 0000000000..b201a1306c --- /dev/null +++ b/Marlin/pins_ELEFU_3.h @@ -0,0 +1,116 @@ +/** + * Elefu RA Board Pin Assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 49 +#define X_DIR_PIN 13 +#define X_ENABLE_PIN 48 +#define X_MIN_PIN 35 +#define X_MAX_PIN -1 //34 + +#define Y_STEP_PIN 11 +#define Y_DIR_PIN 9 +#define Y_ENABLE_PIN 12 +#define Y_MIN_PIN 33 +#define Y_MAX_PIN -1 //32 + +#define Z_STEP_PIN 7 +#define Z_DIR_PIN 6 +#define Z_ENABLE_PIN 8 +#define Z_MIN_PIN 31 +#define Z_MAX_PIN -1 //30 + +#define E2_STEP_PIN 43 +#define E2_DIR_PIN 47 +#define E2_ENABLE_PIN 42 + +#define E1_STEP_PIN 18 +#define E1_DIR_PIN 19 +#define E1_ENABLE_PIN 38 + +#define E0_STEP_PIN 40 +#define E0_DIR_PIN 41 +#define E0_ENABLE_PIN 37 + +#define SDPOWER -1 +#define LED_PIN -1 //Use +12V Aux port for LED Ring + +#define FAN_PIN 16 //5V PWM + +#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 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 TEMP_0_PIN 3 //ANALOG NUMBERING +#define TEMP_1_PIN 2 //ANALOG NUMBERING +#define TEMP_2_PIN 1 //ANALOG NUMBERING +#define TEMP_BED_PIN 0 //ANALOG NUMBERING + +#define BEEPER 36 + +#define KILL_PIN -1 + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +#define PHOTOGRAPH_PIN 29 + +#ifdef RA_CONTROL_PANEL + + #define SDSS 53 + #define SDCARDDETECT 28 + + #define BTN_EN1 14 + #define BTN_EN2 39 + #define BTN_ENC 15 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + +#endif // RA_CONTROL_PANEL + +#ifdef 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 diff --git a/Marlin/pins_GEN3_MONOLITHIC.h b/Marlin/pins_GEN3_MONOLITHIC.h new file mode 100644 index 0000000000..17a76883b2 --- /dev/null +++ b/Marlin/pins_GEN3_MONOLITHIC.h @@ -0,0 +1,61 @@ +/** + * Gen3 Monolithic Electronics pin assignments + */ + +#ifndef __AVR_ATmega644P__ + #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. +#endif + +#define DEBUG_PIN 0 + +// x axis +#define X_STEP_PIN 15 +#define X_DIR_PIN 18 +#define X_MIN_PIN 20 +// Alex Checar #define X_STOP_PIN 20 +#define X_ENABLE_PIN 24 // actually uses Y_enable_pin +#define X_MAX_PIN -1 + +// y axis +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_MIN_PIN 25 +// Alex Checar #define Y_STOP_PIN 25 +#define Y_ENABLE_PIN 24 // shared with X_enable_pin +#define Y_MAX_PIN -1 + +// z axis +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_MIN_PIN 30 +// Alex Checar #define Z_STOP_PIN 30 +#define Z_ENABLE_PIN 29 +#define Z_MAX_PIN -1 + +// extruder pins +#define E0_STEP_PIN 12 +#define E0_DIR_PIN 17 +#define E0_ENABLE_PIN 3 + +#define HEATER_0_PIN 16 +#define TEMP_0_PIN 0 + +#define FAN_PIN -1 + +// bed pins +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + + +#define SDSS -1 +#define SDPOWER -1 +#define LED_PIN -1 + +// pin for controlling the PSU. +#define PS_ON_PIN 14 // Alex, Do this work on the card? + +// Alex extras from Gen3+ +#define KILL_PIN -1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define HEATER_2_PIN -1 diff --git a/Marlin/pins_GEN3_PLUS.h b/Marlin/pins_GEN3_PLUS.h new file mode 100644 index 0000000000..4d216bb8cf --- /dev/null +++ b/Marlin/pins_GEN3_PLUS.h @@ -0,0 +1,45 @@ +/** + * Gen3+ pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) + #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_STOP_PIN 20 + +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_STOP_PIN 25 + +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_STOP_PIN 30 + +#define E0_STEP_PIN 17 +#define E0_DIR_PIN 21 + +#define LED_PIN -1 + +#define FAN_PIN -1 + +#define PS_ON_PIN 14 +#define KILL_PIN -1 + +#define HEATER_0_PIN 12 // (extruder) + +#define HEATER_BED_PIN 16 // (bed) +#define X_ENABLE_PIN 19 +#define Y_ENABLE_PIN 24 +#define Z_ENABLE_PIN 29 +#define E0_ENABLE_PIN 13 + +#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) +#define SDPOWER -1 +#define SDSS 4 +#define HEATER_2_PIN -1 diff --git a/Marlin/pins_GEN6.h b/Marlin/pins_GEN6.h new file mode 100644 index 0000000000..ebbf3237c7 --- /dev/null +++ b/Marlin/pins_GEN6.h @@ -0,0 +1,62 @@ +/** + * Gen6 pin assignments + */ + +#ifndef __AVR_ATmega644P__ + #ifndef __AVR_ATmega1284P__ + #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. + #endif +#endif + +//x axis pins +#define X_STEP_PIN 15 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 19 +#define X_STOP_PIN 20 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 25 + +//z axis pins +#define Z_STEP_PIN 27 +#define Z_DIR_PIN 28 +#define Z_ENABLE_PIN 29 +#define Z_STOP_PIN 30 + +//extruder pins +#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 +#define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 +#define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 + + +#define TEMP_2_PIN -1 //changed @ rkoeppl 20110410 +#define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 + +#if MB(GEN6) + #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410 + #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410 +#else + #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410 + #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410 +#endif + +#define SDPOWER -1 +#define SDSS 17 +#define LED_PIN -1 //changed @ rkoeppl 20110410 +#define FAN_PIN -1 //changed @ rkoeppl 20110410 +#define PS_ON_PIN -1 //changed @ rkoeppl 20110410 +#define KILL_PIN -1 //changed @ drakelive 20120830 +//our pin for debugging. + +#define DEBUG_PIN 0 + +//our RS485 pins +#define TX_ENABLE_PIN 12 +#define RX_ENABLE_PIN 13 diff --git a/Marlin/pins_GEN6_DELUXE.h b/Marlin/pins_GEN6_DELUXE.h new file mode 100644 index 0000000000..c1ffc3801b --- /dev/null +++ b/Marlin/pins_GEN6_DELUXE.h @@ -0,0 +1,5 @@ +/** + * Gen6 Deluxe pin assignments + */ + +#include "pins_GEN6.h" diff --git a/Marlin/pins_GEN7_12.h b/Marlin/pins_GEN7_12.h new file mode 100644 index 0000000000..719ef9d6b7 --- /dev/null +++ b/Marlin/pins_GEN7_12.h @@ -0,0 +1,72 @@ +/** + * Gen7 v1.1, v1.2, v1.3 pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +#ifndef GEN7_VERSION + #define GEN7_VERSION 12 // v1.x +#endif + +//x axis pins +#define X_STEP_PIN 19 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 7 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 5 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_MIN_PIN 1 +#define Z_MAX_PIN 0 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#if (GEN7_VERSION >= 13) + // Gen7 v1.3 removed the fan pin + #define FAN_PIN -1 +#else + #define FAN_PIN 31 +#endif + +#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 + diff --git a/Marlin/pins_GEN7_13.h b/Marlin/pins_GEN7_13.h new file mode 100644 index 0000000000..4acca7566e --- /dev/null +++ b/Marlin/pins_GEN7_13.h @@ -0,0 +1,8 @@ +/** + * Gen7 v1.3 pin assignments + */ + +#define MOTHERBOARD BOARD_GEN7_12 +#define GEN7_VERSION 13 // v1.3 + +#include "pins_GEN7_12.h" diff --git a/Marlin/pins_GEN7_14.h b/Marlin/pins_GEN7_14.h new file mode 100644 index 0000000000..292e890030 --- /dev/null +++ b/Marlin/pins_GEN7_14.h @@ -0,0 +1,60 @@ +/** + * Gen7 v1.4 pin assignments + */ + +#define GEN7_VERSION 14 // v1.4 + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +//x axis pins +#define X_STEP_PIN 29 +#define X_DIR_PIN 28 +#define X_ENABLE_PIN 25 +#define X_STOP_PIN 0 + +//y axis pins +#define Y_STEP_PIN 27 +#define Y_DIR_PIN 26 +#define Y_ENABLE_PIN 25 +#define Y_STOP_PIN 1 + +//z axis pins +#define Z_STEP_PIN 23 +#define Z_DIR_PIN 22 +#define Z_ENABLE_PIN 25 +#define Z_STOP_PIN 2 + +//extruder pins +#define E0_STEP_PIN 19 +#define E0_DIR_PIN 18 +#define E0_ENABLE_PIN 25 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 0 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#define FAN_PIN -1 + +#define PS_ON_PIN 15 + +//our pin for debugging. +#define DEBUG_PIN 0 + +//our RS485 pins +#define TX_ENABLE_PIN 12 +#define RX_ENABLE_PIN 13 + diff --git a/Marlin/pins_GEN7_CUSTOM.h b/Marlin/pins_GEN7_CUSTOM.h new file mode 100644 index 0000000000..a8626ecefa --- /dev/null +++ b/Marlin/pins_GEN7_CUSTOM.h @@ -0,0 +1,76 @@ +/** + * 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. + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. +#endif + +//x axis pins +#define X_STEP_PIN 21 // different from standard GEN7 +#define X_DIR_PIN 20 // different from standard GEN7 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 0 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 1 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_STOP_PIN 2 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 2 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 // (bed) + +#define SDPOWER -1 +#define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support +#define LED_PIN -1 + +#define FAN_PIN -1 +#define PS_ON_PIN 19 +//our pin for debugging. + +#define DEBUG_PIN -1 + +//our RS485 pins +//#define TX_ENABLE_PIN 12 +//#define RX_ENABLE_PIN 13 + +#define BEEPER -1 +#define SDCARDDETECT -1 +#define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work + +#define KILL_PIN -1 +//Pins for 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 //the click + diff --git a/Marlin/pins_K8200.h b/Marlin/pins_K8200.h new file mode 100644 index 0000000000..1d34547ad2 --- /dev/null +++ b/Marlin/pins_K8200.h @@ -0,0 +1,6 @@ +/** + * K8200 Arduino Mega with RAMPS v1.3 pin assignments + * Identical to 3DRAG + */ + +#include "pins_3DRAG.h" diff --git a/Marlin/pins_LEAPFROG.h b/Marlin/pins_LEAPFROG.h new file mode 100644 index 0000000000..5dd6654c1c --- /dev/null +++ b/Marlin/pins_LEAPFROG.h @@ -0,0 +1,62 @@ +/** + * 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 X_STEP_PIN 28 +#define X_DIR_PIN 63 +#define X_ENABLE_PIN 29 +#define X_MIN_PIN 47 +#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 14 // A6 +#define Y_DIR_PIN 15 // A0 +#define Y_ENABLE_PIN 39 +#define Y_MIN_PIN 48 +#define Y_MAX_PIN -1 //15 + +#define Z_STEP_PIN 31 // A2 +#define Z_DIR_PIN 32 // A6 +#define Z_ENABLE_PIN 30 // A1 +#define Z_MIN_PIN 49 +#define Z_MAX_PIN -1 + +#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 + +#define Y2_STEP_PIN 37 +#define Y2_DIR_PIN 40 +#define Y2_ENABLE_PIN 36 + +#define Z2_STEP_PIN 37 +#define Z2_DIR_PIN 40 +#define Z2_ENABLE_PIN 36 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN 13 +#define FAN_PIN 7 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SOL1_PIN 16 +#define SOL2_PIN 17 + +#define HEATER_0_PIN 9 +#define HEATER_1_PIN 8 // 12 +#define HEATER_2_PIN 11 //-1 // 13 +#define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN 15 // 1 +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN 10 // 14/15 +#define TEMP_BED_PIN 14 // 1,2 or I2C +/* 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) */ + diff --git a/Marlin/pins_MEGATRONICS.h b/Marlin/pins_MEGATRONICS.h new file mode 100644 index 0000000000..2bd0e33eb6 --- /dev/null +++ b/Marlin/pins_MEGATRONICS.h @@ -0,0 +1,92 @@ +/** + * MegaTronics pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 28 +#define X_ENABLE_PIN 24 +#define X_MIN_PIN 41 +#define X_MAX_PIN 37 + +#define Y_STEP_PIN 60 // A6 +#define Y_DIR_PIN 61 // A7 +#define Y_ENABLE_PIN 22 +#define Y_MIN_PIN 14 +#define Y_MAX_PIN 15 + +#define Z_STEP_PIN 54 // A0 +#define Z_DIR_PIN 55 // A1 +#define Z_ENABLE_PIN 56 // A2 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + + +#define FAN_PIN 7 // IO pin. Buffer needed +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter) +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 +#define TEMP_0_PIN 8 // ANALOG NUMBERING +#else +#define TEMP_0_PIN 13 // ANALOG NUMBERING + +#endif + +#define TEMP_1_PIN 15 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING +#define HEATER_BED_PIN 10 // BED +#define TEMP_BED_PIN 14 // ANALOG NUMBERING + +#define BEEPER 33 // Beeper on AUX-4 + + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //arduino pin which triggers an piezzo beeper + + #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 are directly attached using AUX-2 + #define BTN_EN1 59 + #define BTN_EN2 64 + #define BTN_ENC 43 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + #define SDCARDDETECT -1 // Ramps does not use this port + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h new file mode 100644 index 0000000000..51cb12a211 --- /dev/null +++ b/Marlin/pins_MEGATRONICS_1.h @@ -0,0 +1,88 @@ +/** + * Minitronics v1.0 pin assignments + */ + +#ifndef __AVR_ATmega1281__ + #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 48 +#define X_DIR_PIN 47 +#define X_ENABLE_PIN 49 +#define X_MIN_PIN 5 +#define X_MAX_PIN -1 // 2 // Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 39 // A6 +#define Y_DIR_PIN 40 // A0 +#define Y_ENABLE_PIN 38 +#define Y_MIN_PIN 2 +#define Y_MAX_PIN -1 // 15 + +#define Z_STEP_PIN 42 // A2 +#define Z_DIR_PIN 43 // A6 +#define Z_ENABLE_PIN 41 // A1 +#define Z_MIN_PIN 6 +#define Z_MAX_PIN -1 + +#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 + +#define E2_STEP_PIN -1 +#define E2_DIR_PIN -1 +#define E2_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS 16 +#define LED_PIN 46 + +#define FAN_PIN 9 +#define FAN2_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 7 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + + +#define TEMP_0_PIN 7 // ANALOG NUMBERING +#define TEMP_1_PIN 6 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 3 // BED +#define TEMP_BED_PIN 6 // ANALOG NUMBERING + +#define BEEPER -1 + + +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + + +// Buttons are directly attached using keypad +#define BTN_EN1 -1 +#define BTN_EN2 -1 +#define BTN_ENC -1 // the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h new file mode 100644 index 0000000000..b0517fd92e --- /dev/null +++ b/Marlin/pins_MEGATRONICS_2.h @@ -0,0 +1,103 @@ +/** + * MegaTronics v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 27 +#define X_ENABLE_PIN 25 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. + +#define Y_STEP_PIN 4 // A6 +#define Y_DIR_PIN 54 // A0 +#define Y_ENABLE_PIN 5 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 //15 + +#define Z_STEP_PIN 56 // A2 +#define Z_DIR_PIN 60 // A6 +#define Z_ENABLE_PIN 55 // A1 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 +#define E2_DIR_PIN 24 +#define E2_ENABLE_PIN 22 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#define FAN_PIN 7 +#define FAN2_PIN 6 +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 + #define TEMP_0_PIN 4 // ANALOG NUMBERING +#else + #define TEMP_0_PIN 13 // ANALOG NUMBERING +#endif + + +#if TEMP_SENSOR_1 == -1 + #define TEMP_1_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_1_PIN 15 // ANALOG NUMBERING +#endif + +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 10 // BED + +#if TEMP_SENSOR_BED == -1 + #define TEMP_BED_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_BED_PIN 14 // ANALOG NUMBERING +#endif + +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 diff --git a/Marlin/pins_MELZI.h b/Marlin/pins_MELZI.h new file mode 100644 index 0000000000..71c9fa9136 --- /dev/null +++ b/Marlin/pins_MELZI.h @@ -0,0 +1,11 @@ +/** + * Melzi pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_MELZI_1284.h b/Marlin/pins_MELZI_1284.h new file mode 100644 index 0000000000..2c18666725 --- /dev/null +++ b/Marlin/pins_MELZI_1284.h @@ -0,0 +1,15 @@ +/** + * Melzi with ATmega1284 (MaKr3d version) pin assignments + */ + +#define MELZI + +#undef MOTHERBOARD +#define MOTHERBOARD BOARD_SANGUINOLOLU_11 +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_OMCA.h b/Marlin/pins_OMCA.h new file mode 100644 index 0000000000..26a797362a --- /dev/null +++ b/Marlin/pins_OMCA.h @@ -0,0 +1,91 @@ +/** + * 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 + */ + +#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 X_STEP_PIN 26 +#define X_DIR_PIN 25 +#define X_ENABLE_PIN 10 +#define X_STOP_PIN 0 + +#define Y_STEP_PIN 28 +#define Y_DIR_PIN 27 +#define Y_ENABLE_PIN 10 +#define Y_STOP_PIN 1 + +#define Z_STEP_PIN 23 +#define Z_DIR_PIN 22 +#define Z_ENABLE_PIN 10 +#define Z_STOP_PIN 2 + +#define E0_STEP_PIN 24 +#define E0_DIR_PIN 21 +#define E0_ENABLE_PIN 10 + +// future proofing +#define __FS 20 +#define __FD 19 +#define __GS 18 +#define __GD 13 + +#define UNUSED_PWM 14 // PWM on LEFT connector + +#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 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN -1 +#define FAN_PIN 14 // PWM on MIDDLE connector +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 3 // DONE PWM on RIGHT connector +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING +#define TEMP_1_PIN 1 // ANALOG +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 2 // 1,2 or I2C + +#define I2C_SCL 16 +#define I2C_SDA 17 diff --git a/Marlin/pins_OMCA_A.h b/Marlin/pins_OMCA_A.h new file mode 100644 index 0000000000..857ff7752f --- /dev/null +++ b/Marlin/pins_OMCA_A.h @@ -0,0 +1,78 @@ +/** + * 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 + * +--------+ + * + */ + +#ifndef __AVR_ATmega644__ + #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 21 +#define X_DIR_PIN 20 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 0 + +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 1 + +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_STOP_PIN 2 + +#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 + +#define SDPOWER -1 +#define SDSS 11 +#define SDCARDDETECT -1 // 10 optional also used as mode pin +#define LED_PIN -1 +#define FAN_PIN 3 +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 // 12 +#define HEATER_2_PIN -1 // 13 +#define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 // 1 +#define TEMP_2_PIN -1 // 2 +#define HEATER_BED_PIN -1 // 14/15 +#define TEMP_BED_PIN -1 // 1,2 or I2C +/* 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) */ diff --git a/Marlin/pins_PRINTRBOARD.h b/Marlin/pins_PRINTRBOARD.h new file mode 100644 index 0000000000..2bf6efd147 --- /dev/null +++ b/Marlin/pins_PRINTRBOARD.h @@ -0,0 +1,88 @@ +/** + * Printrboard 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 + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. + #error These Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN 46 +#define HEATER_2_PIN 47 +#define HEATER_BED_PIN 20 + +// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin +// fastio pin numbering otherwise +#ifdef FAN_SOFT_PWM || FAST_PWM_FAN + #define FAN_PIN 22 +#else + #define FAN_PIN 16 +#endif + +#define X_STOP_PIN 35 +#define Y_STOP_PIN 8 +#define Z_STOP_PIN 36 +#define TEMP_0_PIN 1 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 0 // Bed / Analog pin numbering + +#ifdef FILAMENT_SENSOR + #define FILWIDTH_PIN 2 +#endif + +#define TEMP_1_PIN -1 +#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 + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef LCD_I2C_PANELOLU2 + #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 + #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 + #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 + #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) + #endif // LCD_I2C_PANELOLU2 + //not connected to a pin + #define SDCARDDETECT -1 +#endif // ULTRA_LCD && NEWPANEL diff --git a/Marlin/pins_RAMBO.h b/Marlin/pins_RAMBO.h new file mode 100644 index 0000000000..b2ccdc4339 --- /dev/null +++ b/Marlin/pins_RAMBO.h @@ -0,0 +1,165 @@ +/** + * Rambo pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +// Servo support +#ifdef NUM_SERVOS + #define SERVO0_PIN 22 //motor header MX1 + #if NUM_SERVOS > 1 + #define SERVO1_PIN 23 //Motor header MX2 + #if NUM_SERVOS > 2 + #define SERVO2_PIN 24 //Motor header MX3 + #if NUM_SERVOS > 3 + #define SERVO2_PIN 5 //pwm header pin 5 + #endif + #endif + #endif +#endif + +#define X_STEP_PIN 37 +#define X_DIR_PIN 48 +#define X_MIN_PIN 12 +#define X_MAX_PIN 24 +#define X_ENABLE_PIN 29 +#define X_MS1_PIN 40 +#define X_MS2_PIN 41 + +#define Y_STEP_PIN 36 +#define Y_DIR_PIN 49 +#define Y_MIN_PIN 11 +#define Y_MAX_PIN 23 +#define Y_ENABLE_PIN 28 +#define Y_MS1_PIN 69 +#define Y_MS2_PIN 39 + +#define Z_STEP_PIN 35 +#define Z_DIR_PIN 47 +#define Z_MIN_PIN 10 +#define Z_MAX_PIN 30 +#define Z_ENABLE_PIN 27 +#define Z_MS1_PIN 68 +#define Z_MS2_PIN 67 + +#define HEATER_BED_PIN 3 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 9 +#define TEMP_0_PIN 0 + +#define HEATER_1_PIN 7 +#define TEMP_1_PIN 1 + +#ifdef BARICUDA + #define HEATER_2_PIN 6 +#else + #define HEATER_2_PIN -1 +#endif + +#define TEMP_2_PIN -1 + +#define E0_STEP_PIN 34 +#define E0_DIR_PIN 43 +#define E0_ENABLE_PIN 26 +#define E0_MS1_PIN 65 +#define E0_MS2_PIN 66 + +#define E1_STEP_PIN 33 +#define E1_DIR_PIN 42 +#define E1_ENABLE_PIN 25 +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 +#define FAN_PIN 8 + +/********************************************************** + Fan Pins + Fan_0 8 + Fan_1 6 + Fan_2 2 +***********************************************************/ +#define PS_ON_PIN 4 +#define KILL_PIN -1 //80 with Smart Controller LCD +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. + +#ifdef ULTRA_LCD + #define KILL_PIN 80 + #ifdef NEWPANEL + //arduino pin which triggers an piezzo beeper + #define BEEPER 79 // Beeper on AUX-4 + #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 + + //buttons are directly attached using AUX-2 + #define BTN_EN1 76 + #define BTN_EN2 77 + #define BTN_ENC 78 //the click + + #define BLEN_C 2 + #define BLEN_B 1 + #define BLEN_A 0 + + #define SDCARDDETECT 81 // Ramps does not use this port + + //encoder rotation values + #define encrot0 0 + #define encrot1 2 + #define encrot2 3 + #define encrot3 1 + #else //!NEWPANEL - old style panel with shift register + //arduino pin witch triggers an piezzo beeper + #define BEEPER 33 No Beeper added + //buttons are attached to a shift register + // Not wired this 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 + + //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 // !NEWPANEL + +#endif // ULTRA_LCD + +#ifdef FILAMENT_SENSOR + //Filip added pin for Filament sensor analog input + #define FILWIDTH_PIN 3 +#endif diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h new file mode 100644 index 0000000000..f0d4c33b95 --- /dev/null +++ b/Marlin/pins_RAMPS_13.h @@ -0,0 +1,227 @@ +/** + * 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) + * 3DRAG + * K8200 + * AZTEEG_X3 + * AZTEEG_X3_PRO + */ + +#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 54 +#define X_DIR_PIN 55 +#define X_ENABLE_PIN 38 +#define X_MIN_PIN 3 +#define X_MAX_PIN 2 + +#define Y_STEP_PIN 60 +#define Y_DIR_PIN 61 +#define Y_ENABLE_PIN 56 +#define Y_MIN_PIN 14 +#define Y_MAX_PIN 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 19 + +#define Y2_STEP_PIN 36 +#define Y2_DIR_PIN 34 +#define Y2_ENABLE_PIN 30 + +#define Z2_STEP_PIN 36 +#define Z2_DIR_PIN 34 +#define Z2_ENABLE_PIN 30 + +#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 SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#if MB(RAMPS_13_EEB) && defined(FILAMENT_SENSOR) // FMM added for Filament Extruder + // define analog pin for the filament width sensor input + // Use the RAMPS 1.4 Analog input 5 on the AUX2 connector + #define FILWIDTH_PIN 5 +#endif + +#if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) + #define FAN_PIN 9 // (Sprinter config) + #if MB(RAMPS_13_EFF) + #define CONTROLLERFAN_PIN -1 // Pin used for the fan to cool controller + #endif +#elif MB(RAMPS_13_EEF) + #define FAN_PIN 8 +#else + #define FAN_PIN 4 // IO pin. Buffer needed +#endif + +#define PS_ON_PIN 12 + +#if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) + #define KILL_PIN 41 +#else + #define KILL_PIN -1 +#endif + +#if MB(RAMPS_13_EFF) + #define HEATER_0_PIN 8 +#else + #define HEATER_0_PIN 10 // EXTRUDER 1 +#endif + +#if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) + #define HEATER_1_PIN -1 +#else + #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) +#endif + +#define HEATER_2_PIN -1 + +#define TEMP_0_PIN 13 // ANALOG NUMBERING +#define TEMP_1_PIN 15 // ANALOG NUMBERING +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#if MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) + #define HEATER_BED_PIN -1 // NO BED +#else + #define HEATER_BED_PIN 8 // BED +#endif + +#define TEMP_BED_PIN 14 // ANALOG NUMBERING + +#ifdef NUM_SERVOS + #define SERVO0_PIN 11 + + #if NUM_SERVOS > 1 + #define SERVO1_PIN 6 + #endif + + #if NUM_SERVOS > 2 + #define SERVO2_PIN 5 + #endif + + #if NUM_SERVOS > 3 + #define SERVO3_PIN 4 + #endif +#endif + +#if MB(AZTEEG_X3_PRO) + #define BEEPER 33 +#endif + +#ifdef TEMP_STAT_LEDS + #if MB(AZTEEG_X3) + #define STAT_LED_RED 6 + #define STAT_LED_BLUE 11 + #endif +#endif + +#ifdef ULTRA_LCD + + #ifdef 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 + + #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER + #define BEEPER 37 + + #define BTN_EN1 31 + #define BTN_EN2 33 + #define BTN_ENC 35 + + #define SDCARDDETECT 49 + #elif defined(LCD_I2C_PANELOLU2) + #define BTN_EN1 47 // reverse if the encoder turns the wrong way. + #define BTN_EN2 43 + #define BTN_ENC 32 + #define LCD_SDSS 53 + #define SDCARDDETECT -1 + #define KILL_PIN 41 + #elif defined(LCD_I2C_VIKI) + #define BTN_EN1 22 // reverse if the encoder turns the wrong way. + #define BTN_EN2 7 + #define BTN_ENC -1 + #define LCD_SDSS 53 + #define SDCARDDETECT 49 + #else + // arduino pin which triggers an piezzo beeper + #define BEEPER 33 // Beeper on AUX-4 + + // buttons are directly attached using AUX-2 + #ifdef REPRAPWORLD_KEYPAD + #define BTN_EN1 64 // encoder + #define BTN_EN2 59 // encoder + #define BTN_ENC 63 // enter button + #define SHIFT_OUT 40 // shift register + #define SHIFT_CLK 44 // shift register + #define SHIFT_LD 42 // shift register + #else + #define BTN_EN1 37 + #define BTN_EN2 35 + #define BTN_ENC 31 // the click + #endif + + #ifdef G3D_PANEL + #define SDCARDDETECT 49 + #else + #define SDCARDDETECT -1 // Ramps does not use this port + #endif + + #endif + + #else // Old-style panel with shift register + // Arduino pin witch triggers an piezzo beeper + #define BEEPER 33 // No Beeper added + + // 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 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 + #endif +#endif // ULTRA_LCD + +// SPI for Max6675 Thermocouple +#ifndef 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 + +#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 +#endif diff --git a/Marlin/pins_RAMPS_OLD.h b/Marlin/pins_RAMPS_OLD.h new file mode 100644 index 0000000000..d4e89f8d9b --- /dev/null +++ b/Marlin/pins_RAMPS_OLD.h @@ -0,0 +1,69 @@ +/** + * 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 + +// Uncomment the following line for RAMPS v1.0 +//#define RAMPS_V_1_0 + +#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 -1 //19 + +#define E0_STEP_PIN 32 +#define E0_DIR_PIN 34 +#define E0_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_BED_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_BED_PIN 8 // RAMPS 1.1 + #define FAN_PIN 9 // RAMPS 1.1 +#endif + +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! + +// SPI for Max6675 Thermocouple +#ifndef 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 + +#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 +#endif diff --git a/Marlin/pins_RUMBA.h b/Marlin/pins_RUMBA.h new file mode 100644 index 0000000000..ee03a0b9d1 --- /dev/null +++ b/Marlin/pins_RUMBA.h @@ -0,0 +1,110 @@ +/** + * RUMBA pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 17 +#define X_DIR_PIN 16 +#define X_ENABLE_PIN 48 +#define X_MIN_PIN 37 +#define X_MAX_PIN 36 + +#define Y_STEP_PIN 54 +#define Y_DIR_PIN 47 +#define Y_ENABLE_PIN 55 +#define Y_MIN_PIN 35 +#define Y_MAX_PIN 34 + +#define Z_STEP_PIN 57 +#define Z_DIR_PIN 56 +#define Z_ENABLE_PIN 62 +#define Z_MIN_PIN 33 +#define Z_MAX_PIN 32 + +#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 + +#define LED_PIN 13 + +#define FAN_PIN 7 +//additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8 + +#define PS_ON_PIN 45 +#define KILL_PIN 46 + +#if (TEMP_SENSOR_0==0) + #define TEMP_0_PIN -1 + #define HEATER_0_PIN -1 +#else + #define HEATER_0_PIN 2 // EXTRUDER 1 + #if (TEMP_SENSOR_0==-1) + #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used + #else + #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used + #endif +#endif + +#if (TEMP_SENSOR_1==0) + #define TEMP_1_PIN -1 + #define HEATER_1_PIN -1 +#else + #define HEATER_1_PIN 3 // EXTRUDER 2 + #if (TEMP_SENSOR_1==-1) + #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used + #else + #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used + #endif +#endif + +#if (TEMP_SENSOR_2==0) + #define TEMP_2_PIN -1 + #define HEATER_2_PIN -1 +#else + #define HEATER_2_PIN 6 // EXTRUDER 3 + #if (TEMP_SENSOR_2==-1) + #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple + #else + #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used + #endif +#endif + +//optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used +//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4 + +#if (TEMP_SENSOR_BED==0) + #define TEMP_BED_PIN -1 + #define HEATER_BED_PIN -1 +#else + #define HEATER_BED_PIN 9 // BED + #if (TEMP_SENSOR_BED==-1) + #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple + #else + #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used + #endif +#endif + +#define SDPOWER -1 +#define SDSS 53 +#define SDCARDDETECT 49 +#define BEEPER 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 diff --git a/Marlin/pins_SANGUINOLOLU_11.h b/Marlin/pins_SANGUINOLOLU_11.h new file mode 100644 index 0000000000..e7bdd974ea --- /dev/null +++ b/Marlin/pins_SANGUINOLOLU_11.h @@ -0,0 +1,172 @@ +/** + * Sanguinololu board pin assignments + */ + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) + #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_STOP_PIN 18 + +#define Y_STEP_PIN 22 +#define Y_DIR_PIN 23 +#define Y_STOP_PIN 19 + +#define Z_STEP_PIN 3 +#define Z_DIR_PIN 2 +#define Z_STOP_PIN 20 + +#define E0_STEP_PIN 1 +#define E0_DIR_PIN 0 + +#define LED_PIN -1 + +#define FAN_PIN -1 + +// #if FAN_PIN == 12 || FAN_PIN ==13 +// #define FAN_SOFT_PWM +// #endif + +#if MB(MELZI) + #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */ + #define FAN_PIN 4 // Works for Panelolu2 too +#endif + +#if MB(STB_11) + #define FAN_PIN 4 + // Uncomment this if you have the first generation (V1.10) of STBs board + #define LCD_PIN_BL 17 // LCD backlight LED +#endif + +#if MB(AZTEEG_X1) + #define FAN_PIN 4 +#endif + +#ifdef NUM_SERVOS + #define SERVO0_PIN -1 + + #if NUM_SERVOS > 1 + #define SERVO1_PIN -1 + #endif + + #if NUM_SERVOS > 2 + #define SERVO2_PIN -1 + #endif + + #if NUM_SERVOS > 3 + #define SERVO3_PIN -1 + #endif +#endif + +#define PS_ON_PIN -1 +#define KILL_PIN -1 + +#define HEATER_0_PIN 13 // (extruder) +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 + +#ifdef 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 + + #ifdef 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 + +#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) +#define SDPOWER -1 +#define SDSS 31 + +/* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */ +//#define SDSS 24 + +#ifdef ULTRA_LCD + #ifdef NEWPANEL + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef DOGLCD + #ifdef U8GLIB_ST7920 //SPI GLCD 12864 ST7920 ( like [www.digole.com] ) For Melzi V2.0 + #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 + #define BEEPER 27 // Pin 27 is take by LED_Pin, but Melzi LED do nothing with Marlin and I take this pin for BEEPER.... See here > [github.com] , If you want use this pin with Gcode M42 instead BEEPER + #else + // Pins for DOGM SPI LCD Support + #define DOGLCD_A0 30 + #define DOGLCD_CS 29 + #define LCD_CONTRAST 1 + #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 // standard Hitachi LCD controller + #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 + //The encoder and click button + #define BTN_EN1 11 + #define BTN_EN2 10 + #ifdef LCD_I2C_PANELOLU2 + #if MB(MELZI) + #define BTN_ENC 29 //the click switch + #define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board + #else + #define BTN_ENC 30 //the click switch + #endif + #else + #define BTN_ENC 16 //the click switch + #define LCD_SDSS 28 //to use the SD card reader on the smart controller rather than the melzi board + #endif //Panelolu2 + //not connected to a pin + #define SDCARDDETECT -1 + + #endif //NEWPANEL +#endif //ULTRA_LCD + +#ifdef MAKRPANEL + #define BEEPER 29 + // Pins for DOGM SPI LCD Support + #define DOGLCD_A0 30 + #define DOGLCD_CS 17 + #define LCD_PIN_BL 28 // backlight LED on PA3 + // GLCD features + #define LCD_CONTRAST 1 + // Uncomment screen orientation + #define LCD_SCREEN_ROT_0 + // #define LCD_SCREEN_ROT_90 + // #define LCD_SCREEN_ROT_180 + // #define LCD_SCREEN_ROT_270 + //The encoder and click button + #define BTN_EN1 11 + #define BTN_EN2 10 + #define BTN_ENC 16 //the click switch + //not connected to a pin + #define SDCARDDETECT -1 +#endif //Makrpanel + diff --git a/Marlin/pins_SANGUINOLOLU_12.h b/Marlin/pins_SANGUINOLOLU_12.h new file mode 100644 index 0000000000..d92cff7329 --- /dev/null +++ b/Marlin/pins_SANGUINOLOLU_12.h @@ -0,0 +1,19 @@ +/** + * Sanguinololu V1.2 pin assignments + * + * Applies to the following boards: + * + * AZTEEG_X1 + * MELZI + * MELZI_1284 + * SANGUINOLOLU_12 + * STB_11 + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_SAV_MKI.h b/Marlin/pins_SAV_MKI.h new file mode 100644 index 0000000000..e898c9f285 --- /dev/null +++ b/Marlin/pins_SAV_MKI.h @@ -0,0 +1,88 @@ +/** + * SAV MkI pin assignments (AT90USB1286) + * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE! + * http://www.pjrc.com/teensy/teensyduino.html + * RepRap Clone Wars project board. + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 20 // Bed +#define FAN_PIN 16 // Fan -- from Teensyduino environment. + // For the fan and Teensyduino uses a different pin mapping. + +#define X_STOP_PIN 13 +#define Y_STOP_PIN 14 +#define Z_STOP_PIN 15 +//#define Z_STOP_PIN 36 // For inductive sensor. + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define SDSS 20 // PB0 - 8 in marlin env. +#define LED_PIN -1 +#define PS_ON_PIN -1 +#define ALARM_PIN -1 +#define SDCARDDETECT -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 + +#define BEEPER -1 +#define LCD_PINS_RS -1 +#define LCD_PINS_ENABLE -1 +#define LCD_PINS_D4 -1 +#define LCD_PINS_D5 -1 +#define LCD_PINS_D6 -1 +#define LCD_PINS_D7 -1 + +#ifdef SAV_3DLCD + // For LCD SHIFT register LCD + #define SR_DATA_PIN 1 + #define SR_CLK_PIN 0 + + #define BTN_EN1 41 + #define BTN_EN2 40 + #define BTN_ENC 12 + + #define KILL_PIN 42 // A2 = 42 - teensy = 40 + #define HOME_PIN -1 // A4 = marlin 44 - teensy = 42 + + #ifdef NUM_SERVOS + #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp) + #endif + +#endif // SAV_3DLCD diff --git a/Marlin/pins_SETHI.h b/Marlin/pins_SETHI.h new file mode 100644 index 0000000000..4a118220c9 --- /dev/null +++ b/Marlin/pins_SETHI.h @@ -0,0 +1,71 @@ +/** + * Sethi 3D_1 pin assignments - www.sethi3d.com.br + */ + +#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 + +#ifndef GEN7_VERSION + #define GEN7_VERSION 12 // v1.x +#endif + +//x axis pins +#define X_STEP_PIN 19 +#define X_DIR_PIN 18 +#define X_ENABLE_PIN 24 +#define X_STOP_PIN 2 + +//y axis pins +#define Y_STEP_PIN 23 +#define Y_DIR_PIN 22 +#define Y_ENABLE_PIN 24 +#define Y_STOP_PIN 0 + +//z axis pins +#define Z_STEP_PIN 26 +#define Z_DIR_PIN 25 +#define Z_ENABLE_PIN 24 +#define Z_MIN_PIN 1 +#define Z_MAX_PIN 0 + +//extruder pins +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 24 + +#define TEMP_0_PIN 1 +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 +#define TEMP_BED_PIN 2 + +#define HEATER_0_PIN 4 +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 3 + +#define KILL_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 // SCL pin of I2C header +#define LED_PIN -1 + +#if (GEN7_VERSION >= 13) + // Gen7 v1.3 removed the fan pin + #define FAN_PIN -1 +#else + #define FAN_PIN 31 +#endif + +#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 diff --git a/Marlin/pins_STB_11.h b/Marlin/pins_STB_11.h new file mode 100644 index 0000000000..ae06101d06 --- /dev/null +++ b/Marlin/pins_STB_11.h @@ -0,0 +1,11 @@ +/** + * STB V1.1 pin assignments + */ + +#define SANGUINOLOLU_V_1_2 + +#if defined(__AVR_ATmega1284P__) + #define LARGE_FLASH true +#endif + +#include "pins_SANGUINOLOLU_11.h" diff --git a/Marlin/pins_TEENSY2.h b/Marlin/pins_TEENSY2.h new file mode 100644 index 0000000000..c7144266ba --- /dev/null +++ b/Marlin/pins_TEENSY2.h @@ -0,0 +1,115 @@ +/** + * 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: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS 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' selected from the 'Tools -> Boards' menu. +#endif + +#ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical. + #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config + // (or build from command line) +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 28 // 0 Marlin +#define X_DIR_PIN 29 // 1 Marlin +#define X_ENABLE_PIN 26 + +#define Y_STEP_PIN 30 // 2 Marlin +#define Y_DIR_PIN 31 // 3 +#define Y_ENABLE_PIN 26 // Shared w/x + +#define Z_STEP_PIN 32 // 4 +#define Z_DIR_PIN 33 // 5 +#define Z_ENABLE_PIN 26 // Shared w/x + +#define E0_STEP_PIN 34 // 6 +#define E0_DIR_PIN 35 // 7 +#define E0_ENABLE_PIN 26 // Shared w/x + +#define HEATER_0_PIN 15 // 21 // Extruder +#define HEATER_1_PIN -1 +#define HEATER_2_PIN -1 +#define HEATER_BED_PIN 14 // 20 // Bed +#define FAN_PIN 16 // 22 // Fan + +#define X_STOP_PIN 2 +#define Y_STOP_PIN 3 +#define Z_STOP_PIN 4 + +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering +#define TEMP_1_PIN -1 +#define TEMP_2_PIN -1 + +#define SDPOWER -1 +#define SDCARDDETECT -1 +#define SDSS 20 // 8 +#define LED_PIN 6 +#define PS_ON_PIN 27 +#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 21 // 9 + #define MISO_PIN 23 // 11 + #define MOSI_PIN 22 // 10 +#endif + +#ifdef ULTIPANEL + #define LCD_PINS_RS 8 + #define LCD_PINS_ENABLE 9 + #define LCD_PINS_D4 10 + #define LCD_PINS_D5 11 + #define LCD_PINS_D6 12 + #define LCD_PINS_D7 13 + #define BTN_EN1 38 + #define BTN_EN2 39 + #define BTN_ENC 40 +#endif diff --git a/Marlin/pins_TEENSYLU.h b/Marlin/pins_TEENSYLU.h new file mode 100644 index 0000000000..46da7d299c --- /dev/null +++ b/Marlin/pins_TEENSYLU.h @@ -0,0 +1,85 @@ +/** + * Teensylu 0.7 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 + */ + +#ifndef __AVR_AT90USB1286__ + #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu. +#endif + +#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional. + #error These Teensylu assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h +#endif + +#define AT90USB 1286 // Disable MarlinSerial etc. + +#define LARGE_FLASH true + +#define X_STEP_PIN 0 +#define X_DIR_PIN 1 +#define X_ENABLE_PIN 39 + +#define Y_STEP_PIN 2 +#define Y_DIR_PIN 3 +#define Y_ENABLE_PIN 38 + +#define Z_STEP_PIN 4 +#define Z_DIR_PIN 5 +#define Z_ENABLE_PIN 23 + +#define E0_STEP_PIN 6 +#define E0_DIR_PIN 7 +#define E0_ENABLE_PIN 19 + +#define HEATER_0_PIN 21 // Extruder +#define HEATER_1_PIN 46 +#define HEATER_2_PIN 47 +#define HEATER_BED_PIN 20 + +// If soft or fast PWM is off then use Teensyduino pin numbering, Marlin +// fastio pin numbering otherwise +#ifdef FAN_SOFT_PWM || FAST_PWM_FAN + #define FAN_PIN 22 +#else + #define FAN_PIN 16 +#endif + +#define X_STOP_PIN 13 +#define Y_STOP_PIN 14 +#define Z_STOP_PIN 15 +#define TEMP_0_PIN 7 // Extruder / Analog pin numbering +#define TEMP_BED_PIN 6 // Bed / Analog pin numbering + +#define TEMP_1_PIN -1 +#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 + +#if defined(ULTRA_LCD) && defined(NEWPANEL) + //we have no buzzer installed + #define BEEPER -1 + //LCD Pins + #ifdef LCD_I2C_PANELOLU2 + #define BTN_EN1 27 //RX1 - fastio.h pin mapping 27 + #define BTN_EN2 26 //TX1 - fastio.h pin mapping 26 + #define BTN_ENC 43 //A3 - fastio.h pin mapping 43 + #define SDSS 40 //use SD card on Panelolu2 (Teensyduino pin mapping) + #endif // LCD_I2C_PANELOLU2 + //not connected to a pin + #define SDCARDDETECT -1 +#endif // ULTRA_LCD && NEWPANEL + diff --git a/Marlin/pins_ULTIMAIN_2.h b/Marlin/pins_ULTIMAIN_2.h new file mode 100644 index 0000000000..7c03f6b2b8 --- /dev/null +++ b/Marlin/pins_ULTIMAIN_2.h @@ -0,0 +1,80 @@ +/** + * Ultiboard v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. +#endif + +#define X_STEP_PIN 25 +#define X_DIR_PIN 23 +#define X_STOP_PIN 22 +#define X_ENABLE_PIN 27 + +#define Y_STEP_PIN 32 +#define Y_DIR_PIN 33 +#define Y_STOP_PIN 26 +#define Y_ENABLE_PIN 31 + +#define Z_STEP_PIN 35 +#define Z_DIR_PIN 36 +#define Z_STOP_PIN 29 +#define Z_ENABLE_PIN 34 + +#define HEATER_BED_PIN 4 +#define TEMP_BED_PIN 10 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 3 +#define TEMP_1_PIN 9 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#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 SDPOWER -1 +#define SDSS 53 +#define LED_PIN 8 +#define FAN_PIN 7 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. +#define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered +#define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider. + +#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 +#define MOTOR_CURRENT_PWM_RANGE 2000 +#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250} + +//arduino pin witch triggers an piezzo beeper +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT 39 diff --git a/Marlin/pins_ULTIMAKER.h b/Marlin/pins_ULTIMAKER.h new file mode 100644 index 0000000000..649ea595ea --- /dev/null +++ b/Marlin/pins_ULTIMAKER.h @@ -0,0 +1,100 @@ +/** + * Ultimaker 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 LARGE_FLASH true + +#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_BED_PIN 4 +#define TEMP_BED_PIN 10 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 3 +#define TEMP_1_PIN 9 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#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 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 +#define FAN_PIN 7 +#define PS_ON_PIN 12 +#define KILL_PIN -1 +#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing. +#define SERVO0_PIN 13 // untested + +#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 SDCARDDETECT 38 + + #else //!NEWPANEL - 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 + + #define SDCARDDETECT -1 + + #endif // !NEWPANEL + +#endif // ULTRA_LCD diff --git a/Marlin/pins_ULTIMAKER_OLD.h b/Marlin/pins_ULTIMAKER_OLD.h new file mode 100644 index 0000000000..571ea16000 --- /dev/null +++ b/Marlin/pins_ULTIMAKER_OLD.h @@ -0,0 +1,62 @@ +/** + * Ultimaker pin assignments (Old electronics) + */ + +#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__) + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 25 +#define X_DIR_PIN 23 +#define X_MIN_PIN 15 +#define X_MAX_PIN 14 +#define X_ENABLE_PIN 27 + +#define Y_STEP_PIN 31 +#define Y_DIR_PIN 33 +#define Y_MIN_PIN 17 +#define Y_MAX_PIN 16 +#define Y_ENABLE_PIN 29 + +#define Z_STEP_PIN 37 +#define Z_DIR_PIN 39 +#define Z_MIN_PIN 19 +#define Z_MAX_PIN 18 +#define Z_ENABLE_PIN 35 + +#define HEATER_BED_PIN -1 +#define TEMP_BED_PIN -1 + +#define HEATER_0_PIN 2 +#define TEMP_0_PIN 8 + +#define HEATER_1_PIN 1 +#define TEMP_1_PIN 1 + +#define HEATER_2_PIN -1 +#define TEMP_2_PIN -1 + +#define E0_STEP_PIN 43 +#define E0_DIR_PIN 45 +#define E0_ENABLE_PIN 41 + +#define E1_STEP_PIN -1 +#define E1_DIR_PIN -1 +#define E1_ENABLE_PIN -1 + +#define SDPOWER -1 +#define SDSS -1 +#define LED_PIN -1 +#define FAN_PIN -1 +#define PS_ON_PIN -1 +#define KILL_PIN -1 +#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. + +#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 From 4e573134de114d5bb4797ddcf4b7c79751f58589 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:42:16 -0800 Subject: [PATCH 039/132] Cleanup heading --- Marlin/pins_AZTEEG_X3.h | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Marlin/pins_AZTEEG_X3.h b/Marlin/pins_AZTEEG_X3.h index 573f126aca..7eb8eae49a 100644 --- a/Marlin/pins_AZTEEG_X3.h +++ b/Marlin/pins_AZTEEG_X3.h @@ -1,15 +1,5 @@ /** - * Arduino Mega pin assignments - * - * RAMPS_OLD - * RAMPS_13_EFB - * RAMPS_13_EEB - * RAMPS_13_EFF - * RAMPS_13_EEF - * 3DRAG - * K8200 - * AZTEEG_X3 - * AZTEEG_X3_PRO + * AZTEEG_X3 Arduino Mega with RAMPS v1.3 pin assignments */ #include "pins_RAMPS_13.h" From b6ecbd8cc4572a45e99e3009f0abc95056ead0c4 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 18:50:09 -0800 Subject: [PATCH 040/132] cleanup --- Marlin/pins.h | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index f965b7d561..2df6dc1a14 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -1,7 +1,7 @@ /** * pins.h - * */ + #ifndef PINS_H #define PINS_H @@ -34,13 +34,7 @@ #include "pins_SETHI.h" #elif 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) +#elif MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) #include "pins_RAMPS_13.h" #elif MB(DUEMILANOVE_328P) #include "pins_DUEMILANOVE_328P.h" From df4f3e77128756a0c34045d0a1c917727762257f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 19:20:25 -0800 Subject: [PATCH 041/132] cleanup --- Marlin/pins_CHEAPTRONIC.h | 2 +- Marlin/pins_GEN7_12.h | 2 +- Marlin/pins_GEN7_14.h | 2 +- Marlin/pins_MEGATRONICS_1.h | 2 +- Marlin/pins_MEGATRONICS_2.h | 2 +- Marlin/pins_SETHI.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/pins_CHEAPTRONIC.h b/Marlin/pins_CHEAPTRONIC.h index 440a93cd95..83d67e5f9b 100644 --- a/Marlin/pins_CHEAPTRONIC.h +++ b/Marlin/pins_CHEAPTRONIC.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_GEN7_12.h b/Marlin/pins_GEN7_12.h index 719ef9d6b7..b2e9c79066 100644 --- a/Marlin/pins_GEN7_12.h +++ b/Marlin/pins_GEN7_12.h @@ -3,7 +3,7 @@ */ #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. #endif #ifndef GEN7_VERSION diff --git a/Marlin/pins_GEN7_14.h b/Marlin/pins_GEN7_14.h index 292e890030..41e1ac79ab 100644 --- a/Marlin/pins_GEN7_14.h +++ b/Marlin/pins_GEN7_14.h @@ -5,7 +5,7 @@ #define GEN7_VERSION 14 // v1.4 #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. #endif //x axis pins diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h index 51cb12a211..26cfd2f3b6 100644 --- a/Marlin/pins_MEGATRONICS_1.h +++ b/Marlin/pins_MEGATRONICS_1.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega1281__ - #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Minitronics' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h index b0517fd92e..a286c91816 100644 --- a/Marlin/pins_MEGATRONICS_2.h +++ b/Marlin/pins_MEGATRONICS_2.h @@ -3,7 +3,7 @@ */ #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. #endif #define LARGE_FLASH true diff --git a/Marlin/pins_SETHI.h b/Marlin/pins_SETHI.h index 4a118220c9..c2e43594f5 100644 --- a/Marlin/pins_SETHI.h +++ b/Marlin/pins_SETHI.h @@ -3,7 +3,7 @@ */ #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu. + #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu. #endif #ifndef GEN7_VERSION From 8045e4d60d4f2ebd8f8744dd1ec9ebb8f0ca5325 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 19:43:43 -0800 Subject: [PATCH 042/132] Add support for 4th extruder #1405 includes some changes to pins.h for a 4th extruder. This commit applies those changes. It also deals with a possible problem with SENSITIVE_PINS. --- Marlin/pins.h | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index 2df6dc1a14..e35c0744d3 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -19,6 +19,8 @@ #define E1_MS1_PIN -1 #define E1_MS2_PIN -1 #define DIGIPOTSS_PIN -1 +#define HEATER_3_PIN -1 +#define TEMP_3_PIN -1 #if MB(GEN7_CUSTOM) #include "pins_GEN7_CUSTOM.h" @@ -108,20 +110,20 @@ #error Unknown MOTHERBOARD value set 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 _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN, +// 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, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), #if EXTRUDERS > 1 - #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, + #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), #else #define _E1_PINS #endif #if EXTRUDERS > 2 - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), #else #define _E2_PINS #endif #if EXTRUDERS > 3 - #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, + #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), #else #define _E3_PINS #endif @@ -168,8 +170,10 @@ #define Z_MIN_PIN -1 #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, PS_ON_PIN, \ - HEATER_BED_PIN, FAN_PIN, \ - _E0_PINS _E1_PINS _E2_PINS _E3_PINS \ - analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_3_PIN), analogInputToDigitalPin(TEMP_BED_PIN) } +#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, PS_ON_PIN, \ + HEATER_BED_PIN, FAN_PIN, \ + _E0_PINS _E1_PINS _E2_PINS _E3_PINS \ + analogInputToDigitalPin(TEMP_BED_PIN) \ + } + #endif //__PINS_H From 82474fef8ae4b4516aa515bda3ae8a5aa7621ecb Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 25 Jan 2015 20:08:51 -0800 Subject: [PATCH 043/132] Max endstop pins disabled by configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There’s no need to ask users to uncomment Max Endstop pins when they have them. These will be set to -1 later if the endstop option is disabled. --- Marlin/pins_3DRAG.h | 6 ++---- Marlin/pins_ELEFU_3.h | 6 +++--- Marlin/pins_LEAPFROG.h | 4 ++-- Marlin/pins_MEGATRONICS_1.h | 4 ++-- Marlin/pins_MEGATRONICS_2.h | 4 ++-- Marlin/pins_RAMPS_OLD.h | 12 ++++++------ 6 files changed, 17 insertions(+), 19 deletions(-) diff --git a/Marlin/pins_3DRAG.h b/Marlin/pins_3DRAG.h index 942a0ba3ea..4191dbc4ee 100644 --- a/Marlin/pins_3DRAG.h +++ b/Marlin/pins_3DRAG.h @@ -4,10 +4,8 @@ #include "pins_RAMPS_13.h" -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. - -#define Y_MAX_PIN -1 //15 - +#define X_MAX_PIN 2 +#define Y_MAX_PIN 15 #define Z_MAX_PIN -1 #define SDSS 25//53 diff --git a/Marlin/pins_ELEFU_3.h b/Marlin/pins_ELEFU_3.h index b201a1306c..4c9663a352 100644 --- a/Marlin/pins_ELEFU_3.h +++ b/Marlin/pins_ELEFU_3.h @@ -10,19 +10,19 @@ #define X_DIR_PIN 13 #define X_ENABLE_PIN 48 #define X_MIN_PIN 35 -#define X_MAX_PIN -1 //34 +#define X_MAX_PIN 34 #define Y_STEP_PIN 11 #define Y_DIR_PIN 9 #define Y_ENABLE_PIN 12 #define Y_MIN_PIN 33 -#define Y_MAX_PIN -1 //32 +#define Y_MAX_PIN 32 #define Z_STEP_PIN 7 #define Z_DIR_PIN 6 #define Z_ENABLE_PIN 8 #define Z_MIN_PIN 31 -#define Z_MAX_PIN -1 //30 +#define Z_MAX_PIN 30 #define E2_STEP_PIN 43 #define E2_DIR_PIN 47 diff --git a/Marlin/pins_LEAPFROG.h b/Marlin/pins_LEAPFROG.h index 5dd6654c1c..52ca619399 100644 --- a/Marlin/pins_LEAPFROG.h +++ b/Marlin/pins_LEAPFROG.h @@ -10,13 +10,13 @@ #define X_DIR_PIN 63 #define X_ENABLE_PIN 29 #define X_MIN_PIN 47 -#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 2 //Max endstops default to disabled "-1", set to commented value to enable. #define Y_STEP_PIN 14 // A6 #define Y_DIR_PIN 15 // A0 #define Y_ENABLE_PIN 39 #define Y_MIN_PIN 48 -#define Y_MAX_PIN -1 //15 +#define Y_MAX_PIN 15 #define Z_STEP_PIN 31 // A2 #define Z_DIR_PIN 32 // A6 diff --git a/Marlin/pins_MEGATRONICS_1.h b/Marlin/pins_MEGATRONICS_1.h index 26cfd2f3b6..f321941f87 100644 --- a/Marlin/pins_MEGATRONICS_1.h +++ b/Marlin/pins_MEGATRONICS_1.h @@ -12,13 +12,13 @@ #define X_DIR_PIN 47 #define X_ENABLE_PIN 49 #define X_MIN_PIN 5 -#define X_MAX_PIN -1 // 2 // Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 2 #define Y_STEP_PIN 39 // A6 #define Y_DIR_PIN 40 // A0 #define Y_ENABLE_PIN 38 #define Y_MIN_PIN 2 -#define Y_MAX_PIN -1 // 15 +#define Y_MAX_PIN 15 #define Z_STEP_PIN 42 // A2 #define Z_DIR_PIN 43 // A6 diff --git a/Marlin/pins_MEGATRONICS_2.h b/Marlin/pins_MEGATRONICS_2.h index a286c91816..064431be29 100644 --- a/Marlin/pins_MEGATRONICS_2.h +++ b/Marlin/pins_MEGATRONICS_2.h @@ -12,13 +12,13 @@ #define X_DIR_PIN 27 #define X_ENABLE_PIN 25 #define X_MIN_PIN 37 -#define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable. +#define X_MAX_PIN 40 #define Y_STEP_PIN 4 // A6 #define Y_DIR_PIN 54 // A0 #define Y_ENABLE_PIN 5 #define Y_MIN_PIN 41 -#define Y_MAX_PIN 38 //15 +#define Y_MAX_PIN 38 #define Z_STEP_PIN 56 // A2 #define Z_DIR_PIN 60 // A6 diff --git a/Marlin/pins_RAMPS_OLD.h b/Marlin/pins_RAMPS_OLD.h index d4e89f8d9b..6b3454ac8b 100644 --- a/Marlin/pins_RAMPS_OLD.h +++ b/Marlin/pins_RAMPS_OLD.h @@ -13,23 +13,23 @@ #define X_DIR_PIN 28 #define X_ENABLE_PIN 24 #define X_MIN_PIN 3 -#define X_MAX_PIN -1 //2 +#define X_MAX_PIN 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 Y_MAX_PIN 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 -1 //19 +#define Z_MAX_PIN 19 -#define E0_STEP_PIN 32 -#define E0_DIR_PIN 34 -#define E0_ENABLE_PIN 30 +#define E0_STEP_PIN 32 +#define E0_DIR_PIN 34 +#define E0_ENABLE_PIN 30 #define SDPOWER 48 #define SDSS 53 From ebe78cb36f1d9e74085a51986e17af4544323d03 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 26 Jan 2015 05:17:08 -0800 Subject: [PATCH 044/132] tweak --- Marlin/pins.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index e35c0744d3..5697931f5f 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -114,19 +114,19 @@ #define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), #if EXTRUDERS > 1 #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), + #if EXTRUDERS > 2 + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), + #if EXTRUDERS > 3 + #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), + #else + #define _E3_PINS + #endif + #else + #define _E2_PINS + #endif #else #define _E1_PINS #endif -#if EXTRUDERS > 2 - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), -#else - #define _E2_PINS -#endif -#if EXTRUDERS > 3 - #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), -#else - #define _E3_PINS -#endif #ifdef X_STOP_PIN #if X_HOME_DIR < 0 From 80be6f3f9162e082d57716ffcd0767f59fd260d5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 26 Jan 2015 05:18:43 -0800 Subject: [PATCH 045/132] tweak tweak --- Marlin/pins.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index 5697931f5f..9b46b6a286 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -36,7 +36,7 @@ #include "pins_SETHI.h" #elif MB(RAMPS_OLD) #include "pins_RAMPS_OLD.h" -#elif MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) +#elif IS_RAMPS #include "pins_RAMPS_13.h" #elif MB(DUEMILANOVE_328P) #include "pins_DUEMILANOVE_328P.h" From ae4b348d77abc25ad365698106330cd098738983 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 15:19:03 -0800 Subject: [PATCH 046/132] Make sure _Ex_PINS is defined Also fix analogInputToDigitalPin so it uses proper C hex notation --- Marlin/Marlin.h | 2 +- Marlin/pins.h | 10 ++-- Marlin/pins_MEGATRONICS_3.h | 103 ++++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 Marlin/pins_MEGATRONICS_3.h diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index 1ab316aac8..c5caac7459 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -34,7 +34,7 @@ // Arduino < 1.0.0 does not define this, so we need to do it ourselves #ifndef analogInputToDigitalPin -# define analogInputToDigitalPin(p) ((p) + A0) +# define analogInputToDigitalPin(p) ((p) + 0xA0) #endif #ifdef AT90USB diff --git a/Marlin/pins.h b/Marlin/pins.h index 9b46b6a286..4ebc460a09 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -112,20 +112,18 @@ // 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, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), +#define _E1_PINS +#define _E2_PINS +#define _E3_PINS + #if EXTRUDERS > 1 #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), #if EXTRUDERS > 2 #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), #if EXTRUDERS > 3 #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), - #else - #define _E3_PINS #endif - #else - #define _E2_PINS #endif -#else - #define _E1_PINS #endif #ifdef X_STOP_PIN diff --git a/Marlin/pins_MEGATRONICS_3.h b/Marlin/pins_MEGATRONICS_3.h new file mode 100644 index 0000000000..064431be29 --- /dev/null +++ b/Marlin/pins_MEGATRONICS_3.h @@ -0,0 +1,103 @@ +/** + * MegaTronics v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 27 +#define X_ENABLE_PIN 25 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 + +#define Y_STEP_PIN 4 // A6 +#define Y_DIR_PIN 54 // A0 +#define Y_ENABLE_PIN 5 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 + +#define Z_STEP_PIN 56 // A2 +#define Z_DIR_PIN 60 // A6 +#define Z_ENABLE_PIN 55 // A1 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#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 +#define E2_DIR_PIN 24 +#define E2_ENABLE_PIN 22 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#define FAN_PIN 7 +#define FAN2_PIN 6 +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 + #define TEMP_0_PIN 4 // ANALOG NUMBERING +#else + #define TEMP_0_PIN 13 // ANALOG NUMBERING +#endif + + +#if TEMP_SENSOR_1 == -1 + #define TEMP_1_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_1_PIN 15 // ANALOG NUMBERING +#endif + +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 10 // BED + +#if TEMP_SENSOR_BED == -1 + #define TEMP_BED_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_BED_PIN 14 // ANALOG NUMBERING +#endif + +#define BEEPER 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 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1 From 2ce4a102eec81f2896a9e432b54aea810ae9c265 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 15:54:46 -0800 Subject: [PATCH 047/132] Add support for Megatronics 3 a la #1426 --- Marlin/boards.h | 1 + Marlin/pins.h | 6 +- Marlin/pins_MEGATRONICS_3.h | 114 ++++++++++++++++-------------------- 3 files changed, 55 insertions(+), 66 deletions(-) diff --git a/Marlin/boards.h b/Marlin/boards.h index b97ea211ca..fa06f0dedb 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -41,6 +41,7 @@ #define BOARD_MEGATRONICS 70 // Megatronics #define BOARD_MEGATRONICS_2 701 // Megatronics v2.0 #define BOARD_MEGATRONICS_1 702 // Minitronics v1.0 +#define BOARD_MEGATRONICS_3 703 // Megatronics v3.0 #define BOARD_OMCA_A 90 // Alpha OMCA board #define BOARD_OMCA 91 // Final OMCA board #define BOARD_RAMBO 301 // Rambo diff --git a/Marlin/pins.h b/Marlin/pins.h index 4ebc460a09..3f11e900b5 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -88,10 +88,12 @@ #include "pins_GEN3_MONOLITHIC.h" #elif MB(MEGATRONICS) #include "pins_MEGATRONICS.h" -#elif MB(MEGATRONICS_2) - #include "pins_MEGATRONICS_2.h" #elif MB(MEGATRONICS_1) #include "pins_MEGATRONICS_1.h" +#elif MB(MEGATRONICS_2) + #include "pins_MEGATRONICS_2.h" +#elif MB(MEGATRONICS_3) + #include "pins_MEGATRONICS_3.h" #elif MB(OMCA_A) #include "pins_OMCA_A.h" #elif MB(OMCA) diff --git a/Marlin/pins_MEGATRONICS_3.h b/Marlin/pins_MEGATRONICS_3.h index 064431be29..1ceb89aab5 100644 --- a/Marlin/pins_MEGATRONICS_3.h +++ b/Marlin/pins_MEGATRONICS_3.h @@ -1,5 +1,5 @@ /** - * MegaTronics v2.0 pin assignments + * MegaTronics v3.0 pin assignments */ #ifndef __AVR_ATmega2560__ @@ -8,93 +8,79 @@ #define LARGE_FLASH true -#define X_STEP_PIN 26 -#define X_DIR_PIN 27 -#define X_ENABLE_PIN 25 -#define X_MIN_PIN 37 -#define X_MAX_PIN 40 +#define X_STEP_PIN 58 +#define X_DIR_PIN 57 +#define X_ENABLE_PIN 59 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 // 2 // Max endstops default to disabled "-1", set to commented value to enable. -#define Y_STEP_PIN 4 // A6 -#define Y_DIR_PIN 54 // A0 -#define Y_ENABLE_PIN 5 -#define Y_MIN_PIN 41 -#define Y_MAX_PIN 38 +#define Y_STEP_PIN 5 // A6 +#define Y_DIR_PIN 17 // A0 +#define Y_ENABLE_PIN 4 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 // 15 -#define Z_STEP_PIN 56 // A2 -#define Z_DIR_PIN 60 // A6 -#define Z_ENABLE_PIN 55 // A1 -#define Z_MIN_PIN 18 -#define Z_MAX_PIN 19 +#define Z_STEP_PIN 16 // A2 +#define Z_DIR_PIN 11 // A6 +#define Z_ENABLE_PIN 3 // A1 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 -#define E0_STEP_PIN 35 -#define E0_DIR_PIN 36 -#define E0_ENABLE_PIN 34 +#define E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 29 -#define E1_STEP_PIN 29 -#define E1_DIR_PIN 39 -#define E1_ENABLE_PIN 28 +#define E1_STEP_PIN 25 +#define E1_DIR_PIN 24 +#define E1_ENABLE_PIN 26 -#define E2_STEP_PIN 23 -#define E2_DIR_PIN 24 -#define E2_ENABLE_PIN 22 +#define E2_STEP_PIN 22 +#define E2_DIR_PIN 60 +#define E2_ENABLE_PIN 23 #define SDPOWER -1 #define SDSS 53 #define LED_PIN 13 -#define FAN_PIN 7 -#define FAN2_PIN 6 #define PS_ON_PIN 12 #define KILL_PIN -1 -#define HEATER_0_PIN 9 // EXTRUDER 1 -#define HEATER_1_PIN 8 // EXTRUDER 2 -#define HEATER_2_PIN -1 +#define HEATER_0_PIN 2 +#define HEATER_1_PIN 8 +#define HEATER_2_PIN 9 +#define HEATER_BED_PIN 10 +#define FAN_PIN 6 +#define FAN2_PIN 7 -#if TEMP_SENSOR_0 == -1 - #define TEMP_0_PIN 4 // ANALOG NUMBERING -#else - #define TEMP_0_PIN 13 // ANALOG NUMBERING -#endif +#define TEMP_0_PIN (TEMP_SENSOR_0 == -1 ? 11 : 15) // ANALOG NUMBERING +#define TEMP_1_PIN (TEMP_SENSOR_1 == -1 ? 10 : 13) // ANALOG NUMBERING +#define TEMP_2_PIN (TEMP_SENSOR_2 == -1 ? 9 : 12) // ANALOG NUMBERING +#define TEMP_BED_PIN (TEMP_SENSOR_BED == -1 ? 8 : 14) // ANALOG NUMBERING +#define BEEPER 61 -#if TEMP_SENSOR_1 == -1 - #define TEMP_1_PIN 8 // ANALOG NUMBERING -#else - #define TEMP_1_PIN 15 // ANALOG NUMBERING -#endif - -#define TEMP_2_PIN -1 // ANALOG NUMBERING - -#define HEATER_BED_PIN 10 // BED - -#if TEMP_SENSOR_BED == -1 - #define TEMP_BED_PIN 8 // ANALOG NUMBERING -#else - #define TEMP_BED_PIN 14 // ANALOG NUMBERING -#endif - -#define BEEPER 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 +#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 // Buttons are directly attached using keypad -#define BTN_EN1 61 -#define BTN_EN2 59 -#define BTN_ENC 43 //the click +#define BTN_EN1 44 +#define BTN_EN2 45 +#define BTN_ENC 33 // the click #define BLEN_C 2 #define BLEN_B 1 #define BLEN_A 0 -#define SDCARDDETECT -1 // Megatronics does not use this port +#define SDCARDDETECT -1 // Megatronics does not use this port // Encoder rotation values #define encrot0 0 From c90f2e77d831b26e8a2a9483b1d6bb73ce46173b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 21:36:58 -0800 Subject: [PATCH 048/132] Remove language strings that only add a number MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This won’t reduce the string storage in the end, but it makes the language files smaller. Also removed remaining unused strings. --- Marlin/language_an.h | 32 ++----------- Marlin/language_ca.h | 31 ++----------- Marlin/language_de.h | 32 ++----------- Marlin/language_en.h | 46 ++++--------------- Marlin/language_es.h | 40 ++-------------- Marlin/language_eu.h | 31 ++----------- Marlin/language_fi.h | 31 ++----------- Marlin/language_fr.h | 32 ++----------- Marlin/language_it.h | 44 +++--------------- Marlin/language_nl.h | 31 ++----------- Marlin/language_pl.h | 34 ++------------ Marlin/language_pt.h | 106 ++++++++++++++++--------------------------- Marlin/language_ru.h | 99 ++++++++++++++++------------------------ Marlin/ultralcd.cpp | 50 ++++++++++---------- 14 files changed, 154 insertions(+), 485 deletions(-) diff --git a/Marlin/language_an.h b/Marlin/language_an.h index 5ba45afac8..e26c7d8682 100644 --- a/Marlin/language_an.h +++ b/Marlin/language_an.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Establir zero" #define MSG_PREHEAT_PLA "Precalentar PLA" -#define MSG_PREHEAT_PLA0 "Precalentar PLA1" -#define MSG_PREHEAT_PLA1 "Precalentar PLA2" -#define MSG_PREHEAT_PLA2 "Precalentar PLA3" -#define MSG_PREHEAT_PLA3 "Precalentar PLA4" -#define MSG_PREHEAT_PLA0123 "Precalentar PLA a" +#define MSG_PREHEAT_PLA_N "Precalentar PLA " +#define MSG_PREHEAT_PLA_ALL "Precalentar PLA a" #define MSG_PREHEAT_PLA_BEDONLY "Prec. PLA Base" #define MSG_PREHEAT_PLA_SETTINGS "Achustar tem. PLA" #define MSG_PREHEAT_ABS "Precalentar ABS" -#define MSG_PREHEAT_ABS0 "Precalentar ABS1" -#define MSG_PREHEAT_ABS1 "Precalentar ABS2" -#define MSG_PREHEAT_ABS2 "Precalentar ABS3" -#define MSG_PREHEAT_ABS3 "Precalentar ABS4" -#define MSG_PREHEAT_ABS0123 "Precalentar ABS a" +#define MSG_PREHEAT_ABS_N "Precalentar ABS " +#define MSG_PREHEAT_ABS_ALL "Precalentar ABS a" #define MSG_PREHEAT_ABS_BEDONLY "Prec. ABS Base" #define MSG_PREHEAT_ABS_SETTINGS "Achustar tem. ABS" #define MSG_COOLDOWN "Enfriar" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" #define MSG_SPEED "Velocidat" #define MSG_NOZZLE "Nozzle" -#define MSG_NOZZLE1 "Nozzle2" -#define MSG_NOZZLE2 "Nozzle3" #define MSG_BED "Base" #define MSG_FAN_SPEED "Ixoriador" #define MSG_FLOW "Fluxo" -#define MSG_FLOW0 "Fluxo 0" -#define MSG_FLOW1 "Fluxo 1" -#define MSG_FLOW2 "Fluxo 2" #define MSG_CONTROL "Control" #define MSG_MIN "\002 Min" #define MSG_MAX "\002 Max" @@ -132,17 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_RECTRACT "Retraer" -#define MSG_RECTRACT_WIDE "Retraer" -#define MSG_TEMPERATURE_WIDE "Temperatura" -#define MSG_TEMPERATURE_RTN "Temperatura" -#define MSG_MAIN_WIDE "Menu Prencipal" -#define MSG_MOTION_WIDE "Movimiento" -#define MSG_PREPARE_ALT "Preparar" -#define MSG_CONTROL_ARROW "Control \x7E" -#define MSG_RETRACT_ARROW "Retraer \x7E" -#define MSG_STEPPER_RELEASED "Desacoplada." - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_ca.h b/Marlin/language_ca.h index 12ad566ad7..e7f837d5d3 100644 --- a/Marlin/language_ca.h +++ b/Marlin/language_ca.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Establir origen" #define MSG_PREHEAT_PLA "Preescalfar PLA" -#define MSG_PREHEAT_PLA0 "Preescalfar PLA 1" -#define MSG_PREHEAT_PLA1 "Preescalfar PLA 2" -#define MSG_PREHEAT_PLA2 "Preescalfar PLA 3" -#define MSG_PREHEAT_PLA3 "Preescalfar PLA 4" -#define MSG_PREHEAT_PLA0123 "Preesc. tot PLA" +#define MSG_PREHEAT_PLA_N "Preescalfar PLA " +#define MSG_PREHEAT_PLA_ALL "Preesc. tot PLA" #define MSG_PREHEAT_PLA_BEDONLY "Preesc. llit PLA" #define MSG_PREHEAT_PLA_SETTINGS "Configuració PLA" #define MSG_PREHEAT_ABS "Preescalfar ABS" -#define MSG_PREHEAT_ABS0 "Preescalfar ABS 1" -#define MSG_PREHEAT_ABS1 "Preescalfar ABS 2" -#define MSG_PREHEAT_ABS2 "Preescalfar ABS 3" -#define MSG_PREHEAT_ABS3 "Preescalfar ABS 4" -#define MSG_PREHEAT_ABS0123 "Preesc. tot ABS" +#define MSG_PREHEAT_ABS_N "Preescalfar ABS " +#define MSG_PREHEAT_ABS_ALL "Preesc. tot ABS" #define MSG_PREHEAT_ABS_BEDONLY "Preesc. llit ABS" #define MSG_PREHEAT_ABS_SETTINGS "Configuració ABS" #define MSG_COOLDOWN "Refredar" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Moure Y" #define MSG_MOVE_Z "Moure Z" #define MSG_MOVE_E "Extrusor" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Moure 0.1mm" #define MSG_MOVE_1MM "Moure 1mm" #define MSG_MOVE_10MM "Moure 10mm" #define MSG_SPEED "Velocitat" #define MSG_NOZZLE "Nozzle" -#define MSG_NOZZLE1 "Nozzle2" -#define MSG_NOZZLE2 "Nozzle3" #define MSG_BED "Llit" #define MSG_FAN_SPEED "Vel. Ventilador" #define MSG_FLOW "Fluxe" -#define MSG_FLOW0 "Fluxe 0" -#define MSG_FLOW1 "Fluxe 1" -#define MSG_FLOW2 "Fluxe 2" #define MSG_CONTROL "Control" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Accel" #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -140,8 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_RECTRACT "Retreure" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_de.h b/Marlin/language_de.h index c3a1a95fc1..8aa06024ce 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Setze Nullpunkt" #define MSG_PREHEAT_PLA "Vorwärmen PLA" -#define MSG_PREHEAT_PLA0 "Vorwärmen PLA 1" -#define MSG_PREHEAT_PLA1 "Vorwärmen PLA 2" -#define MSG_PREHEAT_PLA2 "Vorwärmen PLA 3" -#define MSG_PREHEAT_PLA3 "Vorwärmen PLA 4" -#define MSG_PREHEAT_PLA0123 "Vorw. PLA Alle" +#define MSG_PREHEAT_PLA_N "Vorwärmen PLA " +#define MSG_PREHEAT_PLA_ALL "Vorw. PLA Alle" #define MSG_PREHEAT_PLA_BEDONLY "Vorw. PLA Bett" #define MSG_PREHEAT_PLA_SETTINGS "Vorwärm. PLA Ein." #define MSG_PREHEAT_ABS "Vorwärmen ABS" -#define MSG_PREHEAT_ABS0 "Vorwärmen ABS 1" -#define MSG_PREHEAT_ABS1 "Vorwärmen ABS 2" -#define MSG_PREHEAT_ABS2 "Vorwärmen ABS 3" -#define MSG_PREHEAT_ABS3 "Vorwärmen ABS 4" -#define MSG_PREHEAT_ABS0123 "Vorw. ABS Alle" +#define MSG_PREHEAT_ABS_N "Vorwärmen ABS " +#define MSG_PREHEAT_ABS_ALL "Vorw. ABS Alle" #define MSG_PREHEAT_ABS_BEDONLY "Vorw. ABS Bett" #define MSG_PREHEAT_ABS_SETTINGS "Vorwärm. ABS Ein." #define MSG_COOLDOWN "Abkühlen" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Y bewegen" #define MSG_MOVE_Z "Z bewegen" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "0.1mm bewegen" #define MSG_MOVE_1MM "1mm bewegen" #define MSG_MOVE_10MM "10mm bewegen" #define MSG_SPEED "Geschw" #define MSG_NOZZLE "Düse" -#define MSG_NOZZLE1 "Düse2" -#define MSG_NOZZLE2 "Düse3" #define MSG_BED "Bett" #define MSG_FAN_SPEED "Lüftergeschw." #define MSG_FLOW "Fluss" -#define MSG_FLOW0 "Fluss 0" -#define MSG_FLOW1 "Fluss 1" -#define MSG_FLOW2 "Fluss 2" #define MSG_CONTROL "Einstellungen" #define MSG_MIN "\002 Min" #define MSG_MAX "\002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Acc" #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -140,9 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_STEPPER_RELEASED "Stepper frei" -#define MSG_RECTRACT_WIDE "Rectract" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_en.h b/Marlin/language_en.h index 6261b14b97..55f784e8ac 100644 --- a/Marlin/language_en.h +++ b/Marlin/language_en.h @@ -18,21 +18,15 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Set origin" #define MSG_PREHEAT_PLA "Preheat PLA" -#define MSG_PREHEAT_PLA0 "Preheat PLA 1" -#define MSG_PREHEAT_PLA1 "Preheat PLA 2" -#define MSG_PREHEAT_PLA2 "Preheat PLA 3" -#define MSG_PREHEAT_PLA3 "Preheat PLA 4" -#define MSG_PREHEAT_PLA0123 "Preheat PLA All" -#define MSG_PREHEAT_PLA_BEDONLY "Preheat PLA Bed" -#define MSG_PREHEAT_PLA_SETTINGS "Preheat PLA conf" +#define MSG_PREHEAT_PLA_N MSG_PREHEAT_PLA " " +#define MSG_PREHEAT_PLA_ALL MSG_PREHEAT_PLA " All" +#define MSG_PREHEAT_PLA_BEDONLY MSG_PREHEAT_PLA " Bed" +#define MSG_PREHEAT_PLA_SETTINGS MSG_PREHEAT_PLA " conf" #define MSG_PREHEAT_ABS "Preheat ABS" -#define MSG_PREHEAT_ABS0 "Preheat ABS 1" -#define MSG_PREHEAT_ABS1 "Preheat ABS 2" -#define MSG_PREHEAT_ABS2 "Preheat ABS 3" -#define MSG_PREHEAT_ABS3 "Preheat ABS 4" -#define MSG_PREHEAT_ABS0123 "Preheat ABS All" -#define MSG_PREHEAT_ABS_BEDONLY "Preheat ABS Bed" -#define MSG_PREHEAT_ABS_SETTINGS "Preheat ABS conf" +#define MSG_PREHEAT_ABS_N MSG_PREHEAT_ABS " " +#define MSG_PREHEAT_ABS_ALL MSG_PREHEAT_ABS " All" +#define MSG_PREHEAT_ABS_BEDONLY MSG_PREHEAT_ABS " Bed" +#define MSG_PREHEAT_ABS_SETTINGS MSG_PREHEAT_ABS " conf" #define MSG_COOLDOWN "Cooldown" #define MSG_SWITCH_PS_ON "Switch power on" #define MSG_SWITCH_PS_OFF "Switch power off" @@ -43,24 +37,14 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" -#define MSG_MOVE_E3 "Extruder4" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" #define MSG_SPEED "Speed" #define MSG_NOZZLE "Nozzle" -#define MSG_NOZZLE1 "Nozzle2" -#define MSG_NOZZLE2 "Nozzle3" -#define MSG_NOZZLE3 "Nozzle4" #define MSG_BED "Bed" #define MSG_FAN_SPEED "Fan speed" #define MSG_FLOW "Flow" -#define MSG_FLOW0 "Flow 0" -#define MSG_FLOW1 "Flow 1" -#define MSG_FLOW2 "Flow 2" -#define MSG_FLOW3 "Flow 3" #define MSG_CONTROL "Control" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -72,18 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" -#define MSG_PID_P3 "PID-P E4" -#define MSG_PID_I3 "PID-I E4" -#define MSG_PID_D3 "PID-D E4" -#define MSG_PID_C3 "PID-C E4" #define MSG_ACC "Accel" #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -148,8 +120,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_RECTRACT "Rectract" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_es.h b/Marlin/language_es.h index 65132e8c6d..2d7b785bdf 100644 --- a/Marlin/language_es.h +++ b/Marlin/language_es.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Ajustar offsets" #define MSG_SET_ORIGIN "Establecer cero" #define MSG_PREHEAT_PLA "Precalentar PLA" -#define MSG_PREHEAT_PLA0 "Precalentar PLA 1" -#define MSG_PREHEAT_PLA1 "Precalentar PLA 2" -#define MSG_PREHEAT_PLA2 "Precalentar PLA 3" -#define MSG_PREHEAT_PLA3 "Precalentar PLA 4" -#define MSG_PREHEAT_PLA0123 "Precal. PLA Todo" +#define MSG_PREHEAT_PLA_N "Precalentar PLA " +#define MSG_PREHEAT_PLA_ALL "Precal. PLA Todo" #define MSG_PREHEAT_PLA_BEDONLY "Precal. PLA Base" #define MSG_PREHEAT_PLA_SETTINGS "Ajustar temp. PLA" #define MSG_PREHEAT_ABS "Precalentar ABS" -#define MSG_PREHEAT_ABS0 "Precalentar ABS 1" -#define MSG_PREHEAT_ABS1 "Precalentar ABS 2" -#define MSG_PREHEAT_ABS2 "Precalentar ABS 3" -#define MSG_PREHEAT_ABS3 "Precalentar ABS 4" -#define MSG_PREHEAT_ABS0123 "Precal. ABS Todo" +#define MSG_PREHEAT_ABS_N "Precalentar ABS " +#define MSG_PREHEAT_ABS_ALL "Precal. ABS Todo" #define MSG_PREHEAT_ABS_BEDONLY "Precal. ABS Base" #define MSG_PREHEAT_ABS_SETTINGS "Ajustar temp. ABS" #define MSG_COOLDOWN "Enfriar" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Mover Y" #define MSG_MOVE_Z "Mover Z" #define MSG_MOVE_E "Extrusor" -#define MSG_MOVE_E1 "Extrusor2" -#define MSG_MOVE_E2 "Extrusor3" #define MSG_MOVE_01MM "Mover 0.1mm" #define MSG_MOVE_1MM "Mover 1mm" #define MSG_MOVE_10MM "Mover 10mm" #define MSG_SPEED "Velocidad" #define MSG_NOZZLE "Nozzle" -#define MSG_NOZZLE1 "Nozzle2" -#define MSG_NOZZLE2 "Nozzle3" #define MSG_BED "Base" #define MSG_FAN_SPEED "Ventilador" #define MSG_FLOW "Flujo" -#define MSG_FLOW0 "Flujo 0" -#define MSG_FLOW1 "Flujo 1" -#define MSG_FLOW2 "Flujo 2" #define MSG_CONTROL "Control" #define MSG_MIN "\002 Min" #define MSG_MAX "\002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Acel" #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -140,17 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_RECTRACT "Retraer" -#define MSG_RECTRACT_WIDE "Retraer" -#define MSG_TEMPERATURE_WIDE "Temperatura" -#define MSG_TEMPERATURE_RTN "Temperatura" -#define MSG_MAIN_WIDE "Menu principal" -#define MSG_MOTION_WIDE "Movimiento" -#define MSG_PREPARE_ALT "Preparar" -#define MSG_CONTROL_ARROW "Control \x7E" -#define MSG_RETRACT_ARROW "Retraer \x7E" -#define MSG_STEPPER_RELEASED "Desacoplada." - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_eu.h b/Marlin/language_eu.h index ddb78197bc..0f615d5a37 100644 --- a/Marlin/language_eu.h +++ b/Marlin/language_eu.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Hasiera ipini" #define MSG_PREHEAT_PLA "Aurreberotu PLA" -#define MSG_PREHEAT_PLA0 "Aurreberotu PLA1" -#define MSG_PREHEAT_PLA1 "Aurreberotu PLA2" -#define MSG_PREHEAT_PLA2 "Aurreberotu PLA3" -#define MSG_PREHEAT_PLA3 "Aurreberotu PLA4" -#define MSG_PREHEAT_PLA0123 "Berotu PLA Guztia" +#define MSG_PREHEAT_PLA_N "Aurreberotu PLA " +#define MSG_PREHEAT_PLA_ALL "Berotu PLA Guztia" #define MSG_PREHEAT_PLA_BEDONLY "Berotu PLA Ohea" #define MSG_PREHEAT_PLA_SETTINGS "Berotu PLA Konfig" #define MSG_PREHEAT_ABS "Aurreberotu ABS" -#define MSG_PREHEAT_ABS0 "Aurreberotu ABS 1" -#define MSG_PREHEAT_ABS1 "Aurreberotu ABS 2" -#define MSG_PREHEAT_ABS2 "Aurreberotu ABS 3" -#define MSG_PREHEAT_ABS3 "Aurreberotu ABS 4" -#define MSG_PREHEAT_ABS0123 "Berotu ABS Guztia" +#define MSG_PREHEAT_ABS_N "Aurreberotu ABS " +#define MSG_PREHEAT_ABS_ALL "Berotu ABS Guztia" #define MSG_PREHEAT_ABS_BEDONLY "Berotu ABS Ohea" #define MSG_PREHEAT_ABS_SETTINGS "Berotu ABS Konfig" #define MSG_COOLDOWN "Hoztu" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Mugitu Y" #define MSG_MOVE_Z "Mugitu Z" #define MSG_MOVE_E "Estrusorea" -#define MSG_MOVE_E1 "Estrusorea2" -#define MSG_MOVE_E2 "Estrusorea3" #define MSG_MOVE_01MM "Mugitu 0.1mm" #define MSG_MOVE_1MM "Mugitu 1mm" #define MSG_MOVE_10MM "Mugitu 10mm" #define MSG_SPEED "Abiadura" #define MSG_NOZZLE "Pita" -#define MSG_NOZZLE1 "Pita2" -#define MSG_NOZZLE2 "Pita3" #define MSG_BED "Ohea" #define MSG_FAN_SPEED "Haizagailua" #define MSG_FLOW "Fluxua" -#define MSG_FLOW0 "Fluxua 0" -#define MSG_FLOW1 "Fluxua 1" -#define MSG_FLOW2 "Fluxua 2" #define MSG_CONTROL "Kontrola" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Azelerazioa" #define MSG_VXY_JERK "Vxy-astindua" #define MSG_VZ_JERK "Vz-astindua" @@ -140,8 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop deuseztat" -#define MSG_RECTRACT "Atzera eragin" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_fi.h b/Marlin/language_fi.h index bf7f74789e..2346600256 100644 --- a/Marlin/language_fi.h +++ b/Marlin/language_fi.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Aseta origo" #define MSG_PREHEAT_PLA "Esilammita PLA" -#define MSG_PREHEAT_PLA0 "Esilammita PLA 1" -#define MSG_PREHEAT_PLA1 "Esilammita PLA 2" -#define MSG_PREHEAT_PLA2 "Esilammita PLA 3" -#define MSG_PREHEAT_PLA3 "Esilammita PLA 4" -#define MSG_PREHEAT_PLA0123 "Esila. PLA Kaikki" +#define MSG_PREHEAT_PLA_N "Esilammita PLA " +#define MSG_PREHEAT_PLA_ALL "Esila. PLA Kaikki" #define MSG_PREHEAT_PLA_BEDONLY "Esila. PLA Alusta" #define MSG_PREHEAT_PLA_SETTINGS "Esilamm. PLA konf" #define MSG_PREHEAT_ABS "Esilammita ABS" -#define MSG_PREHEAT_ABS0 "Esilammita ABS 1" -#define MSG_PREHEAT_ABS1 "Esilammita ABS 2" -#define MSG_PREHEAT_ABS2 "Esilammita ABS 3" -#define MSG_PREHEAT_ABS3 "Esilammita ABS 4" -#define MSG_PREHEAT_ABS0123 "Esila. ABS Kaikki" +#define MSG_PREHEAT_ABS_N "Esilammita ABS " +#define MSG_PREHEAT_ABS_ALL "Esila. ABS Kaikki" #define MSG_PREHEAT_ABS_BEDONLY "Esila. ABS Alusta" #define MSG_PREHEAT_ABS_SETTINGS "Esilamm. ABS konf" #define MSG_COOLDOWN "Jaahdyta" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" #define MSG_SPEED "Nopeus" #define MSG_NOZZLE "Suutin" -#define MSG_NOZZLE1 "Suutin2" -#define MSG_NOZZLE2 "Suutin3" #define MSG_BED "Alusta" #define MSG_FAN_SPEED "Tuul. nopeus" #define MSG_FLOW "Virtaus" -#define MSG_FLOW0 "Virtaus 0" -#define MSG_FLOW1 "Virtaus 1" -#define MSG_FLOW2 "Virtaus 2" #define MSG_CONTROL "Kontrolli" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Kiihtyv" #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -140,8 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_RECTRACT "Veda takaisin" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_fr.h b/Marlin/language_fr.h index ddd4a770b2..8019f96a5b 100644 --- a/Marlin/language_fr.h +++ b/Marlin/language_fr.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Regler origine" #define MSG_PREHEAT_PLA "Prechauffage PLA" -#define MSG_PREHEAT_PLA0 "Prechauff. PLA 1" -#define MSG_PREHEAT_PLA1 "Prechauff. PLA 2" -#define MSG_PREHEAT_PLA2 "Prechauff. PLA 3" -#define MSG_PREHEAT_PLA3 "Prechauff. PLA 4" -#define MSG_PREHEAT_PLA0123 "Prech. PLA Tout" +#define MSG_PREHEAT_PLA_N "Prechauff. PLA " +#define MSG_PREHEAT_PLA_ALL "Prech. PLA Tout" #define MSG_PREHEAT_PLA_BEDONLY "Prech. PLA Plateau" #define MSG_PREHEAT_PLA_SETTINGS "Regl. prech. PLA" #define MSG_PREHEAT_ABS "Prechauffage ABS" -#define MSG_PREHEAT_ABS0 "Prechauff. ABS 1" -#define MSG_PREHEAT_ABS1 "Prechauff. ABS 2" -#define MSG_PREHEAT_ABS2 "Prechauff. ABS 3" -#define MSG_PREHEAT_ABS3 "Prechauff. ABS 4" -#define MSG_PREHEAT_ABS0123 "Prech. ABS Tout" +#define MSG_PREHEAT_ABS_N "Prechauff. ABS " +#define MSG_PREHEAT_ABS_ALL "Prech. ABS Tout" #define MSG_PREHEAT_ABS_BEDONLY "Prech. ABS Plateau" #define MSG_PREHEAT_ABS_SETTINGS "Regl. prech. ABS" #define MSG_COOLDOWN "Refroidir" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" #define MSG_SPEED " Vitesse" #define MSG_NOZZLE "Buse" -#define MSG_NOZZLE1 "Buse2" -#define MSG_NOZZLE2 "Buse3" #define MSG_BED "Plateau" #define MSG_FAN_SPEED "Vite. ventilateur" #define MSG_FLOW "Flux" -#define MSG_FLOW0 "Flux 0" -#define MSG_FLOW1 "Flux 1" -#define MSG_FLOW2 "Flux 2" #define MSG_CONTROL "Controler" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Accel" #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -140,9 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Butee abandon" -#define MSG_RECTRACT "Rectract" -#define MSG_STEPPER_RELEASED "RELACHE." - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_it.h b/Marlin/language_it.h index 98e6812f0f..b0b644231c 100644 --- a/Marlin/language_it.h +++ b/Marlin/language_it.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Setta offset home" #define MSG_SET_ORIGIN "Imposta Origine" #define MSG_PREHEAT_PLA "Preriscalda PLA" -#define MSG_PREHEAT_PLA0 "Preriscalda PLA 1" -#define MSG_PREHEAT_PLA1 "Preriscalda PLA 2" -#define MSG_PREHEAT_PLA2 "Preriscalda PLA 3" -#define MSG_PREHEAT_PLA3 "Preriscalda PLA 4" -#define MSG_PREHEAT_PLA0123 "Prer. PLA Tutto" +#define MSG_PREHEAT_PLA_N "Preriscalda PLA " +#define MSG_PREHEAT_PLA_ALL "Prer. PLA Tutto" #define MSG_PREHEAT_PLA_BEDONLY "Prer. PLA Piatto" #define MSG_PREHEAT_PLA_SETTINGS "Config. prer. PLA" #define MSG_PREHEAT_ABS "Preriscalda ABS" -#define MSG_PREHEAT_ABS0 "Preriscalda ABS 1" -#define MSG_PREHEAT_ABS1 "Preriscalda ABS 2" -#define MSG_PREHEAT_ABS2 "Preriscalda ABS 3" -#define MSG_PREHEAT_ABS3 "Preriscalda ABS 4" -#define MSG_PREHEAT_ABS0123 "Prer. ABS Tutto" +#define MSG_PREHEAT_ABS_N "Preriscalda ABS " +#define MSG_PREHEAT_ABS_ALL "Prer. ABS Tutto" #define MSG_PREHEAT_ABS_BEDONLY "Prer. ABS Piatto" #define MSG_PREHEAT_ABS_SETTINGS "Config. prer. ABS" #define MSG_COOLDOWN "Raffredda" @@ -43,28 +37,18 @@ #define MSG_MOVE_Y "Muovi Y" #define MSG_MOVE_Z "Muovi Z" #define MSG_MOVE_E "Estrusore" -#define MSG_MOVE_E1 "Estrusore 2" -#define MSG_MOVE_E2 "Estrusore 3" -#define MSG_MOVE_E3 "Estrusore 4" #define MSG_MOVE_01MM "Muovi di 0.1mm" #define MSG_MOVE_1MM "Muovi di 1mm" #define MSG_MOVE_10MM "Muovi di 10mm" #define MSG_SPEED "Velcità" #define MSG_NOZZLE "Ugello" -#define MSG_NOZZLE1 "Ugello2" -#define MSG_NOZZLE2 "Ugello3" -#define MSG_NOZZLE3 "Ugello4" #define MSG_BED "Piatto" #define MSG_FAN_SPEED "Ventola" #define MSG_FLOW "Flusso" -#define MSG_FLOW0 "Flusso 0" -#define MSG_FLOW1 "Flusso 1" -#define MSG_FLOW2 "Flusso 2" -#define MSG_FLOW3 "Flusso 3" #define MSG_CONTROL "Controllo" -#define MSG_MIN " \002 Min:" -#define MSG_MAX " \002 Max:" -#define MSG_FACTOR " \002 Fact:" +#define MSG_MIN " \002 Min" +#define MSG_MAX " \002 Max" +#define MSG_FACTOR " \002 Fact" #define MSG_AUTOTEMP "Autotemp" #define MSG_ON "ON " #define MSG_OFF "OFF" @@ -72,18 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" -#define MSG_PID_P3 "PID-P E4" -#define MSG_PID_I3 "PID-I E4" -#define MSG_PID_D3 "PID-D E4" -#define MSG_PID_C3 "PID-C E4" #define MSG_ACC "Accel." #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -148,8 +120,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Finecorsa abort" -#define MSG_RECTRACT "Ritrai" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Calibraz. Delta" #define MSG_DELTA_CALIBRATE_X "Calibra X" diff --git a/Marlin/language_nl.h b/Marlin/language_nl.h index 105f3fc326..7de2f9a8e2 100644 --- a/Marlin/language_nl.h +++ b/Marlin/language_nl.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Nulpunt instellen" #define MSG_PREHEAT_PLA "PLA voorverwarmen" -#define MSG_PREHEAT_PLA0 "PLA voorverw. 1" -#define MSG_PREHEAT_PLA1 "PLA voorverw. 2" -#define MSG_PREHEAT_PLA2 "PLA voorverw. 3" -#define MSG_PREHEAT_PLA3 "PLA voorverw. 4" -#define MSG_PREHEAT_PLA0123 "PLA voorverw. aan" +#define MSG_PREHEAT_PLA_N "PLA voorverw. " +#define MSG_PREHEAT_PLA_ALL "PLA voorverw. aan" #define MSG_PREHEAT_PLA_BEDONLY "PLA voorverw. Bed" #define MSG_PREHEAT_PLA_SETTINGS "PLA verw. conf" #define MSG_PREHEAT_ABS "ABS voorverwarmen" -#define MSG_PREHEAT_ABS0 "ABS voorverw. 1" -#define MSG_PREHEAT_ABS1 "ABS voorverw. 2" -#define MSG_PREHEAT_ABS2 "ABS voorverw. 3" -#define MSG_PREHEAT_ABS3 "ABS voorverw. 4" -#define MSG_PREHEAT_ABS0123 "ABS voorverw. aan" +#define MSG_PREHEAT_ABS_N "ABS voorverw. " +#define MSG_PREHEAT_ABS_ALL "ABS voorverw. aan" #define MSG_PREHEAT_ABS_BEDONLY "ABS voorverw. Bed" #define MSG_PREHEAT_ABS_SETTINGS "ABS verw. conf" #define MSG_COOLDOWN "Afkoelen" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Verplaats Y" #define MSG_MOVE_Z "Verplaats Z" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Verplaats 0.1mm" #define MSG_MOVE_1MM "Verplaats 1mm" #define MSG_MOVE_10MM "Verplaats 10mm" #define MSG_SPEED "Snelheid" #define MSG_NOZZLE "Nozzle" -#define MSG_NOZZLE1 "Nozzle2" -#define MSG_NOZZLE2 "Nozzle3" #define MSG_BED "Bed" #define MSG_FAN_SPEED "Fan snelheid" #define MSG_FLOW "Flow" -#define MSG_FLOW0 "Flow 0" -#define MSG_FLOW1 "Flow 1" -#define MSG_FLOW2 "Flow 2" #define MSG_CONTROL "Control" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Versn" #define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" @@ -140,8 +119,6 @@ #define MSG_BABYSTEP_Z "Babystap Z" #define MSG_ENDSTOP_ABORT "Endstop afbr." -#define MSG_RECTRACT "Terugtrekken" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_pl.h b/Marlin/language_pl.h index 7c3c8ee458..93ccf4046b 100644 --- a/Marlin/language_pl.h +++ b/Marlin/language_pl.h @@ -18,19 +18,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Ustaw punkt zero" #define MSG_PREHEAT_PLA "Rozgrzej PLA" -#define MSG_PREHEAT_PLA0 "Rozgrzej PLA 1" -#define MSG_PREHEAT_PLA1 "Rozgrzej PLA 2" -#define MSG_PREHEAT_PLA2 "Rozgrzej PLA 3" -#define MSG_PREHEAT_PLA3 "Rozgrzej PLA 4" -#define MSG_PREHEAT_PLA0123 "Roz. PLA Wszystko" +#define MSG_PREHEAT_PLA_N "Rozgrzej PLA " +#define MSG_PREHEAT_PLA_ALL "Roz. PLA Wszystko" #define MSG_PREHEAT_PLA_BEDONLY "Rozgrzej PLA Loze" #define MSG_PREHEAT_PLA_SETTINGS "Ustaw. rozg. PLA" #define MSG_PREHEAT_ABS "Rozgrzej ABS" -#define MSG_PREHEAT_ABS0 "Rozgrzej ABS 1" -#define MSG_PREHEAT_ABS1 "Rozgrzej ABS 2" -#define MSG_PREHEAT_ABS2 "Rozgrzej ABS 3" -#define MSG_PREHEAT_ABS3 "Rozgrzej ABS 4" -#define MSG_PREHEAT_ABS0123 "Roz. ABS Wszystko" +#define MSG_PREHEAT_ABS_N "Rozgrzej ABS " +#define MSG_PREHEAT_ABS_ALL "Roz. ABS Wszystko" #define MSG_PREHEAT_ABS_BEDONLY "Rozgrzej ABS Loze" #define MSG_PREHEAT_ABS_SETTINGS "Ustaw. rozg. ABS" #define MSG_COOLDOWN "Chlodzenie" @@ -43,21 +37,14 @@ #define MSG_MOVE_Y "Przesun w Y" #define MSG_MOVE_Z "Przesun w Z" #define MSG_MOVE_E "Ekstruzja (os E)" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Przesuwaj co .1mm" #define MSG_MOVE_1MM "Przesuwaj co 1mm" #define MSG_MOVE_10MM "Przesuwaj co 10mm" #define MSG_SPEED "Predkosc" #define MSG_NOZZLE "Dysza" -#define MSG_NOZZLE1 "Dysza 2" -#define MSG_NOZZLE2 "Dysza 3" #define MSG_BED "Loze" #define MSG_FAN_SPEED "Obroty wiatraka" #define MSG_FLOW "Przeplyw" -#define MSG_FLOW0 "Przeplyw 0" -#define MSG_FLOW1 "Przeplyw 1" -#define MSG_FLOW2 "Przeplyw 2" #define MSG_CONTROL "Ustawienia" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -69,14 +56,6 @@ #define MSG_PID_I "PID-I" #define MSG_PID_D "PID-D" #define MSG_PID_C "PID-C" -#define MSG_PID_P1 "PID-P E2" -#define MSG_PID_I1 "PID-I E2" -#define MSG_PID_D1 "PID-D E2" -#define MSG_PID_C1 "PID-C E2" -#define MSG_PID_P2 "PID-P E3" -#define MSG_PID_I2 "PID-I E3" -#define MSG_PID_D2 "PID-D E3" -#define MSG_PID_C2 "PID-C E3" #define MSG_ACC "Przyspieszenie" #define MSG_VXY_JERK "Zryw Vxy" #define MSG_VZ_JERK "Zryw Vz" @@ -124,7 +103,7 @@ #define MSG_CONTROL_RETRACT "Wycofaj mm" #define MSG_CONTROL_RETRACT_SWAP "Z Wycof. mm" #define MSG_CONTROL_RETRACTF "Wycofaj V" -#define MSG_CONTROL_RETRACT_ZLIFT "Skok Z mm:" +#define MSG_CONTROL_RETRACT_ZLIFT "Skok Z mm" #define MSG_CONTROL_RETRACT_RECOVER "Cof. wycof. +mm" #define MSG_CONTROL_RETRACT_RECOVER_SWAP "Z Cof. wyc. +mm" #define MSG_CONTROL_RETRACT_RECOVERF "Cof. wycof. V" @@ -140,9 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Blad wyl. kranc." -#define MSG_RECTRACT "Wycofanie" -#define MSG_STEPPER_RELEASED "Zwolniony." - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index 624b404ea3..39a323549d 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -18,20 +18,14 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Estabelecer orig." #define MSG_PREHEAT_PLA "Pre-aquecer PLA" -#define MSG_PREHEAT_PLA0 " pre-aquecer PLA 1" -#define MSG_PREHEAT_PLA1 " pre-aquecer PLA 2" -#define MSG_PREHEAT_PLA2 " pre-aquecer PLA 3" -#define MSG_PREHEAT_PLA3 " pre-aquecer PLA 4" -#define MSG_PREHEAT_PLA0123 " pre-aq. PLA Tudo" -#define MSG_PREHEAT_PLA_BEDONLY " pre-aq. PLA \002Base" +#define MSG_PREHEAT_PLA_N "Pre-aquecer PLA " +#define MSG_PREHEAT_PLA_ALL "Pre-aq. PLA Tudo" +#define MSG_PREHEAT_PLA_BEDONLY "Pre-aq. PLA \002Base" #define MSG_PREHEAT_PLA_SETTINGS "PLA setting" #define MSG_PREHEAT_ABS "Pre-aquecer ABS" -#define MSG_PREHEAT_ABS0 " pre-aquecer ABS 1" -#define MSG_PREHEAT_ABS1 " pre-aquecer ABS 2" -#define MSG_PREHEAT_ABS2 " pre-aquecer ABS 3" -#define MSG_PREHEAT_ABS3 " pre-aquecer ABS 4" -#define MSG_PREHEAT_ABS0123 " pre-aq. ABS Tudo" -#define MSG_PREHEAT_ABS_BEDONLY " pre-aq. ABS \002Base" +#define MSG_PREHEAT_ABS_N "Pre-aquecer ABS " +#define MSG_PREHEAT_ABS_ALL "Pre-aq. ABS Tudo" +#define MSG_PREHEAT_ABS_BEDONLY "Pre-aq. ABS \002Base" #define MSG_PREHEAT_ABS_SETTINGS "ABS setting" #define MSG_COOLDOWN "Esfriar" #define MSG_SWITCH_PS_ON "Switch Power On" @@ -43,57 +37,42 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" -#define MSG_SPEED "Velocidade:" -#define MSG_NOZZLE "\002Nozzle:" -#define MSG_NOZZLE1 "\002Nozzle2:" -#define MSG_NOZZLE2 "\002Nozzle3:" -#define MSG_BED "\002Base:" +#define MSG_SPEED "Velocidade" +#define MSG_NOZZLE "\002Nozzle" +#define MSG_BED "\002Base" #define MSG_FAN_SPEED "Velocidade vento." -#define MSG_FLOW "Fluxo:" -#define MSG_FLOW0 "Fluxo0:" -#define MSG_FLOW1 "Fluxo1:" -#define MSG_FLOW2 "Fluxo2:" +#define MSG_FLOW "Fluxo" #define MSG_CONTROL "Controle \003" -#define MSG_MIN "\002 Min:" -#define MSG_MAX "\002 Max:" -#define MSG_FACTOR "\002 Fact:" -#define MSG_AUTOTEMP "Autotemp:" +#define MSG_MIN "\002 Min" +#define MSG_MAX "\002 Max" +#define MSG_FACTOR "\002 Fact" +#define MSG_AUTOTEMP "Autotemp" #define MSG_ON "On " #define MSG_OFF "Off" -#define MSG_PID_P "PID-P: " -#define MSG_PID_I "PID-I: " -#define MSG_PID_D "PID-D: " -#define MSG_PID_C "PID-C: " -#define MSG_PID_P1 "PID-P E2: " -#define MSG_PID_I1 "PID-I E2: " -#define MSG_PID_D1 "PID-D E2: " -#define MSG_PID_C1 "PID-C E2: " -#define MSG_PID_P2 "PID-P E3: " -#define MSG_PID_I2 "PID-I E3: " -#define MSG_PID_D2 "PID-D E3: " -#define MSG_PID_C2 "PID-C E3: " -#define MSG_ACC "Acc:" -#define MSG_VXY_JERK "Vxy-jerk: " +#define MSG_PID_P "PID-P" +#define MSG_PID_I "PID-I" +#define MSG_PID_D "PID-D" +#define MSG_PID_C "PID-C" +#define MSG_ACC "Acc" +#define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" #define MSG_VE_JERK "Ve-jerk" #define MSG_VMAX " Vmax " -#define MSG_X "x:" -#define MSG_Y "y:" -#define MSG_Z "z:" -#define MSG_E "e:" -#define MSG_VMIN "Vmin:" -#define MSG_VTRAV_MIN "VTrav min:" +#define MSG_X "x" +#define MSG_Y "y" +#define MSG_Z "z" +#define MSG_E "e" +#define MSG_VMIN "Vmin" +#define MSG_VTRAV_MIN "VTrav min" #define MSG_AMAX "Amax " -#define MSG_A_RETRACT "A-retract:" -#define MSG_XSTEPS "Xpasso/mm:" -#define MSG_YSTEPS "Ypasso/mm:" -#define MSG_ZSTEPS "Zpasso/mm:" -#define MSG_ESTEPS "Epasso/mm:" +#define MSG_A_RETRACT "A-retract" +#define MSG_XSTEPS "Xpasso/mm" +#define MSG_YSTEPS "Ypasso/mm" +#define MSG_ZSTEPS "Zpasso/mm" +#define MSG_ESTEPS "Epasso/mm" #define MSG_TEMPERATURE "Temperatura" #define MSG_MOTION "Movimento" #define MSG_VOLUMETRIC "Filament" @@ -121,14 +100,14 @@ #define MSG_NO_MOVE "Sem movimento" #define MSG_KILLED "PARADA DE EMERG." #define MSG_STOPPED "PARADA. " -#define MSG_CONTROL_RETRACT " Retrair mm:" -#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm:" -#define MSG_CONTROL_RETRACTF " Retrair V:" -#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm:" -#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm:" -#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm:" -#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V:" -#define MSG_AUTORETRACT " AutoRetr.:" +#define MSG_CONTROL_RETRACT " Retrair mm" +#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm" +#define MSG_CONTROL_RETRACTF " Retrair V" +#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm" +#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm" +#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm" +#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V" +#define MSG_AUTORETRACT " AutoRetr." #define MSG_FILAMENTCHANGE "Change filament" #define MSG_INIT_SDCARD "Init. SD-Card" #define MSG_CNG_SDCARD "Change SD-Card" @@ -140,13 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_RECTRACT "Retrair" -#define MSG_MAIN_WIDE "Menu Principal \003" -#define MSG_PREPARE_ALT "Preparar \003" -#define MSG_CONTROL_ARROW "Controle \x7E" -#define MSG_RETRACT_ARROW "Retrair \x7E" -#define MSG_STEPPER_RELEASED "Lancado." - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/language_ru.h b/Marlin/language_ru.h index 0e98221739..010380b7bc 100644 --- a/Marlin/language_ru.h +++ b/Marlin/language_ru.h @@ -20,19 +20,13 @@ #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Запомнить ноль" #define MSG_PREHEAT_PLA "Преднагрев PLA" -#define MSG_PREHEAT_PLA0 "Преднагрев PLA1" -#define MSG_PREHEAT_PLA1 "Преднагрев PLA2" -#define MSG_PREHEAT_PLA2 "Преднагрев PLA3" -#define MSG_PREHEAT_PLA3 "Преднагрев PLA4" -#define MSG_PREHEAT_PLA0123 "Преднаг. PLA все" +#define MSG_PREHEAT_PLA_N "Преднагрев PLA" +#define MSG_PREHEAT_PLA_ALL "Преднаг. PLA все" #define MSG_PREHEAT_PLA_BEDONLY "Пред. PLA Кровать" #define MSG_PREHEAT_PLA_SETTINGS "Настройки PLA" #define MSG_PREHEAT_ABS "Преднагрев ABS" -#define MSG_PREHEAT_ABS0 "Преднагрев ABS1" -#define MSG_PREHEAT_ABS1 "Преднагрев ABS2" -#define MSG_PREHEAT_ABS2 "Преднагрев ABS3" -#define MSG_PREHEAT_ABS3 "Преднагрев ABS4" -#define MSG_PREHEAT_ABS0123 "Преднаг. ABS все " +#define MSG_PREHEAT_ABS_N "Преднагрев ABS" +#define MSG_PREHEAT_ABS_ALL "Преднаг. ABS все " #define MSG_PREHEAT_ABS_BEDONLY "Пред. ABS Кровать" #define MSG_PREHEAT_ABS_SETTINGS "Настройки ABS" #define MSG_COOLDOWN "Охлаждение" @@ -45,57 +39,42 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" -#define MSG_MOVE_E1 "Extruder2" -#define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" -#define MSG_SPEED "Скорость:" -#define MSG_NOZZLE "\002 Фильера:" -#define MSG_NOZZLE1 "\002 Фильера2:" -#define MSG_NOZZLE2 "\002 Фильера3:" -#define MSG_BED "\002 Кровать:" -#define MSG_FAN_SPEED "Куллер:" -#define MSG_FLOW "Поток:" -#define MSG_FLOW0 " Поток0:" -#define MSG_FLOW1 " Поток1:" -#define MSG_FLOW2 " Поток2:" +#define MSG_SPEED "Скорость" +#define MSG_NOZZLE "\002 Фильера" +#define MSG_BED "\002 Кровать" +#define MSG_FAN_SPEED "Куллер" +#define MSG_FLOW "Поток" #define MSG_CONTROL "Настройки \003" -#define MSG_MIN "\002 Минимум:" -#define MSG_MAX "\002 Максимум:" -#define MSG_FACTOR "\002 Фактор:" -#define MSG_AUTOTEMP "Autotemp:" +#define MSG_MIN "\002 Минимум" +#define MSG_MAX "\002 Максимум" +#define MSG_FACTOR "\002 Фактор" +#define MSG_AUTOTEMP "Autotemp" #define MSG_ON "Вкл. " #define MSG_OFF "Выкл. " -#define MSG_PID_P "PID-P: " -#define MSG_PID_I "PID-I: " -#define MSG_PID_D "PID-D: " -#define MSG_PID_C "PID-C: " -#define MSG_PID_P1 "PID-P E2: " -#define MSG_PID_I1 "PID-I E2: " -#define MSG_PID_D1 "PID-D E2: " -#define MSG_PID_C1 "PID-C E2: " -#define MSG_PID_P2 "PID-P E3: " -#define MSG_PID_I2 "PID-I E3: " -#define MSG_PID_D2 "PID-D E3: " -#define MSG_PID_C2 "PID-C E3: " -#define MSG_ACC "Acc:" -#define MSG_VXY_JERK "Vxy-jerk: " +#define MSG_PID_P "PID-P" +#define MSG_PID_I "PID-I" +#define MSG_PID_D "PID-D" +#define MSG_PID_C "PID-C" +#define MSG_ACC "Acc" +#define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" #define MSG_VE_JERK "Ve-jerk" #define MSG_VMAX "Vmax " -#define MSG_X "x:" -#define MSG_Y "y:" -#define MSG_Z "z:" -#define MSG_E "e:" -#define MSG_VMIN "Vmin:" -#define MSG_VTRAV_MIN "VTrav min:" +#define MSG_X "x" +#define MSG_Y "y" +#define MSG_Z "z" +#define MSG_E "e" +#define MSG_VMIN "Vmin" +#define MSG_VTRAV_MIN "VTrav min" #define MSG_AMAX "Amax " -#define MSG_A_RETRACT "A-retract:" -#define MSG_XSTEPS "X шаг/mm:" -#define MSG_YSTEPS "Y шаг/mm:" -#define MSG_ZSTEPS "Z шаг/mm:" -#define MSG_ESTEPS "E шаг/mm:" +#define MSG_A_RETRACT "A-retract" +#define MSG_XSTEPS "X шаг/mm" +#define MSG_YSTEPS "Y шаг/mm" +#define MSG_ZSTEPS "Z шаг/mm" +#define MSG_ESTEPS "E шаг/mm" #define MSG_TEMPERATURE "Температура \x7E" #define MSG_MOTION "Скорости \x7E" #define MSG_VOLUMETRIC "Filament" @@ -123,14 +102,14 @@ #define MSG_NO_MOVE "Нет движения." #define MSG_KILLED "УБИТО." #define MSG_STOPPED "ОСТАНОВЛЕНО." -#define MSG_CONTROL_RETRACT "Откат mm:" -#define MSG_CONTROL_RETRACT_SWAP "своп Откат mm:" -#define MSG_CONTROL_RETRACTF "Откат V:" -#define MSG_CONTROL_RETRACT_ZLIFT "Прыжок mm:" -#define MSG_CONTROL_RETRACT_RECOVER "Возврат +mm:" -#define MSG_CONTROL_RETRACT_RECOVER_SWAP "своп Возврат +mm:" -#define MSG_CONTROL_RETRACT_RECOVERF "Возврат V:" -#define MSG_AUTORETRACT "АвтоОткат:" +#define MSG_CONTROL_RETRACT "Откат mm" +#define MSG_CONTROL_RETRACT_SWAP "своп Откат mm" +#define MSG_CONTROL_RETRACTF "Откат V" +#define MSG_CONTROL_RETRACT_ZLIFT "Прыжок mm" +#define MSG_CONTROL_RETRACT_RECOVER "Возврат +mm" +#define MSG_CONTROL_RETRACT_RECOVER_SWAP "своп Возврат +mm" +#define MSG_CONTROL_RETRACT_RECOVERF "Возврат V" +#define MSG_AUTORETRACT "АвтоОткат" #define MSG_FILAMENTCHANGE "Change filament" #define MSG_INIT_SDCARD "Init. SD-Card" #define MSG_CNG_SDCARD "Change SD-Card" @@ -142,8 +121,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort" -#define MSG_RECTRACT "Откат подачи \x7E" - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" #define MSG_DELTA_CALIBRATE_X "Calibrate X" diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index a8c7f8ca47..5e78ed560d 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -426,13 +426,13 @@ static void lcd_tune_menu() MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 15); #endif #if TEMP_SENSOR_1 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE1, &target_temperature[1], 0, HEATER_1_MAXTEMP - 15); + MENU_ITEM_EDIT(int3, MSG_NOZZLE " 2", &target_temperature[1], 0, HEATER_1_MAXTEMP - 15); #endif #if TEMP_SENSOR_2 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE2, &target_temperature[2], 0, HEATER_2_MAXTEMP - 15); + MENU_ITEM_EDIT(int3, MSG_NOZZLE " 3", &target_temperature[2], 0, HEATER_2_MAXTEMP - 15); #endif #if TEMP_SENSOR_3 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE3, &target_temperature[3], 0, HEATER_3_MAXTEMP - 15); + MENU_ITEM_EDIT(int3, MSG_NOZZLE " 4", &target_temperature[3], 0, HEATER_3_MAXTEMP - 15); #endif @@ -441,15 +441,15 @@ static void lcd_tune_menu() #endif MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255); MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999); - MENU_ITEM_EDIT(int3, MSG_FLOW0, &extruder_multiply[0], 10, 999); + MENU_ITEM_EDIT(int3, MSG_FLOW " 0", &extruder_multiply[0], 10, 999); #if TEMP_SENSOR_1 != 0 - MENU_ITEM_EDIT(int3, MSG_FLOW1, &extruder_multiply[1], 10, 999); + MENU_ITEM_EDIT(int3, MSG_FLOW " 1", &extruder_multiply[1], 10, 999); #endif #if TEMP_SENSOR_2 != 0 - MENU_ITEM_EDIT(int3, MSG_FLOW2, &extruder_multiply[2], 10, 999); + MENU_ITEM_EDIT(int3, MSG_FLOW " 2", &extruder_multiply[2], 10, 999); #endif #if TEMP_SENSOR_3 != 0 - MENU_ITEM_EDIT(int3, MSG_FLOW3, &extruder_multiply[3], 10, 999); + MENU_ITEM_EDIT(int3, MSG_FLOW " 3", &extruder_multiply[3], 10, 999); #endif @@ -591,18 +591,18 @@ static void lcd_preheat_pla_menu() { START_MENU(); MENU_ITEM(back, MSG_PREPARE, lcd_prepare_menu); - MENU_ITEM(function, MSG_PREHEAT_PLA0, lcd_preheat_pla0); + MENU_ITEM(function, MSG_PREHEAT_PLA_N "1", lcd_preheat_pla0); #if TEMP_SENSOR_1 != 0 //2 extruder preheat - MENU_ITEM(function, MSG_PREHEAT_PLA1, lcd_preheat_pla1); + MENU_ITEM(function, MSG_PREHEAT_PLA_N "2", lcd_preheat_pla1); #endif //2 extruder preheat #if TEMP_SENSOR_2 != 0 //3 extruder preheat - MENU_ITEM(function, MSG_PREHEAT_PLA2, lcd_preheat_pla2); + MENU_ITEM(function, MSG_PREHEAT_PLA_N "3", lcd_preheat_pla2); #endif //3 extruder preheat #if TEMP_SENSOR_3 != 0 //4 extruder preheat - MENU_ITEM(function, MSG_PREHEAT_PLA3, lcd_preheat_pla3); + MENU_ITEM(function, MSG_PREHEAT_PLA_N "4", lcd_preheat_pla3); #endif //4 extruder preheat #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 //all extruder preheat - MENU_ITEM(function, MSG_PREHEAT_PLA0123, lcd_preheat_pla0123); + MENU_ITEM(function, MSG_PREHEAT_PLA_ALL, lcd_preheat_pla0123); #endif //all extruder preheat #if TEMP_SENSOR_BED != 0 MENU_ITEM(function, MSG_PREHEAT_PLA_BEDONLY, lcd_preheat_pla_bedonly); @@ -614,18 +614,18 @@ static void lcd_preheat_abs_menu() { START_MENU(); MENU_ITEM(back, MSG_PREPARE, lcd_prepare_menu); - MENU_ITEM(function, MSG_PREHEAT_ABS0, lcd_preheat_abs0); + MENU_ITEM(function, MSG_PREHEAT_ABS_N "1", lcd_preheat_abs0); #if TEMP_SENSOR_1 != 0 //2 extruder preheat - MENU_ITEM(function, MSG_PREHEAT_ABS1, lcd_preheat_abs1); + MENU_ITEM(function, MSG_PREHEAT_ABS_N "2", lcd_preheat_abs1); #endif //2 extruder preheat #if TEMP_SENSOR_2 != 0 //3 extruder preheat - MENU_ITEM(function, MSG_PREHEAT_ABS2, lcd_preheat_abs2); + MENU_ITEM(function, MSG_PREHEAT_ABS_N "3", lcd_preheat_abs2); #endif //3 extruder preheat #if TEMP_SENSOR_3 != 0 //4 extruder preheat - MENU_ITEM(function, MSG_PREHEAT_ABS3, lcd_preheat_abs3); + MENU_ITEM(function, MSG_PREHEAT_ABS_N "4", lcd_preheat_abs3); #endif //4 extruder preheat #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 //all extruder preheat - MENU_ITEM(function, MSG_PREHEAT_ABS0123, lcd_preheat_abs0123); + MENU_ITEM(function, MSG_PREHEAT_ABS_ALL, lcd_preheat_abs0123); #endif //all extruder preheat #if TEMP_SENSOR_BED != 0 @@ -848,12 +848,12 @@ static void lcd_control_temperature_menu() pid_current_extruder = 0; raw_Ki = unscalePID_i(PID_PARAM(Ki,1)); raw_Kd = unscalePID_d(PID_PARAM(Kd,1)); - MENU_ITEM_EDIT(float52, MSG_PID_P1, &PID_PARAM(Kp,1), 1, 9990); + MENU_ITEM_EDIT(float52, MSG_PID_P " E2", &PID_PARAM(Kp,1), 1, 9990); // i is typically a small value so allows values below 1 - MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_I1, &raw_Ki, 0.01, 9990, copy_and_scalePID_i); - MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_D1, &raw_Kd, 1, 9990, copy_and_scalePID_d); + MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_I " E2", &raw_Ki, 0.01, 9990, copy_and_scalePID_i); + MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_D " E2", &raw_Kd, 1, 9990, copy_and_scalePID_d); #ifdef PID_ADD_EXTRUSION_RATE - MENU_ITEM_EDIT(float3, MSG_PID_C1, &PID_PARAM(Kc,1), 1, 9990); + MENU_ITEM_EDIT(float3, MSG_PID_C " E2", &PID_PARAM(Kc,1), 1, 9990); #endif//PID_ADD_EXTRUSION_RATE #endif//EXTRUDERS > 1 #if EXTRUDERS > 2 @@ -861,12 +861,12 @@ static void lcd_control_temperature_menu() pid_current_extruder = 0; raw_Ki = unscalePID_i(PID_PARAM(Ki,2)); raw_Kd = unscalePID_d(PID_PARAM(Kd,2)); - MENU_ITEM_EDIT(float52, MSG_PID_P2, &PID_PARAM(Kp,2), 1, 9990); + MENU_ITEM_EDIT(float52, MSG_PID_P " E3", &PID_PARAM(Kp,2), 1, 9990); // i is typically a small value so allows values below 1 - MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_I2, &raw_Ki, 0.01, 9990, copy_and_scalePID_i); - MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_D2, &raw_Kd, 1, 9990, copy_and_scalePID_d); + MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_I " E3", &raw_Ki, 0.01, 9990, copy_and_scalePID_i); + MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_D " E3", &raw_Kd, 1, 9990, copy_and_scalePID_d); #ifdef PID_ADD_EXTRUSION_RATE - MENU_ITEM_EDIT(float3, MSG_PID_C2, &PID_PARAM(Kc,2), 1, 9990); + MENU_ITEM_EDIT(float3, MSG_PID_C " E3", &PID_PARAM(Kc,2), 1, 9990); #endif//PID_ADD_EXTRUSION_RATE #endif//EXTRUDERS > 2 #endif // PID_PARAMS_PER_EXTRUDER From 0a21727c0a885a23b55503979430c19783997950 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 21:45:21 -0800 Subject: [PATCH 049/132] Portuguese (pt) and Brazilian Portuguese (pt-br) --- Marlin/language.h | 27 +++--- Marlin/language_pt-br.h | 130 +++++++++++++++++++++++++++ Marlin/language_pt.h | 188 +++++++++++++++++++++++----------------- 3 files changed, 251 insertions(+), 94 deletions(-) create mode 100644 Marlin/language_pt-br.h diff --git a/Marlin/language.h b/Marlin/language.h index 8dd0250ca6..e019b36171 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -11,19 +11,20 @@ // ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS // Languages -// en English -// pl Polish -// fr French -// de German -// es Spanish -// ru Russian -// it Italian -// pt Portuguese -// fi Finnish -// an Aragonese -// nl Dutch -// ca Catalan -// eu Basque-Euskera +// en English +// pl Polish +// fr French +// de German +// es Spanish +// ru Russian +// it Italian +// pt Portuguese +// pt-br Portuguese (Brazil) +// fi Finnish +// an Aragonese +// nl Dutch +// ca Catalan +// eu Basque-Euskera #ifndef LANGUAGE_INCLUDE // pick your language from the list above diff --git a/Marlin/language_pt-br.h b/Marlin/language_pt-br.h new file mode 100644 index 0000000000..924b6e4db5 --- /dev/null +++ b/Marlin/language_pt-br.h @@ -0,0 +1,130 @@ +/** + * Portuguese (Brazil) + * + * LCD Menu Messages + * Please note these are limited to 17 characters! + * + */ +#ifndef LANGUAGE_PT_BR_H +#define LANGUAGE_PT_BR_H + +#define WELCOME_MSG MACHINE_NAME " pronto." +#define MSG_SD_INSERTED "Cartao inserido" +#define MSG_SD_REMOVED "Cartao removido" +#define MSG_MAIN " Menu principal \003" +#define MSG_AUTOSTART "Autostart" +#define MSG_DISABLE_STEPPERS " Apagar motores" +#define MSG_AUTO_HOME "Ir para origen" +#define MSG_SET_HOME_OFFSETS "Set home offsets" +#define MSG_SET_ORIGIN "Estabelecer orig." +#define MSG_PREHEAT_PLA "Pre-aquecer PLA" +#define MSG_PREHEAT_PLA_N "Pre-aquecer PLA " +#define MSG_PREHEAT_PLA_ALL "Pre-aq. PLA Tudo" +#define MSG_PREHEAT_PLA_BEDONLY "Pre-aq. PLA \002Base" +#define MSG_PREHEAT_PLA_SETTINGS "PLA setting" +#define MSG_PREHEAT_ABS "Pre-aquecer ABS" +#define MSG_PREHEAT_ABS_N "Pre-aquecer ABS " +#define MSG_PREHEAT_ABS_ALL "Pre-aq. ABS Tudo" +#define MSG_PREHEAT_ABS_BEDONLY "Pre-aq. ABS \002Base" +#define MSG_PREHEAT_ABS_SETTINGS "ABS setting" +#define MSG_COOLDOWN "Esfriar" +#define MSG_SWITCH_PS_ON "Switch Power On" +#define MSG_SWITCH_PS_OFF "Switch Power Off" +#define MSG_EXTRUDE "Extrudar" +#define MSG_RETRACT "Retrair" +#define MSG_MOVE_AXIS "Mover eixo \x7E" +#define MSG_MOVE_X "Move X" +#define MSG_MOVE_Y "Move Y" +#define MSG_MOVE_Z "Move Z" +#define MSG_MOVE_E "Extruder" +#define MSG_MOVE_01MM "Move 0.1mm" +#define MSG_MOVE_1MM "Move 1mm" +#define MSG_MOVE_10MM "Move 10mm" +#define MSG_SPEED "Velocidade" +#define MSG_NOZZLE "\002Nozzle" +#define MSG_BED "\002Base" +#define MSG_FAN_SPEED "Velocidade vento." +#define MSG_FLOW "Fluxo" +#define MSG_CONTROL "Controle \003" +#define MSG_MIN "\002 Min" +#define MSG_MAX "\002 Max" +#define MSG_FACTOR "\002 Fact" +#define MSG_AUTOTEMP "Autotemp" +#define MSG_ON "On " +#define MSG_OFF "Off" +#define MSG_PID_P "PID-P" +#define MSG_PID_I "PID-I" +#define MSG_PID_D "PID-D" +#define MSG_PID_C "PID-C" +#define MSG_ACC "Acc" +#define MSG_VXY_JERK "Vxy-jerk" +#define MSG_VZ_JERK "Vz-jerk" +#define MSG_VE_JERK "Ve-jerk" +#define MSG_VMAX " Vmax " +#define MSG_X "x" +#define MSG_Y "y" +#define MSG_Z "z" +#define MSG_E "e" +#define MSG_VMIN "Vmin" +#define MSG_VTRAV_MIN "VTrav min" +#define MSG_AMAX "Amax " +#define MSG_A_RETRACT "A-retract" +#define MSG_XSTEPS "Xpasso/mm" +#define MSG_YSTEPS "Ypasso/mm" +#define MSG_ZSTEPS "Zpasso/mm" +#define MSG_ESTEPS "Epasso/mm" +#define MSG_TEMPERATURE "Temperatura" +#define MSG_MOTION "Movimento" +#define MSG_VOLUMETRIC "Filament" +#define MSG_VOLUMETRIC_ENABLED "E in mm3" +#define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Dia. 1" +#define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Dia. 2" +#define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Dia. 3" +#define MSG_CONTRAST "Contrast" +#define MSG_STORE_EPROM "Guardar memoria" +#define MSG_LOAD_EPROM "Carregar memoria" +#define MSG_RESTORE_FAILSAFE "Rest. de emergen." +#define MSG_REFRESH "\004Recarregar" +#define MSG_WATCH "Monitorar \003" +#define MSG_PREPARE "Preparar \x7E" +#define MSG_TUNE "Tune \x7E" +#define MSG_PAUSE_PRINT "Pausar impressao" +#define MSG_RESUME_PRINT "Resumir impressao" +#define MSG_STOP_PRINT "Parar impressao" +#define MSG_CARD_MENU "Menu cartao SD" +#define MSG_NO_CARD "Sem cartao SD" +#define MSG_DWELL "Repouso..." +#define MSG_USERWAIT "Esperando ordem" +#define MSG_RESUMING "Resuming print" +#define MSG_PRINT_ABORTED "Print aborted" +#define MSG_NO_MOVE "Sem movimento" +#define MSG_KILLED "PARADA DE EMERG." +#define MSG_STOPPED "PARADA. " +#define MSG_CONTROL_RETRACT " Retrair mm" +#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm" +#define MSG_CONTROL_RETRACTF " Retrair V" +#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm" +#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm" +#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm" +#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V" +#define MSG_AUTORETRACT " AutoRetr." +#define MSG_FILAMENTCHANGE "Change filament" +#define MSG_INIT_SDCARD "Init. SD-Card" +#define MSG_CNG_SDCARD "Change SD-Card" +#define MSG_ZPROBE_OUT "Son. fora da mesa" +#define MSG_POSITION_UNKNOWN "XY antes de Z" +#define MSG_ZPROBE_ZOFFSET "Z Offset" +#define MSG_BABYSTEP_X "Babystep X" +#define MSG_BABYSTEP_Y "Babystep Y" +#define MSG_BABYSTEP_Z "Babystep Z" +#define MSG_ENDSTOP_ABORT "Endstop abort" + +#ifdef DELTA_CALIBRATION_MENU + #define MSG_DELTA_CALIBRATE "Delta Calibration" + #define MSG_DELTA_CALIBRATE_X "Calibrate X" + #define MSG_DELTA_CALIBRATE_Y "Calibrate Y" + #define MSG_DELTA_CALIBRATE_Z "Calibrate Z" + #define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center" +#endif // DELTA_CALIBRATION_MENU + +#endif // LANGUAGE_PT_BR_H diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index 39a323549d..f329ced0b1 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -8,123 +8,149 @@ #ifndef LANGUAGE_PT_H #define LANGUAGE_PT_H -#define WELCOME_MSG MACHINE_NAME " pronto." +#define WELCOME_MSG MACHINE_NAME " pronto." #define MSG_SD_INSERTED "Cartao inserido" #define MSG_SD_REMOVED "Cartao removido" #define MSG_MAIN " Menu principal \003" #define MSG_AUTOSTART "Autostart" -#define MSG_DISABLE_STEPPERS " Apagar motores" -#define MSG_AUTO_HOME "Ir para origen" -#define MSG_SET_HOME_OFFSETS "Set home offsets" +#define MSG_DISABLE_STEPPERS " Desligar motores" +#define MSG_AUTO_HOME "Ir para home" +#define MSG_SET_HOME_OFFSETS "Def. home offsets" #define MSG_SET_ORIGIN "Estabelecer orig." #define MSG_PREHEAT_PLA "Pre-aquecer PLA" -#define MSG_PREHEAT_PLA_N "Pre-aquecer PLA " -#define MSG_PREHEAT_PLA_ALL "Pre-aq. PLA Tudo" -#define MSG_PREHEAT_PLA_BEDONLY "Pre-aq. PLA \002Base" -#define MSG_PREHEAT_PLA_SETTINGS "PLA setting" +#define MSG_PREHEAT_PLA0 " pre-aquecer PLA 1" +#define MSG_PREHEAT_PLA1 " pre-aquecer PLA 2" +#define MSG_PREHEAT_PLA2 " pre-aquecer PLA 3" +#define MSG_PREHEAT_PLA012 " pre-aq. PLA Tudo" +#define MSG_PREHEAT_PLA_BEDONLY " pre-aq. PLA \002Base" +#define MSG_PREHEAT_PLA_SETTINGS "PLA definicoes" #define MSG_PREHEAT_ABS "Pre-aquecer ABS" -#define MSG_PREHEAT_ABS_N "Pre-aquecer ABS " -#define MSG_PREHEAT_ABS_ALL "Pre-aq. ABS Tudo" -#define MSG_PREHEAT_ABS_BEDONLY "Pre-aq. ABS \002Base" -#define MSG_PREHEAT_ABS_SETTINGS "ABS setting" -#define MSG_COOLDOWN "Esfriar" -#define MSG_SWITCH_PS_ON "Switch Power On" -#define MSG_SWITCH_PS_OFF "Switch Power Off" -#define MSG_EXTRUDE "Extrudar" +#define MSG_PREHEAT_ABS0 " pre-aquecer ABS 1" +#define MSG_PREHEAT_ABS1 " pre-aquecer ABS 2" +#define MSG_PREHEAT_ABS2 " pre-aquecer ABS 3" +#define MSG_PREHEAT_ABS012 " pre-aq. ABS Tudo" +#define MSG_PREHEAT_ABS_BEDONLY " pre-aq. ABS \002Base" +#define MSG_PREHEAT_ABS_SETTINGS "ABS definicoes" +#define MSG_COOLDOWN "Arrefecer" +#define MSG_SWITCH_PS_ON "Ligar" +#define MSG_SWITCH_PS_OFF "Desligar" +#define MSG_EXTRUDE "Extrudir" #define MSG_RETRACT "Retrair" #define MSG_MOVE_AXIS "Mover eixo \x7E" -#define MSG_MOVE_X "Move X" -#define MSG_MOVE_Y "Move Y" -#define MSG_MOVE_Z "Move Z" -#define MSG_MOVE_E "Extruder" -#define MSG_MOVE_01MM "Move 0.1mm" -#define MSG_MOVE_1MM "Move 1mm" -#define MSG_MOVE_10MM "Move 10mm" -#define MSG_SPEED "Velocidade" -#define MSG_NOZZLE "\002Nozzle" -#define MSG_BED "\002Base" -#define MSG_FAN_SPEED "Velocidade vento." -#define MSG_FLOW "Fluxo" -#define MSG_CONTROL "Controle \003" -#define MSG_MIN "\002 Min" -#define MSG_MAX "\002 Max" -#define MSG_FACTOR "\002 Fact" -#define MSG_AUTOTEMP "Autotemp" +#define MSG_MOVE_X "Mover X" +#define MSG_MOVE_Y "Mover Y" +#define MSG_MOVE_Z "Mover Z" +#define MSG_MOVE_E "Extrusor" +#define MSG_MOVE_E1 "Extrusor2" +#define MSG_MOVE_E2 "Extrusor3" +#define MSG_MOVE_01MM "Mover 0.1mm" +#define MSG_MOVE_1MM "Mover 1mm" +#define MSG_MOVE_10MM "Mover 10mm" +#define MSG_SPEED "Velocidade:" +#define MSG_NOZZLE "\002Bico:" +#define MSG_NOZZLE1 "\002Bico2:" +#define MSG_NOZZLE2 "\002Bico3:" +#define MSG_BED "\002Base:" +#define MSG_FAN_SPEED "Velocidade do ar." +#define MSG_FLOW "Fluxo:" +#define MSG_FLOW0 "Fluxo0:" +#define MSG_FLOW1 "Fluxo1:" +#define MSG_FLOW2 "Fluxo2:" +#define MSG_CONTROL "Controlo \003" +#define MSG_MIN "\002 Min:" +#define MSG_MAX "\002 Max:" +#define MSG_FACTOR "\002 Fact:" +#define MSG_AUTOTEMP "Autotemp:" #define MSG_ON "On " #define MSG_OFF "Off" -#define MSG_PID_P "PID-P" -#define MSG_PID_I "PID-I" -#define MSG_PID_D "PID-D" -#define MSG_PID_C "PID-C" -#define MSG_ACC "Acc" -#define MSG_VXY_JERK "Vxy-jerk" +#define MSG_PID_P "PID-P: " +#define MSG_PID_I "PID-I: " +#define MSG_PID_D "PID-D: " +#define MSG_PID_C "PID-C: " +#define MSG_PID_P1 "PID-P E2: " +#define MSG_PID_I1 "PID-I E2: " +#define MSG_PID_D1 "PID-D E2: " +#define MSG_PID_C1 "PID-C E2: " +#define MSG_PID_P2 "PID-P E3: " +#define MSG_PID_I2 "PID-I E3: " +#define MSG_PID_D2 "PID-D E3: " +#define MSG_PID_C2 "PID-C E3: " +#define MSG_ACC "Acc:" +#define MSG_VXY_JERK "Vxy-jerk: " #define MSG_VZ_JERK "Vz-jerk" #define MSG_VE_JERK "Ve-jerk" #define MSG_VMAX " Vmax " -#define MSG_X "x" -#define MSG_Y "y" -#define MSG_Z "z" -#define MSG_E "e" -#define MSG_VMIN "Vmin" -#define MSG_VTRAV_MIN "VTrav min" +#define MSG_X "x:" +#define MSG_Y "y:" +#define MSG_Z "z:" +#define MSG_E "e:" +#define MSG_VMIN "Vmin:" +#define MSG_VTRAV_MIN "VTrav min:" #define MSG_AMAX "Amax " -#define MSG_A_RETRACT "A-retract" -#define MSG_XSTEPS "Xpasso/mm" -#define MSG_YSTEPS "Ypasso/mm" -#define MSG_ZSTEPS "Zpasso/mm" -#define MSG_ESTEPS "Epasso/mm" +#define MSG_A_RETRACT "A-retract:" +#define MSG_XSTEPS "Xpasso/mm:" +#define MSG_YSTEPS "Ypasso/mm:" +#define MSG_ZSTEPS "Zpasso/mm:" +#define MSG_ESTEPS "Epasso/mm:" #define MSG_TEMPERATURE "Temperatura" #define MSG_MOTION "Movimento" -#define MSG_VOLUMETRIC "Filament" +#define MSG_VOLUMETRIC "Filamento" #define MSG_VOLUMETRIC_ENABLED "E in mm3" -#define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Dia. 1" -#define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Dia. 2" -#define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Dia. 3" -#define MSG_CONTRAST "Contrast" -#define MSG_STORE_EPROM "Guardar memoria" -#define MSG_LOAD_EPROM "Carregar memoria" +#define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Diam. 1" +#define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Diam. 2" +#define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Diam. 3" +#define MSG_CONTRAST "Contraste" +#define MSG_STORE_EPROM "Guardar na memoria" +#define MSG_LOAD_EPROM "Carregar da memoria" #define MSG_RESTORE_FAILSAFE "Rest. de emergen." #define MSG_REFRESH "\004Recarregar" #define MSG_WATCH "Monitorar \003" #define MSG_PREPARE "Preparar \x7E" -#define MSG_TUNE "Tune \x7E" +#define MSG_TUNE "Afinar \x7E" #define MSG_PAUSE_PRINT "Pausar impressao" #define MSG_RESUME_PRINT "Resumir impressao" #define MSG_STOP_PRINT "Parar impressao" #define MSG_CARD_MENU "Menu cartao SD" #define MSG_NO_CARD "Sem cartao SD" #define MSG_DWELL "Repouso..." -#define MSG_USERWAIT "Esperando ordem" -#define MSG_RESUMING "Resuming print" -#define MSG_PRINT_ABORTED "Print aborted" +#define MSG_USERWAIT "A espera de ordem" +#define MSG_RESUMING "Resumir impressao" +#define MSG_PRINT_ABORTED "Impr. Cancelada" #define MSG_NO_MOVE "Sem movimento" -#define MSG_KILLED "PARADA DE EMERG." -#define MSG_STOPPED "PARADA. " -#define MSG_CONTROL_RETRACT " Retrair mm" -#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm" -#define MSG_CONTROL_RETRACTF " Retrair V" -#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm" -#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm" -#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm" -#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V" -#define MSG_AUTORETRACT " AutoRetr." -#define MSG_FILAMENTCHANGE "Change filament" -#define MSG_INIT_SDCARD "Init. SD-Card" -#define MSG_CNG_SDCARD "Change SD-Card" -#define MSG_ZPROBE_OUT "Son. fora da mesa" +#define MSG_KILLED "INTRRP. DE EMERG." +#define MSG_STOPPED "PARADO. " +#define MSG_CONTROL_RETRACT " Retrair mm:" +#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm:" +#define MSG_CONTROL_RETRACTF " Retrair V:" +#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm:" +#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm:" +#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm:" +#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V:" +#define MSG_AUTORETRACT " AutoRetr.:" +#define MSG_FILAMENTCHANGE "Trocar filamento" +#define MSG_INIT_SDCARD "Inic. SD-Card" +#define MSG_CNG_SDCARD "Trocar SD-Card" +#define MSG_ZPROBE_OUT "Sens. fora da Base" #define MSG_POSITION_UNKNOWN "XY antes de Z" #define MSG_ZPROBE_ZOFFSET "Z Offset" #define MSG_BABYSTEP_X "Babystep X" #define MSG_BABYSTEP_Y "Babystep Y" #define MSG_BABYSTEP_Z "Babystep Z" -#define MSG_ENDSTOP_ABORT "Endstop abort" +#define MSG_ENDSTOP_ABORT "Endstop abort." + +#define MSG_RECTRACT "Retrair" +#define MSG_MAIN_WIDE "Menu Principal \003" +#define MSG_PREPARE_ALT "Preparar \003" +#define MSG_CONTROL_ARROW "Controlo \x7E" +#define MSG_RETRACT_ARROW "Retrair \x7E" +#define MSG_STEPPER_RELEASED "Desengatado." #ifdef DELTA_CALIBRATION_MENU - #define MSG_DELTA_CALIBRATE "Delta Calibration" - #define MSG_DELTA_CALIBRATE_X "Calibrate X" - #define MSG_DELTA_CALIBRATE_Y "Calibrate Y" - #define MSG_DELTA_CALIBRATE_Z "Calibrate Z" - #define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center" + #define MSG_DELTA_CALIBRATE "Delta Calibracao" + #define MSG_DELTA_CALIBRATE_X "Calibrar X" + #define MSG_DELTA_CALIBRATE_Y "Calibrar Y" + #define MSG_DELTA_CALIBRATE_Z "Calibrar Z" + #define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro" #endif // DELTA_CALIBRATION_MENU #endif // LANGUAGE_PT_H From d7211a5324757a895b94a51c27f082969217afcd Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 21:53:08 -0800 Subject: [PATCH 050/132] Changes for Portuguese too --- Marlin/language_pt.h | 104 ++++++++++++++++--------------------------- 1 file changed, 39 insertions(+), 65 deletions(-) diff --git a/Marlin/language_pt.h b/Marlin/language_pt.h index f329ced0b1..90c4b5c6c2 100644 --- a/Marlin/language_pt.h +++ b/Marlin/language_pt.h @@ -18,18 +18,14 @@ #define MSG_SET_HOME_OFFSETS "Def. home offsets" #define MSG_SET_ORIGIN "Estabelecer orig." #define MSG_PREHEAT_PLA "Pre-aquecer PLA" -#define MSG_PREHEAT_PLA0 " pre-aquecer PLA 1" -#define MSG_PREHEAT_PLA1 " pre-aquecer PLA 2" -#define MSG_PREHEAT_PLA2 " pre-aquecer PLA 3" -#define MSG_PREHEAT_PLA012 " pre-aq. PLA Tudo" -#define MSG_PREHEAT_PLA_BEDONLY " pre-aq. PLA \002Base" +#define MSG_PREHEAT_PLA_N "Pre-aquecer PLA " +#define MSG_PREHEAT_PLA_ALL "Pre-aq. PLA Tudo" +#define MSG_PREHEAT_PLA_BEDONLY "Pre-aq. PLA \002Base" #define MSG_PREHEAT_PLA_SETTINGS "PLA definicoes" #define MSG_PREHEAT_ABS "Pre-aquecer ABS" -#define MSG_PREHEAT_ABS0 " pre-aquecer ABS 1" -#define MSG_PREHEAT_ABS1 " pre-aquecer ABS 2" -#define MSG_PREHEAT_ABS2 " pre-aquecer ABS 3" -#define MSG_PREHEAT_ABS012 " pre-aq. ABS Tudo" -#define MSG_PREHEAT_ABS_BEDONLY " pre-aq. ABS \002Base" +#define MSG_PREHEAT_ABS_N "Pre-aquecer ABS " +#define MSG_PREHEAT_ABS_ALL "Pre-aq. ABS Tudo" +#define MSG_PREHEAT_ABS_BEDONLY "Pre-aq. ABS \002Base" #define MSG_PREHEAT_ABS_SETTINGS "ABS definicoes" #define MSG_COOLDOWN "Arrefecer" #define MSG_SWITCH_PS_ON "Ligar" @@ -41,57 +37,42 @@ #define MSG_MOVE_Y "Mover Y" #define MSG_MOVE_Z "Mover Z" #define MSG_MOVE_E "Extrusor" -#define MSG_MOVE_E1 "Extrusor2" -#define MSG_MOVE_E2 "Extrusor3" #define MSG_MOVE_01MM "Mover 0.1mm" #define MSG_MOVE_1MM "Mover 1mm" #define MSG_MOVE_10MM "Mover 10mm" -#define MSG_SPEED "Velocidade:" -#define MSG_NOZZLE "\002Bico:" -#define MSG_NOZZLE1 "\002Bico2:" -#define MSG_NOZZLE2 "\002Bico3:" -#define MSG_BED "\002Base:" +#define MSG_SPEED "Velocidade" +#define MSG_NOZZLE "\002Bico" +#define MSG_BED "\002Base" #define MSG_FAN_SPEED "Velocidade do ar." -#define MSG_FLOW "Fluxo:" -#define MSG_FLOW0 "Fluxo0:" -#define MSG_FLOW1 "Fluxo1:" -#define MSG_FLOW2 "Fluxo2:" +#define MSG_FLOW "Fluxo" #define MSG_CONTROL "Controlo \003" -#define MSG_MIN "\002 Min:" -#define MSG_MAX "\002 Max:" -#define MSG_FACTOR "\002 Fact:" -#define MSG_AUTOTEMP "Autotemp:" +#define MSG_MIN "\002 Min" +#define MSG_MAX "\002 Max" +#define MSG_FACTOR "\002 Fact" +#define MSG_AUTOTEMP "Autotemp" #define MSG_ON "On " #define MSG_OFF "Off" -#define MSG_PID_P "PID-P: " -#define MSG_PID_I "PID-I: " -#define MSG_PID_D "PID-D: " -#define MSG_PID_C "PID-C: " -#define MSG_PID_P1 "PID-P E2: " -#define MSG_PID_I1 "PID-I E2: " -#define MSG_PID_D1 "PID-D E2: " -#define MSG_PID_C1 "PID-C E2: " -#define MSG_PID_P2 "PID-P E3: " -#define MSG_PID_I2 "PID-I E3: " -#define MSG_PID_D2 "PID-D E3: " -#define MSG_PID_C2 "PID-C E3: " -#define MSG_ACC "Acc:" -#define MSG_VXY_JERK "Vxy-jerk: " +#define MSG_PID_P "PID-P" +#define MSG_PID_I "PID-I" +#define MSG_PID_D "PID-D" +#define MSG_PID_C "PID-C" +#define MSG_ACC "Acc" +#define MSG_VXY_JERK "Vxy-jerk" #define MSG_VZ_JERK "Vz-jerk" #define MSG_VE_JERK "Ve-jerk" #define MSG_VMAX " Vmax " -#define MSG_X "x:" -#define MSG_Y "y:" -#define MSG_Z "z:" -#define MSG_E "e:" -#define MSG_VMIN "Vmin:" -#define MSG_VTRAV_MIN "VTrav min:" +#define MSG_X "x" +#define MSG_Y "y" +#define MSG_Z "z" +#define MSG_E "e" +#define MSG_VMIN "Vmin" +#define MSG_VTRAV_MIN "VTrav min" #define MSG_AMAX "Amax " -#define MSG_A_RETRACT "A-retract:" -#define MSG_XSTEPS "Xpasso/mm:" -#define MSG_YSTEPS "Ypasso/mm:" -#define MSG_ZSTEPS "Zpasso/mm:" -#define MSG_ESTEPS "Epasso/mm:" +#define MSG_A_RETRACT "A-retract" +#define MSG_XSTEPS "Xpasso/mm" +#define MSG_YSTEPS "Ypasso/mm" +#define MSG_ZSTEPS "Zpasso/mm" +#define MSG_ESTEPS "Epasso/mm" #define MSG_TEMPERATURE "Temperatura" #define MSG_MOTION "Movimento" #define MSG_VOLUMETRIC "Filamento" @@ -119,14 +100,14 @@ #define MSG_NO_MOVE "Sem movimento" #define MSG_KILLED "INTRRP. DE EMERG." #define MSG_STOPPED "PARADO. " -#define MSG_CONTROL_RETRACT " Retrair mm:" -#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm:" -#define MSG_CONTROL_RETRACTF " Retrair V:" -#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm:" -#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm:" -#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm:" -#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V:" -#define MSG_AUTORETRACT " AutoRetr.:" +#define MSG_CONTROL_RETRACT " Retrair mm" +#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm" +#define MSG_CONTROL_RETRACTF " Retrair V" +#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm" +#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm" +#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm" +#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V" +#define MSG_AUTORETRACT " AutoRetr." #define MSG_FILAMENTCHANGE "Trocar filamento" #define MSG_INIT_SDCARD "Inic. SD-Card" #define MSG_CNG_SDCARD "Trocar SD-Card" @@ -138,13 +119,6 @@ #define MSG_BABYSTEP_Z "Babystep Z" #define MSG_ENDSTOP_ABORT "Endstop abort." -#define MSG_RECTRACT "Retrair" -#define MSG_MAIN_WIDE "Menu Principal \003" -#define MSG_PREPARE_ALT "Preparar \003" -#define MSG_CONTROL_ARROW "Controlo \x7E" -#define MSG_RETRACT_ARROW "Retrair \x7E" -#define MSG_STEPPER_RELEASED "Desengatado." - #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibracao" #define MSG_DELTA_CALIBRATE_X "Calibrar X" From 53eea611b83c5bea5779fcb61c9344d09df24958 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 22:00:32 -0800 Subject: [PATCH 051/132] Fix MSG_NOZZLE --- Marlin/ultralcd.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 5e78ed560d..4c3ad49cb9 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -812,13 +812,13 @@ static void lcd_control_temperature_menu() MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 15); #endif #if TEMP_SENSOR_1 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE1, &target_temperature[1], 0, HEATER_1_MAXTEMP - 15); + MENU_ITEM_EDIT(int3, MSG_NOZZLE " 2", &target_temperature[1], 0, HEATER_1_MAXTEMP - 15); #endif #if TEMP_SENSOR_2 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE2, &target_temperature[2], 0, HEATER_2_MAXTEMP - 15); + MENU_ITEM_EDIT(int3, MSG_NOZZLE " 3", &target_temperature[2], 0, HEATER_2_MAXTEMP - 15); #endif #if TEMP_SENSOR_3 != 0 - MENU_ITEM_EDIT(int3, MSG_NOZZLE3, &target_temperature[3], 0, HEATER_3_MAXTEMP - 15); + MENU_ITEM_EDIT(int3, MSG_NOZZLE " 4", &target_temperature[3], 0, HEATER_3_MAXTEMP - 15); #endif #if TEMP_SENSOR_BED != 0 MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 15); From 093fedfde8081c7731be7f1e12b18ceeb342cb24 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 28 Jan 2015 01:08:48 -0800 Subject: [PATCH 052/132] Make EEPROM storage consistent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update ConfigurationStore to always write dummy values for disabled options, including FWRETRACT, DELTA, and SCARA. Update the EEPROM version to “V15.” Also fixes a buffer overrun with axis_scaling in Config_ResetDefault. --- Marlin/ConfigurationStore.cpp | 1087 ++++++++++++++++++--------------- Marlin/ConfigurationStore.h | 14 +- Marlin/Marlin_main.cpp | 4 +- 3 files changed, 610 insertions(+), 495 deletions(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index 05a3a47b35..360029b187 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -1,33 +1,92 @@ +/** + * ConfigurationStore.cpp + * + * Configuration and EEPROM storage + * + * V15 EEPROM Layout: + * + * ver + * axis_steps_per_unit (x4) + * max_feedrate (x4) + * max_acceleration_units_per_sq_second (x4) + * acceleration + * retract_acceleration + * minimumfeedrate + * mintravelfeedrate + * minsegmenttime + * max_xy_jerk + * max_z_jerk + * max_e_jerk + * add_homing (x3) + * + * DELTA: + * endstop_adj (x3) + * delta_radius + * delta_diagonal_rod + * delta_segments_per_second + * + * ULTIPANEL: + * plaPreheatHotendTemp + * plaPreheatHPBTemp + * plaPreheatFanSpeed + * absPreheatHotendTemp + * absPreheatHPBTemp + * absPreheatFanSpeed + * zprobe_zoffset + * + * PIDTEMP: + * Kp[0], Ki[0], Kd[0], Kc[0] + * Kp[1], Ki[1], Kd[1], Kc[1] + * Kp[2], Ki[2], Kd[2], Kc[2] + * Kp[3], Ki[3], Kd[3], Kc[3] + * + * DOGLCD: + * lcd_contrast + * + * SCARA: + * axis_scaling (x3) + * + * FWRETRACT: + * autoretract_enabled + * retract_length + * retract_length_swap + * retract_feedrate + * retract_zlift + * retract_recover_length + * retract_recover_length_swap + * retract_recover_feedrate + * + * volumetric_enabled + * + * filament_size (x4) + * + */ #include "Marlin.h" #include "planner.h" #include "temperature.h" #include "ultralcd.h" #include "ConfigurationStore.h" -void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size) -{ - do - { - eeprom_write_byte((unsigned char*)pos, *value); - pos++; - value++; - }while(--size); +void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size) { + do { + eeprom_write_byte((unsigned char*)pos, *value); + pos++; + value++; + } while (--size); +} +void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size) { + do { + *value = eeprom_read_byte((unsigned char*)pos); + pos++; + value++; + } while (--size); } #define EEPROM_WRITE_VAR(pos, value) _EEPROM_writeData(pos, (uint8_t*)&value, sizeof(value)) -void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size) -{ - do - { - *value = eeprom_read_byte((unsigned char*)pos); - pos++; - value++; - }while(--size); -} #define EEPROM_READ_VAR(pos, value) _EEPROM_readData(pos, (uint8_t*)&value, sizeof(value)) + //====================================================================================== - - +#define DUMMY_PID_VALUE 3000.0f #define EEPROM_OFFSET 100 @@ -38,506 +97,562 @@ void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size) // wrong data being written to the variables. // ALSO: always make sure the variables in the Store and retrieve sections are in the same order. -#define EEPROM_VERSION "V14" +#define EEPROM_VERSION "V15" #ifdef EEPROM_SETTINGS -void Config_StoreSettings() -{ - char ver[4]= "000"; - int i=EEPROM_OFFSET; - EEPROM_WRITE_VAR(i,ver); // invalidate data first - EEPROM_WRITE_VAR(i,axis_steps_per_unit); - EEPROM_WRITE_VAR(i,max_feedrate); - EEPROM_WRITE_VAR(i,max_acceleration_units_per_sq_second); - EEPROM_WRITE_VAR(i,acceleration); - EEPROM_WRITE_VAR(i,retract_acceleration); - EEPROM_WRITE_VAR(i,minimumfeedrate); - EEPROM_WRITE_VAR(i,mintravelfeedrate); - EEPROM_WRITE_VAR(i,minsegmenttime); - EEPROM_WRITE_VAR(i,max_xy_jerk); - EEPROM_WRITE_VAR(i,max_z_jerk); - EEPROM_WRITE_VAR(i,max_e_jerk); - EEPROM_WRITE_VAR(i,add_homing); + +void Config_StoreSettings() { + float dummy = 0.0f; + char ver[4] = "000"; + int i = EEPROM_OFFSET; + EEPROM_WRITE_VAR(i, ver); // invalidate data first + EEPROM_WRITE_VAR(i, axis_steps_per_unit); + EEPROM_WRITE_VAR(i, max_feedrate); + EEPROM_WRITE_VAR(i, max_acceleration_units_per_sq_second); + EEPROM_WRITE_VAR(i, acceleration); + EEPROM_WRITE_VAR(i, retract_acceleration); + EEPROM_WRITE_VAR(i, minimumfeedrate); + EEPROM_WRITE_VAR(i, mintravelfeedrate); + EEPROM_WRITE_VAR(i, minsegmenttime); + EEPROM_WRITE_VAR(i, max_xy_jerk); + EEPROM_WRITE_VAR(i, max_z_jerk); + EEPROM_WRITE_VAR(i, max_e_jerk); + EEPROM_WRITE_VAR(i, add_homing); + #ifdef DELTA - EEPROM_WRITE_VAR(i,endstop_adj); - EEPROM_WRITE_VAR(i,delta_radius); - EEPROM_WRITE_VAR(i,delta_diagonal_rod); - EEPROM_WRITE_VAR(i,delta_segments_per_second); - #endif//DELTA + EEPROM_WRITE_VAR(i, endstop_adj); // 3 floats + EEPROM_WRITE_VAR(i, delta_radius); // 1 float + EEPROM_WRITE_VAR(i, delta_diagonal_rod); // 1 float + EEPROM_WRITE_VAR(i, delta_segments_per_second); // 1 float + #else + dummy = 0.0f; + for (int q=6; q--;) EEPROM_WRITE_VAR(i, dummy); + #endif + #ifndef ULTIPANEL - int plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP, plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP, plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED; - int absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP, absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP, absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED; - #endif//ULTIPANEL - EEPROM_WRITE_VAR(i,plaPreheatHotendTemp); - EEPROM_WRITE_VAR(i,plaPreheatHPBTemp); - EEPROM_WRITE_VAR(i,plaPreheatFanSpeed); - EEPROM_WRITE_VAR(i,absPreheatHotendTemp); - EEPROM_WRITE_VAR(i,absPreheatHPBTemp); - EEPROM_WRITE_VAR(i,absPreheatFanSpeed); - EEPROM_WRITE_VAR(i,zprobe_zoffset); - #ifdef PIDTEMP - float dummy = 0.0f; - for (int e = 0; e < 4; e++) - { - if (e < EXTRUDERS) - { - EEPROM_WRITE_VAR(i,PID_PARAM(Kp,e)); - EEPROM_WRITE_VAR(i,PID_PARAM(Ki,e)); - EEPROM_WRITE_VAR(i,PID_PARAM(Kd,e)); + int plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP, plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP, plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED, + absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP, absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP, absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED; + #endif // !ULTIPANEL + + EEPROM_WRITE_VAR(i, plaPreheatHotendTemp); + EEPROM_WRITE_VAR(i, plaPreheatHPBTemp); + EEPROM_WRITE_VAR(i, plaPreheatFanSpeed); + EEPROM_WRITE_VAR(i, absPreheatHotendTemp); + EEPROM_WRITE_VAR(i, absPreheatHPBTemp); + EEPROM_WRITE_VAR(i, absPreheatFanSpeed); + EEPROM_WRITE_VAR(i, zprobe_zoffset); + + for (int e = 0; e < 4; e++) { + + #ifdef PIDTEMP + if (e < EXTRUDERS) { + EEPROM_WRITE_VAR(i, PID_PARAM(Kp, e)); + EEPROM_WRITE_VAR(i, PID_PARAM(Ki, e)); + EEPROM_WRITE_VAR(i, PID_PARAM(Kd, e)); #ifdef PID_ADD_EXTRUSION_RATE - EEPROM_WRITE_VAR(i,PID_PARAM(Kc,e)); - #else//PID_ADD_EXTRUSION_RATE - dummy = 1.0f; // 1.0 = default kc - EEPROM_WRITE_VAR(dummmy); - #endif//PID_ADD_EXTRUSION_RATE - } - else - { - dummy = 3000.0f; - EEPROM_WRITE_VAR(i, dummy); - dummy = 0.0f; - EEPROM_WRITE_VAR(i,dummy); - EEPROM_WRITE_VAR(i,dummy); - EEPROM_WRITE_VAR(i,dummy); - } - } - #else//PIDTEMP - float dummy = 3000.0f; - EEPROM_WRITE_VAR(i,dummy); - dummy = 0.0f; - EEPROM_WRITE_VAR(i,dummy); - EEPROM_WRITE_VAR(i,dummy); - EEPROM_WRITE_VAR(i,dummy); - #endif//PIDTEMP + EEPROM_WRITE_VAR(i, PID_PARAM(Kc, e)); + #else + dummy = 1.0f; // 1.0 = default kc + EEPROM_WRITE_VAR(dummmy); + #endif + } + else { + #else // !PIDTEMP + { + #endif // !PIDTEMP + + dummy = DUMMY_PID_VALUE; + EEPROM_WRITE_VAR(i, dummy); + dummy = 0.0f; + for (int q = 3; q--;) EEPROM_WRITE_VAR(i, dummy); + } + } // Extruders Loop + #ifndef DOGLCD int lcd_contrast = 32; - #endif//DOGLCD - EEPROM_WRITE_VAR(i,lcd_contrast); + #endif + EEPROM_WRITE_VAR(i, lcd_contrast); + #ifdef SCARA - EEPROM_WRITE_VAR(i,axis_scaling); // Add scaling for SCARA - #endif//SCARA + EEPROM_WRITE_VAR(i, axis_scaling); // 3 floats + #else + dummy = 1.0f; + EEPROM_WRITE_VAR(i, dummy); + #endif + #ifdef FWRETRACT - EEPROM_WRITE_VAR(i,autoretract_enabled); - EEPROM_WRITE_VAR(i,retract_length); - #if EXTRUDERS > 1 - EEPROM_WRITE_VAR(i,retract_length_swap); - #endif//EXTRUDERS > 1 - EEPROM_WRITE_VAR(i,retract_feedrate); - EEPROM_WRITE_VAR(i,retract_zlift); - EEPROM_WRITE_VAR(i,retract_recover_length); - #if EXTRUDERS > 1 - EEPROM_WRITE_VAR(i,retract_recover_length_swap); - #endif//EXTRUDERS > 1 - EEPROM_WRITE_VAR(i,retract_recover_feedrate); - #endif//FWRETRACT + EEPROM_WRITE_VAR(i, autoretract_enabled); + EEPROM_WRITE_VAR(i, retract_length); + #if EXTRUDERS > 1 + EEPROM_WRITE_VAR(i, retract_length_swap); + #else + dummy = 0.0f; + EEPROM_WRITE_VAR(i, dummy); + #endif + EEPROM_WRITE_VAR(i, retract_feedrate); + EEPROM_WRITE_VAR(i, retract_zlift); + EEPROM_WRITE_VAR(i, retract_recover_length); + #if EXTRUDERS > 1 + EEPROM_WRITE_VAR(i, retract_recover_length_swap); + #else + dummy = 0.0f; + EEPROM_WRITE_VAR(i, dummy); + #endif + EEPROM_WRITE_VAR(i, retract_recover_feedrate); + #endif // FWRETRACT + + EEPROM_WRITE_VAR(i, volumetric_enabled); // Save filament sizes - EEPROM_WRITE_VAR(i, volumetric_enabled); - EEPROM_WRITE_VAR(i, filament_size[0]); -#if EXTRUDERS > 1 - EEPROM_WRITE_VAR(i, filament_size[1]); -#if EXTRUDERS > 2 - EEPROM_WRITE_VAR(i, filament_size[2]); -#if EXTRUDERS > 3 - EEPROM_WRITE_VAR(i, filament_size[3]); -#endif //EXTRUDERS > 3 -#endif //EXTRUDERS > 2 -#endif //EXTRUDERS > 1 - - char ver2[4]=EEPROM_VERSION; - i=EEPROM_OFFSET; - EEPROM_WRITE_VAR(i,ver2); // validate data + for (int q = 0; q < 4; q++) { + if (q < EXTRUDERS) dummy = filament_size[q]; + EEPROM_WRITE_VAR(i, dummy); + } + + int storageSize = i; + + char ver2[4] = EEPROM_VERSION; + int j = EEPROM_OFFSET; + EEPROM_WRITE_VAR(j, ver2); // validate data + + // Report storage size SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Settings Stored"); + SERIAL_ECHOPAIR("Settings Stored (", (unsigned long)i); + SERIAL_ECHOLNPGM(" bytes)"); } -#endif //EEPROM_SETTINGS +void Config_RetrieveSettings() { -#ifndef DISABLE_M503 -void Config_PrintSettings() -{ // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Steps per unit:"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M92 X",axis_steps_per_unit[X_AXIS]); - SERIAL_ECHOPAIR(" Y",axis_steps_per_unit[Y_AXIS]); - SERIAL_ECHOPAIR(" Z",axis_steps_per_unit[Z_AXIS]); - SERIAL_ECHOPAIR(" E",axis_steps_per_unit[E_AXIS]); - SERIAL_ECHOLN(""); - - SERIAL_ECHO_START; -#ifdef SCARA -SERIAL_ECHOLNPGM("Scaling factors:"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M365 X",axis_scaling[X_AXIS]); - SERIAL_ECHOPAIR(" Y",axis_scaling[Y_AXIS]); - SERIAL_ECHOPAIR(" Z",axis_scaling[Z_AXIS]); - SERIAL_ECHOLN(""); - - SERIAL_ECHO_START; -#endif//SCARA - SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M203 X", max_feedrate[X_AXIS]); - SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]); - SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]); - SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]); - SERIAL_ECHOLN(""); + int i = EEPROM_OFFSET; + char stored_ver[4]; + char ver[4] = EEPROM_VERSION; + EEPROM_READ_VAR(i, stored_ver); //read stored version + // SERIAL_ECHOLN("Version: [" << ver << "] Stored version: [" << stored_ver << "]"); - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M201 X" ,max_acceleration_units_per_sq_second[X_AXIS] ); - SERIAL_ECHOPAIR(" Y" , max_acceleration_units_per_sq_second[Y_AXIS] ); - SERIAL_ECHOPAIR(" Z" ,max_acceleration_units_per_sq_second[Z_AXIS] ); - SERIAL_ECHOPAIR(" E" ,max_acceleration_units_per_sq_second[E_AXIS]); - SERIAL_ECHOLN(""); - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M204 S",acceleration ); - SERIAL_ECHOPAIR(" T" ,retract_acceleration); - SERIAL_ECHOLN(""); + if (strncmp(ver, stored_ver, 3) != 0) { + Config_ResetDefault(); + } + else { + float dummy = 0; - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M205 S",minimumfeedrate ); - SERIAL_ECHOPAIR(" T" ,mintravelfeedrate ); - SERIAL_ECHOPAIR(" B" ,minsegmenttime ); - SERIAL_ECHOPAIR(" X" ,max_xy_jerk ); - SERIAL_ECHOPAIR(" Z" ,max_z_jerk); - SERIAL_ECHOPAIR(" E" ,max_e_jerk); - SERIAL_ECHOLN(""); + // version number match + EEPROM_READ_VAR(i, axis_steps_per_unit); + EEPROM_READ_VAR(i, max_feedrate); + EEPROM_READ_VAR(i, max_acceleration_units_per_sq_second); - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Home offset (mm):"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M206 X",add_homing[X_AXIS] ); - SERIAL_ECHOPAIR(" Y" ,add_homing[Y_AXIS] ); - SERIAL_ECHOPAIR(" Z" ,add_homing[Z_AXIS] ); - SERIAL_ECHOLN(""); -#ifdef DELTA - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Endstop adjustement (mm):"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M666 X",endstop_adj[X_AXIS] ); - SERIAL_ECHOPAIR(" Y" ,endstop_adj[Y_AXIS] ); - SERIAL_ECHOPAIR(" Z" ,endstop_adj[Z_AXIS] ); - SERIAL_ECHOLN(""); - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M665 L",delta_diagonal_rod ); - SERIAL_ECHOPAIR(" R" ,delta_radius ); - SERIAL_ECHOPAIR(" S" ,delta_segments_per_second ); - SERIAL_ECHOLN(""); -#endif//DELTA -#ifdef PIDTEMP - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("PID settings:"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp,0)); // for compatibility with hosts, only echos values for E0 - SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0))); - SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0))); - SERIAL_ECHOLN(""); -#endif//PIDTEMP -#ifdef FWRETRACT - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M207 S",retract_length); - SERIAL_ECHOPAIR(" F" ,retract_feedrate*60); - SERIAL_ECHOPAIR(" Z" ,retract_zlift); - SERIAL_ECHOLN(""); - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M208 S",retract_recover_length); - SERIAL_ECHOPAIR(" F", retract_recover_feedrate*60); - SERIAL_ECHOLN(""); - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0)); - SERIAL_ECHOLN(""); -#if EXTRUDERS > 1 - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Multi-extruder settings:"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap); - SERIAL_ECHOLN(""); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap); - SERIAL_ECHOLN(""); -#endif//EXTRUDERS > 1 -#endif//FWRETRACT - SERIAL_ECHO_START; - if (volumetric_enabled) { - SERIAL_ECHOLNPGM("Filament settings:"); - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M200 D", filament_size[0]); - SERIAL_ECHOLN(""); -#if EXTRUDERS > 1 - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]); - SERIAL_ECHOLN(""); -#if EXTRUDERS > 2 - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]); - SERIAL_ECHOLN(""); -#if EXTRUDERS > 3 - SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M200 T3 D", filament_size[3]); - SERIAL_ECHOLN(""); -#endif //EXTRUDERS > 3 -#endif //EXTRUDERS > 2 -#endif //EXTRUDERS > 1 - } else { - SERIAL_ECHOLNPGM("Filament settings: Disabled"); - } -#ifdef CUSTOM_M_CODES - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Z-Probe Offset (mm):"); - SERIAL_ECHO_START; - SERIAL_ECHO(" M"); - SERIAL_ECHO(CUSTOM_M_CODE_SET_Z_PROBE_OFFSET); - SERIAL_ECHOPAIR(" Z",-zprobe_zoffset); - SERIAL_ECHOLN(""); -#endif -} -#endif//DISABLE_M503 - - -#ifdef EEPROM_SETTINGS -void Config_RetrieveSettings() -{ - int i=EEPROM_OFFSET; - char stored_ver[4]; - char ver[4]=EEPROM_VERSION; - EEPROM_READ_VAR(i,stored_ver); //read stored version - // SERIAL_ECHOLN("Version: [" << ver << "] Stored version: [" << stored_ver << "]"); - if (strncmp(ver,stored_ver,3) == 0) - { - // version number match - EEPROM_READ_VAR(i,axis_steps_per_unit); - EEPROM_READ_VAR(i,max_feedrate); - EEPROM_READ_VAR(i,max_acceleration_units_per_sq_second); - // steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner) - reset_acceleration_rates(); - - EEPROM_READ_VAR(i,acceleration); - EEPROM_READ_VAR(i,retract_acceleration); - EEPROM_READ_VAR(i,minimumfeedrate); - EEPROM_READ_VAR(i,mintravelfeedrate); - EEPROM_READ_VAR(i,minsegmenttime); - EEPROM_READ_VAR(i,max_xy_jerk); - EEPROM_READ_VAR(i,max_z_jerk); - EEPROM_READ_VAR(i,max_e_jerk); - EEPROM_READ_VAR(i,add_homing); - #ifdef DELTA - EEPROM_READ_VAR(i,endstop_adj); - EEPROM_READ_VAR(i,delta_radius); - EEPROM_READ_VAR(i,delta_diagonal_rod); - EEPROM_READ_VAR(i,delta_segments_per_second); - #endif//DELTA - #ifndef ULTIPANEL - int plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed; - int absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed; - #endif//ULTIPANEL - EEPROM_READ_VAR(i,plaPreheatHotendTemp); - EEPROM_READ_VAR(i,plaPreheatHPBTemp); - EEPROM_READ_VAR(i,plaPreheatFanSpeed); - EEPROM_READ_VAR(i,absPreheatHotendTemp); - EEPROM_READ_VAR(i,absPreheatHPBTemp); - EEPROM_READ_VAR(i,absPreheatFanSpeed); - EEPROM_READ_VAR(i,zprobe_zoffset); - #ifdef PIDTEMP - float dummy = 0.0f; - for (int e = 0; e < 4; e++) // 4 = max extruders supported by marlin - { - if (e < EXTRUDERS) - { - // do not need to scale PID values as the values in EEPROM are already scaled - EEPROM_READ_VAR(i,PID_PARAM(Kp,e)); - EEPROM_READ_VAR(i,PID_PARAM(Ki,e)); - EEPROM_READ_VAR(i,PID_PARAM(Kd,e)); -#ifdef PID_ADD_EXTRUSION_RATE - EEPROM_READ_VAR(i,PID_PARAM(Kc,e)); -#else//PID_ADD_EXTRUSION_RATE - EEPROM_READ_VAR(i,dummy); -#endif//PID_ADD_EXTRUSION_RATE - } - else - { - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - } - } - #else//PIDTEMP - // 4 x 3 = 12 slots for PID parameters - float dummy = 0.0f; - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - EEPROM_READ_VAR(i,dummy); - #endif//PIDTEMP - #ifndef DOGLCD - int lcd_contrast; - #endif//DOGLCD - EEPROM_READ_VAR(i,lcd_contrast); - #ifdef SCARA - EEPROM_READ_VAR(i,axis_scaling); - #endif//SCARA - - #ifdef FWRETRACT - EEPROM_READ_VAR(i,autoretract_enabled); - EEPROM_READ_VAR(i,retract_length); - #if EXTRUDERS > 1 - EEPROM_READ_VAR(i,retract_length_swap); - #endif//EXTRUDERS > 1 - EEPROM_READ_VAR(i,retract_feedrate); - EEPROM_READ_VAR(i,retract_zlift); - EEPROM_READ_VAR(i,retract_recover_length); - #if EXTRUDERS > 1 - EEPROM_READ_VAR(i,retract_recover_length_swap); - #endif//EXTRUDERS > 1 - EEPROM_READ_VAR(i,retract_recover_feedrate); - #endif//FWRETRACT - - EEPROM_READ_VAR(i, volumetric_enabled); - EEPROM_READ_VAR(i, filament_size[0]); -#if EXTRUDERS > 1 - EEPROM_READ_VAR(i, filament_size[1]); -#if EXTRUDERS > 2 - EEPROM_READ_VAR(i, filament_size[2]); -#if EXTRUDERS > 3 - EEPROM_READ_VAR(i, filament_size[3]); -#endif //EXTRUDERS > 3 -#endif //EXTRUDERS > 2 -#endif //EXTRUDERS > 1 - calculate_volumetric_multipliers(); - // Call updatePID (similar to when we have processed M301) - updatePID(); - SERIAL_ECHO_START; - SERIAL_ECHOLNPGM("Stored settings retrieved"); - } - else - { - Config_ResetDefault(); - } - #ifdef EEPROM_CHITCHAT - Config_PrintSettings(); - #endif//EEPROM_CHITCHAT -} -#endif//EEPROM_SETTINGS - -void Config_ResetDefault() -{ - float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT; - float tmp2[]=DEFAULT_MAX_FEEDRATE; - long tmp3[]=DEFAULT_MAX_ACCELERATION; - for (short i=0;i<4;i++) - { - axis_steps_per_unit[i]=tmp1[i]; - max_feedrate[i]=tmp2[i]; - max_acceleration_units_per_sq_second[i]=tmp3[i]; - #ifdef SCARA - axis_scaling[i]=1; - #endif//SCARA - } - - // steps per sq second need to be updated to agree with the units per sq second reset_acceleration_rates(); - - acceleration=DEFAULT_ACCELERATION; - retract_acceleration=DEFAULT_RETRACT_ACCELERATION; - minimumfeedrate=DEFAULT_MINIMUMFEEDRATE; - minsegmenttime=DEFAULT_MINSEGMENTTIME; - mintravelfeedrate=DEFAULT_MINTRAVELFEEDRATE; - max_xy_jerk=DEFAULT_XYJERK; - max_z_jerk=DEFAULT_ZJERK; - max_e_jerk=DEFAULT_EJERK; - add_homing[X_AXIS] = add_homing[Y_AXIS] = add_homing[Z_AXIS] = 0; -#ifdef DELTA - endstop_adj[X_AXIS] = endstop_adj[Y_AXIS] = endstop_adj[Z_AXIS] = 0; - delta_radius= DELTA_RADIUS; - delta_diagonal_rod= DELTA_DIAGONAL_ROD; - delta_segments_per_second= DELTA_SEGMENTS_PER_SECOND; - recalc_delta_settings(delta_radius, delta_diagonal_rod); -#endif//DELTA -#ifdef ULTIPANEL + + EEPROM_READ_VAR(i, acceleration); + EEPROM_READ_VAR(i, retract_acceleration); + EEPROM_READ_VAR(i, minimumfeedrate); + EEPROM_READ_VAR(i, mintravelfeedrate); + EEPROM_READ_VAR(i, minsegmenttime); + EEPROM_READ_VAR(i, max_xy_jerk); + EEPROM_READ_VAR(i, max_z_jerk); + EEPROM_READ_VAR(i, max_e_jerk); + EEPROM_READ_VAR(i, add_homing); + + #ifdef DELTA + EEPROM_READ_VAR(i, endstop_adj); // 3 floats + EEPROM_READ_VAR(i, delta_radius); // 1 float + EEPROM_READ_VAR(i, delta_diagonal_rod); // 1 float + EEPROM_READ_VAR(i, delta_segments_per_second); // 1 float + #else + for (int q=6; q--;) EEPROM_READ_VAR(i, dummy); + #endif + + #ifndef ULTIPANEL + int plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed, + absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed; + #endif + + EEPROM_READ_VAR(i, plaPreheatHotendTemp); + EEPROM_READ_VAR(i, plaPreheatHPBTemp); + EEPROM_READ_VAR(i, plaPreheatFanSpeed); + EEPROM_READ_VAR(i, absPreheatHotendTemp); + EEPROM_READ_VAR(i, absPreheatHPBTemp); + EEPROM_READ_VAR(i, absPreheatFanSpeed); + EEPROM_READ_VAR(i, zprobe_zoffset); + + #ifdef PIDTEMP + for (int e = 0; e < 4; e++) { // 4 = max extruders currently supported by Marlin + EEPROM_READ_VAR(i, dummy); + if (e < EXTRUDERS && dummy != DUMMY_PID_VALUE) { + // do not need to scale PID values as the values in EEPROM are already scaled + PID_PARAM(Kp, e) = dummy; + EEPROM_READ_VAR(i, PID_PARAM(Ki, e)); + EEPROM_READ_VAR(i, PID_PARAM(Kd, e)); + #ifdef PID_ADD_EXTRUSION_RATE + EEPROM_READ_VAR(i, PID_PARAM(Kc, e)); + #else + EEPROM_READ_VAR(i, dummy); + #endif + } + else { + for (int q=3; q--;) EEPROM_READ_VAR(i, dummy); + } + } + #else // !PIDTEMP + // 4 x 3 = 12 slots for PID parameters + for (int q=12; q--;) EEPROM_READ_VAR(i, dummy); + #endif // !PIDTEMP + + #ifndef DOGLCD + int lcd_contrast; + #endif + EEPROM_READ_VAR(i, lcd_contrast); + + #ifdef SCARA + EEPROM_READ_VAR(i, axis_scaling); // 3 floats + #else + EEPROM_READ_VAR(i, dummy); + #endif + + #ifdef FWRETRACT + EEPROM_READ_VAR(i, autoretract_enabled); + EEPROM_READ_VAR(i, retract_length); + #if EXTRUDERS > 1 + EEPROM_READ_VAR(i, retract_length_swap); + #else + EEPROM_READ_VAR(i, dummy); + #endif + EEPROM_READ_VAR(i, retract_feedrate); + EEPROM_READ_VAR(i, retract_zlift); + EEPROM_READ_VAR(i, retract_recover_length); + #if EXTRUDERS > 1 + EEPROM_READ_VAR(i, retract_recover_length_swap); + #else + EEPROM_READ_VAR(i, dummy); + #endif + EEPROM_READ_VAR(i, retract_recover_feedrate); + #endif // FWRETRACT + + EEPROM_READ_VAR(i, volumetric_enabled); + + for (int q = 0; q < 4; q++) { + EEPROM_READ_VAR(i, dummy); + if (q < EXTRUDERS) filament_size[q] = dummy; + } + + calculate_volumetric_multipliers(); + // Call updatePID (similar to when we have processed M301) + updatePID(); + + // Report settings retrieved and length + SERIAL_ECHO_START; + SERIAL_ECHO(ver); + SERIAL_ECHOPAIR(" stored settings retrieved (", (unsigned long)i); + SERIAL_ECHOLNPGM(" bytes)"); + } + + #ifdef EEPROM_CHITCHAT + Config_PrintSettings(); + #endif +} + +#endif // EEPROM_SETTINGS + +void Config_ResetDefault() { + float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT; + float tmp2[] = DEFAULT_MAX_FEEDRATE; + long tmp3[] = DEFAULT_MAX_ACCELERATION; + for (int i = 0; i < NUM_AXIS; i++) { + axis_steps_per_unit[i] = tmp1[i]; + max_feedrate[i] = tmp2[i]; + max_acceleration_units_per_sq_second[i] = tmp3[i]; + #ifdef SCARA + if (i < sizeof(axis_scaling) / sizeof(*axis_scaling)) + axis_scaling[i] = 1; + #endif + } + + // steps per sq second need to be updated to agree with the units per sq second + reset_acceleration_rates(); + + acceleration = DEFAULT_ACCELERATION; + retract_acceleration = DEFAULT_RETRACT_ACCELERATION; + minimumfeedrate = DEFAULT_MINIMUMFEEDRATE; + minsegmenttime = DEFAULT_MINSEGMENTTIME; + mintravelfeedrate = DEFAULT_MINTRAVELFEEDRATE; + max_xy_jerk = DEFAULT_XYJERK; + max_z_jerk = DEFAULT_ZJERK; + max_e_jerk = DEFAULT_EJERK; + add_homing[X_AXIS] = add_homing[Y_AXIS] = add_homing[Z_AXIS] = 0; + + #ifdef DELTA + endstop_adj[X_AXIS] = endstop_adj[Y_AXIS] = endstop_adj[Z_AXIS] = 0; + delta_radius = DELTA_RADIUS; + delta_diagonal_rod = DELTA_DIAGONAL_ROD; + delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND; + recalc_delta_settings(delta_radius, delta_diagonal_rod); + #endif + + #ifdef ULTIPANEL plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP; plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP; plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED; absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP; absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP; absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED; -#endif//ULTIPANEL -#ifdef ENABLE_AUTO_BED_LEVELING + #endif + + #ifdef ENABLE_AUTO_BED_LEVELING zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER; -#endif//ENABLE_AUTO_BED_LEVELING -#ifdef DOGLCD + #endif + + #ifdef DOGLCD lcd_contrast = DEFAULT_LCD_CONTRAST; -#endif//DOGLCD -#ifdef PIDTEMP -#ifdef PID_PARAMS_PER_EXTRUDER - for (int e = 0; e < EXTRUDERS; e++) -#else // PID_PARAMS_PER_EXTRUDER - int e = 0; // only need to write once -#endif // PID_PARAMS_PER_EXTRUDER - { - PID_PARAM(Kp,e) = DEFAULT_Kp; - PID_PARAM(Ki,e) = scalePID_i(DEFAULT_Ki); - PID_PARAM(Kd,e) = scalePID_d(DEFAULT_Kd); + #endif + + #ifdef PIDTEMP + #ifdef PID_PARAMS_PER_EXTRUDER + for (int e = 0; e < EXTRUDERS; e++) + #else + int e = 0; // only need to write once + #endif + { + PID_PARAM(Kp, e) = DEFAULT_Kp; + PID_PARAM(Ki, e) = scalePID_i(DEFAULT_Ki); + PID_PARAM(Kd, e) = scalePID_d(DEFAULT_Kd); #ifdef PID_ADD_EXTRUSION_RATE - PID_PARAM(Kc,e) = DEFAULT_Kc; - #endif//PID_ADD_EXTRUSION_RATE + PID_PARAM(Kc, e) = DEFAULT_Kc; + #endif } // call updatePID (similar to when we have processed M301) updatePID(); -#endif//PIDTEMP + #endif // PIDTEMP -#ifdef FWRETRACT - autoretract_enabled = false; - retract_length = RETRACT_LENGTH; -#if EXTRUDERS > 1 - retract_length_swap = RETRACT_LENGTH_SWAP; -#endif//EXTRUDERS > 1 - retract_feedrate = RETRACT_FEEDRATE; - retract_zlift = RETRACT_ZLIFT; - retract_recover_length = RETRACT_RECOVER_LENGTH; -#if EXTRUDERS > 1 - retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP; -#endif//EXTRUDERS > 1 - retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE; -#endif//FWRETRACT + #ifdef FWRETRACT + autoretract_enabled = false; + retract_length = RETRACT_LENGTH; + #if EXTRUDERS > 1 + retract_length_swap = RETRACT_LENGTH_SWAP; + #endif + retract_feedrate = RETRACT_FEEDRATE; + retract_zlift = RETRACT_ZLIFT; + retract_recover_length = RETRACT_RECOVER_LENGTH; + #if EXTRUDERS > 1 + retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP; + #endif + retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE; + #endif - volumetric_enabled = false; - filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA; -#if EXTRUDERS > 1 - filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA; -#if EXTRUDERS > 2 - filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; -#if EXTRUDERS > 3 - filament_size[3] = DEFAULT_NOMINAL_FILAMENT_DIA; -#endif //EXTRUDERS > 3 -#endif //EXTRUDERS > 2 -#endif //EXTRUDERS > 1 - calculate_volumetric_multipliers(); - -SERIAL_ECHO_START; -SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded"); + volumetric_enabled = false; + filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 1 + filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 2 + filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 3 + filament_size[3] = DEFAULT_NOMINAL_FILAMENT_DIA; + #endif + #endif + #endif + calculate_volumetric_multipliers(); + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded"); } + +#ifndef DISABLE_M503 + +void Config_PrintSettings(bool forReplay) { + // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown + + SERIAL_ECHO_START; + + if (!forReplay) { + SERIAL_ECHOLNPGM("Steps per unit:"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M92 X", axis_steps_per_unit[X_AXIS]); + SERIAL_ECHOPAIR(" Y", axis_steps_per_unit[Y_AXIS]); + SERIAL_ECHOPAIR(" Z", axis_steps_per_unit[Z_AXIS]); + SERIAL_ECHOPAIR(" E", axis_steps_per_unit[E_AXIS]); + SERIAL_ECHOLN(""); + + SERIAL_ECHO_START; + + #ifdef SCARA + if (!forReplay) { + SERIAL_ECHOLNPGM("Scaling factors:"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M365 X", axis_scaling[X_AXIS]); + SERIAL_ECHOPAIR(" Y", axis_scaling[Y_AXIS]); + SERIAL_ECHOPAIR(" Z", axis_scaling[Z_AXIS]); + SERIAL_ECHOLN(""); + SERIAL_ECHO_START; + #endif // SCARA + + if (!forReplay) { + SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M203 X", max_feedrate[X_AXIS]); + SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]); + SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]); + SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]); + SERIAL_ECHOLN(""); + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M201 X", max_acceleration_units_per_sq_second[X_AXIS] ); + SERIAL_ECHOPAIR(" Y", max_acceleration_units_per_sq_second[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z", max_acceleration_units_per_sq_second[Z_AXIS] ); + SERIAL_ECHOPAIR(" E", max_acceleration_units_per_sq_second[E_AXIS]); + SERIAL_ECHOLN(""); + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M204 S", acceleration ); + SERIAL_ECHOPAIR(" T", retract_acceleration); + SERIAL_ECHOLN(""); + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M205 S", minimumfeedrate ); + SERIAL_ECHOPAIR(" T", mintravelfeedrate ); + SERIAL_ECHOPAIR(" B", minsegmenttime ); + SERIAL_ECHOPAIR(" X", max_xy_jerk ); + SERIAL_ECHOPAIR(" Z", max_z_jerk); + SERIAL_ECHOPAIR(" E", max_e_jerk); + SERIAL_ECHOLN(""); + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Home offset (mm):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M206 X", add_homing[X_AXIS] ); + SERIAL_ECHOPAIR(" Y", add_homing[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z", add_homing[Z_AXIS] ); + SERIAL_ECHOLN(""); + + #ifdef DELTA + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Endstop adjustement (mm):"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M666 X", endstop_adj[X_AXIS] ); + SERIAL_ECHOPAIR(" Y", endstop_adj[Y_AXIS] ); + SERIAL_ECHOPAIR(" Z", endstop_adj[Z_AXIS] ); + SERIAL_ECHOLN(""); + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second"); + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M665 L", delta_diagonal_rod ); + SERIAL_ECHOPAIR(" R", delta_radius ); + SERIAL_ECHOPAIR(" S", delta_segments_per_second ); + SERIAL_ECHOLN(""); + #endif // DELTA + + #ifdef PIDTEMP + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("PID settings:"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp, 0)); // for compatibility with hosts, only echos values for E0 + SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0))); + SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0))); + SERIAL_ECHOLN(""); + #endif // PIDTEMP + + #ifdef FWRETRACT + + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M207 S", retract_length); + SERIAL_ECHOPAIR(" F", retract_feedrate*60); + SERIAL_ECHOPAIR(" Z", retract_zlift); + SERIAL_ECHOLN(""); + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M208 S", retract_recover_length); + SERIAL_ECHOPAIR(" F", retract_recover_feedrate*60); + SERIAL_ECHOLN(""); + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0)); + SERIAL_ECHOLN(""); + + #if EXTRUDERS > 1 + if (!forReplay) { + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("Multi-extruder settings:"); + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap); + SERIAL_ECHOLN(""); + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap); + SERIAL_ECHOLN(""); + } + #endif // EXTRUDERS > 1 + + #endif // FWRETRACT + + SERIAL_ECHO_START; + if (volumetric_enabled) { + if (!forReplay) { + SERIAL_ECHOLNPGM("Filament settings:"); + SERIAL_ECHO_START; + } + SERIAL_ECHOPAIR(" M200 D", filament_size[0]); + SERIAL_ECHOLN(""); + + #if EXTRUDERS > 1 + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]); + SERIAL_ECHOLN(""); + #if EXTRUDERS > 2 + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]); + SERIAL_ECHOLN(""); + #if EXTRUDERS > 3 + SERIAL_ECHO_START; + SERIAL_ECHOPAIR(" M200 T3 D", filament_size[3]); + SERIAL_ECHOLN(""); + #endif + #endif + #endif + + } else { + if (!forReplay) { + SERIAL_ECHOLNPGM("Filament settings: Disabled"); + } + } + + #ifdef CUSTOM_M_CODES + SERIAL_ECHO_START; + if (!forReplay) { + SERIAL_ECHOLNPGM("Z-Probe Offset (mm):"); + SERIAL_ECHO_START; + } + SERIAL_ECHO(" M"); + SERIAL_ECHO(CUSTOM_M_CODE_SET_Z_PROBE_OFFSET); + SERIAL_ECHOPAIR(" Z", -zprobe_zoffset); + SERIAL_ECHOLN(""); + #endif +} + +#endif // !DISABLE_M503 diff --git a/Marlin/ConfigurationStore.h b/Marlin/ConfigurationStore.h index 4f68b13a6a..d117d37fb2 100644 --- a/Marlin/ConfigurationStore.h +++ b/Marlin/ConfigurationStore.h @@ -6,17 +6,17 @@ void Config_ResetDefault(); #ifndef DISABLE_M503 -void Config_PrintSettings(); + void Config_PrintSettings(bool forReplay=false); #else -FORCE_INLINE void Config_PrintSettings() {} + FORCE_INLINE void Config_PrintSettings(bool forReplay=false) {} #endif #ifdef EEPROM_SETTINGS -void Config_StoreSettings(); -void Config_RetrieveSettings(); + void Config_StoreSettings(); + void Config_RetrieveSettings(); #else -FORCE_INLINE void Config_StoreSettings() {} -FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_PrintSettings(); } + FORCE_INLINE void Config_StoreSettings() {} + FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_PrintSettings(); } #endif -#endif//CONFIG_STORE_H +#endif // __CONFIG_STORE_H diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 7c4405e0d0..16030c795c 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -164,7 +164,7 @@ // M500 - stores parameters 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. -// M503 - print the current settings (from memory not from EEPROM) +// M503 - print the current settings (from memory not from EEPROM). Use S0 to leave off headings. // M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) // M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] // M665 - set delta configurations @@ -3581,7 +3581,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp break; case 503: // M503 print settings currently in memory { - Config_PrintSettings(); + Config_PrintSettings(code_seen('S') && code_value == 0); } break; #ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED From 13118cde3334d59341e44aa2b78926a1ee3bfe7f Mon Sep 17 00:00:00 2001 From: Victor Andueza Date: Wed, 28 Jan 2015 16:52:36 +0100 Subject: [PATCH 053/132] Add bq Witbox 3D printer --- Marlin/boards.h | 1 + .../WITBOX/Configuration.h | 801 ++++++++++++++++++ .../WITBOX/Configuration_adv.h | 535 ++++++++++++ Marlin/language.h | 3 + Marlin/pins.h | 2 + Marlin/pins_RAMPS_13.h | 4 +- 6 files changed, 1344 insertions(+), 2 deletions(-) create mode 100644 Marlin/example_configurations/WITBOX/Configuration.h create mode 100644 Marlin/example_configurations/WITBOX/Configuration_adv.h diff --git a/Marlin/boards.h b/Marlin/boards.h index fa06f0dedb..18b7132dc7 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -48,6 +48,7 @@ #define BOARD_ELEFU_3 21 // Elefu Ra Board (v3) #define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board #define BOARD_LEAPFROG 999 // Leapfrog +#define BOARD_WITBOX 41 // bq WITBOX #define BOARD_99 99 // This is in pins.h but...? diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h new file mode 100644 index 0000000000..0b34cec156 --- /dev/null +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -0,0 +1,801 @@ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H + +#include "boards.h" + +// This configuration file contains the basic settings. +// Advanced settings can be found in Configuration_adv.h +// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/delta directory. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/SCARA directory. +// + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.2" +#define STRING_URL "reprap.org" +#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time +#define STRING_CONFIG_H_AUTHOR "(bq WITBOX)" // Who made the changes. +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup + +// SERIAL_PORT selects which serial port should be used for communication with the host. +// This allows the connection of wireless adapters (for instance) to non-default port pins. +// Serial port 0 is still used by the Arduino bootloader regardless of this setting. +#define SERIAL_PORT 0 + +// This determines the communication speed of the printer +#define BAUDRATE 115200 + +// This enables the serial port associated to the Bluetooth interface +//#define BTENABLED // Enable BT interface on AT90USB devices + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_WITBOX +#endif + +// Define this to set a custom name for your generic Mendel, +// #define CUSTOM_MENDEL_NAME "This Mendel" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// This defines the number of extruders +#define EXTRUDERS 1 + +//// The following define selects which power supply you have. Please choose the one that matches your setup +// 1 = ATX +// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + +#define POWER_SUPPLY 1 + +// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. +// #define PS_DEFAULT_OFF + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== +// +//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table +// +//// Temperature sensor settings: +// -2 is thermocouple with MAX6675 (only for sensor 0) +// -1 is thermocouple with AD595 +// 0 is not used +// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) +// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) +// 3 is Mendel-parts thermistor (4.7k pullup) +// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! +// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) +// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) +// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) +// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) +// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) +// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) +// 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) +// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) +// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" +// 20 is the PT100 circuit found in the Ultimainboard V2.x +// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 +// +// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k +// (but gives greater accuracy and more stable PID) +// 51 is 100k thermistor - EPCOS (1k pullup) +// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) +// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) +// +// 1047 is Pt1000 with 4k7 pullup +// 1010 is Pt1000 with 1k pullup (non standard) +// 147 is Pt100 with 4k7 pullup +// 110 is Pt100 with 1k pullup (non standard) + +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_BED 0 + +// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Actual temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define BED_MINTEMP 5 + +// 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 260 +#define HEATER_1_MAXTEMP 260 +#define HEATER_2_MAXTEMP 260 +#define BED_MAXTEMP 150 + +// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the +// average current. The value should be an integer and the heat bed will be turned on for 1 interval of +// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. +//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 + +// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS +//#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R +//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R + +// PID settings: +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#ifdef PIDTEMP + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term + #define K1 0.95 //smoothing factor within the PID + #define PID_dT ((OVERSAMPLENR * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine + +// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it +// Ultimaker +// #define DEFAULT_Kp 22.2 +// #define DEFAULT_Ki 1.08 +// #define DEFAULT_Kd 114 + +// MakerGear +// #define DEFAULT_Kp 7.0 +// #define DEFAULT_Ki 0.1 +// #define DEFAULT_Kd 12 + +// Mendel Parts V9 on 12V +// #define DEFAULT_Kp 63.0 +// #define DEFAULT_Ki 2.25 +// #define DEFAULT_Kd 440 + +// Witbox + #define DEFAULT_Kp 22.2 + #define DEFAULT_Ki 1.08 + #define DEFAULT_Kd 114 +#endif // PIDTEMP + +// Bed Temperature Control +// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis +// +// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. +// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz, +// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. +// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. +// If your configuration is significantly different than this and you don't understand the issues involved, you probably +// shouldn't use bed PID until someone else verifies your hardware works. +// If this is enabled, find your own PID constants below. +//#define PIDTEMPBED +// +//#define BED_LIMIT_SWITCHING + +// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. +// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) +// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, +// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#ifdef PIDTEMPBED +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from pidautotune +// #define DEFAULT_bedKp 97.1 +// #define DEFAULT_bedKi 1.41 +// #define DEFAULT_bedKd 1675.16 + +// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + + + +//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit +//can be software-disabled for whatever purposes by +#define PREVENT_DANGEROUS_EXTRUDE +//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. +#define PREVENT_LENGTHY_EXTRUDE + +#define EXTRUDE_MINTEMP 170 +#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. + +/*================== Thermal Runaway Protection ============================== +This is a feature to protect your printer from burn up in flames if it has +a thermistor coming off place (this happened to a friend of mine recently and +motivated me writing this feature). + +The issue: If a thermistor come off, it will read a lower temperature than actual. +The system will turn the heater on forever, burning up the filament and anything +else around. + +After the temperature reaches the target for the first time, this feature will +start measuring for how long the current temperature stays below the target +minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). + +If it stays longer than _PERIOD, it means the thermistor temperature +cannot catch up with the target, so something *may be* wrong. Then, to be on the +safe side, the system will he halt. + +Bear in mind the count down will just start AFTER the first time the +thermistor temperature is over the target, so you will have no problem if +your extruder heater takes 2 minutes to hit the target on heating. + +*/ +// If you want to enable this feature for all your extruder heaters, +// uncomment the 2 defines below: + +// Parameters for all extruder heaters +//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius + +// If you want to enable this feature for your bed heater, +// uncomment the 2 defines below: + +// Parameters for the bed heater +//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius +//=========================================================================== + + +//=========================================================================== +//=============================Mechanical Settings=========================== +//=========================================================================== + +// Uncomment the following line to enable CoreXY kinematics +// #define COREXY + +// coarse Endstop Settings +#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors + +#ifndef ENDSTOPPULLUPS + // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined + // #define ENDSTOPPULLUP_XMAX + // #define ENDSTOPPULLUP_YMAX + // #define ENDSTOPPULLUP_ZMAX + // #define ENDSTOPPULLUP_XMIN + // #define ENDSTOPPULLUP_YMIN + // #define ENDSTOPPULLUP_ZMIN +#endif + +#ifdef ENDSTOPPULLUPS + #define ENDSTOPPULLUP_XMAX + #define ENDSTOPPULLUP_YMAX + #define ENDSTOPPULLUP_ZMAX + #define ENDSTOPPULLUP_XMIN + #define ENDSTOPPULLUP_YMIN + #define ENDSTOPPULLUP_ZMIN +#endif + +// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. +const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +//#define DISABLE_MAX_ENDSTOPS +//#define DISABLE_MIN_ENDSTOPS + +// Disable max endstops for compatibility with endstop checking routine +#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS) + #define DISABLE_MAX_ENDSTOPS +#endif + +// 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 // For all extruders + +// Disables axis when it's not being used. +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z true +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled + +#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false +#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E2_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 true // If true, axis won't move to coordinates less than HOME_POS. +#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. + +// Travel limits after homing +#define X_MAX_POS 297 +#define X_MIN_POS 0 +#define Y_MAX_POS 210 +#define Y_MIN_POS 0 +#define Z_MAX_POS 200 +#define Z_MIN_POS 0 + +#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) +#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) +#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) +//============================= Bed Auto Leveling =========================== + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) +#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. + +#ifdef ENABLE_AUTO_BED_LEVELING + +// There are 2 different ways to pick the X and Y locations to probe: + +// - "grid" mode +// Probe every point in a rectangular grid +// You must specify the rectangle, and the density of sample points +// This mode is preferred because there are more measurements. +// It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive + +// - "3-point" mode +// Probe 3 arbitrary points on the bed (that aren't colinear) +// You must specify the X & Y coordinates of all 3 points + + #define AUTO_BED_LEVELING_GRID + // with AUTO_BED_LEVELING_GRID, the bed is sampled in a + // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid + // and least squares solution is calculated + // Note: this feature occupies 10'206 byte + #ifdef AUTO_BED_LEVELING_GRID + + // set the rectangle in which to probe + #define LEFT_PROBE_BED_POSITION 15 + #define RIGHT_PROBE_BED_POSITION 170 + #define BACK_PROBE_BED_POSITION 180 + #define FRONT_PROBE_BED_POSITION 20 + + // set the number of grid points per dimension + // I wouldn't see a reason to go above 3 (=9 probing points on the bed) + #define AUTO_BED_LEVELING_GRID_POINTS 2 + + + #else // not AUTO_BED_LEVELING_GRID + // with no grid, just probe 3 arbitrary points. A simple cross-product + // is used to esimate the plane of the print bed + + #define ABL_PROBE_PT_1_X 15 + #define ABL_PROBE_PT_1_Y 180 + #define ABL_PROBE_PT_2_X 15 + #define ABL_PROBE_PT_2_Y 20 + #define ABL_PROBE_PT_3_X 170 + #define ABL_PROBE_PT_3_Y 20 + + #endif // AUTO_BED_LEVELING_GRID + + + // these are the offsets to the probe relative to the extruder tip (Hotend - Probe) + // X and Y offsets must be integers + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 + + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. + // Be sure you have this distance over your Z_MAX_POS in case + + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + + #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points + + //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell + //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + + //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk + //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. + // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. + +// #define PROBE_SERVO_DEACTIVATION_DELAY 300 + + +//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, +//it is highly recommended you let this Z_SAFE_HOMING enabled!!! + + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // When defined, it will: + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled + // - If stepper drivers timeout, it will need X and Y homing again before Z homing + // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) + // - Block Z homing only when the probe is outside bed area. + + #ifdef Z_SAFE_HOMING + + #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) + + #endif + + #ifdef AUTO_BED_LEVELING_GRID // Check if Probe_Offset * Grid Points is greater than Probing Range + #if X_PROBE_OFFSET_FROM_EXTRUDER < 0 + #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION)) + #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #else + #if ((X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION)) + #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #endif + #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0 + #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION)) + #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #else + #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION)) + #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #endif + + + #endif + +#endif // ENABLE_AUTO_BED_LEVELING + + +// The position of the homing switches +//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used +//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0) + +//Manual homing switch locations: +// For deltabots this means top and center of the Cartesian print volume. +#define MANUAL_X_HOME_POS 0 +#define MANUAL_Y_HOME_POS 0 +#define MANUAL_Z_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing. + +//// MOVEMENT SETTINGS +#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E +#define HOMING_FEEDRATE {120*60, 120*60, 7.2*60, 0} // set the homing speeds (mm/min) + +// default settings + +#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,600.0*8/3,102.073} // default steps per unit for Ultimaker +#define DEFAULT_MAX_FEEDRATE {350, 350, 7.2, 80} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {1000,1000,10,1000} // 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 3000 // X, Y, Z and E max acceleration in mm/s^2 for retracts + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously) +#define DEFAULT_XYJERK 10.0 // (mm/sec) +#define DEFAULT_ZJERK 0.4 // (mm/sec) +#define DEFAULT_EJERK 5.0 // (mm/sec) + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +// Custom M code points +#define CUSTOM_M_CODES +#ifdef CUSTOM_M_CODES + #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 + #define Z_PROBE_OFFSET_RANGE_MIN -15 + #define Z_PROBE_OFFSET_RANGE_MAX -5 +#endif + + +// EEPROM +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters 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 + +// Preheat Constants +#define PLA_PREHEAT_HOTEND_TEMP 200 +#define PLA_PREHEAT_HPB_TEMP 0 +#define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +#define ABS_PREHEAT_HOTEND_TEMP 220 +#define ABS_PREHEAT_HPB_TEMP 100 +#define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +//LCD and SD support +#define ULTRA_LCD //general LCD support, also 16x2 +//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) +#define SDSUPPORT // Enable SD Card Support in Hardware Console +//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) +//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication +//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder +//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking +//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. +#define ULTIPANEL //the UltiPanel as on Thingiverse +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click + +// The MaKr3d Makr-Panel with graphic controller and SD support +// http://reprap.org/wiki/MaKr3d_MaKrPanel +//#define MAKRPANEL + +// The RepRapDiscount Smart Controller (white PCB) +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// The GADGETS3D G3D LCD/SD Controller (blue PCB) +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +//#define G3D_PANEL + +// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// The RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click + +// The Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C +//#define RA_CONTROL_PANEL + +//automatic expansion +#if defined (MAKRPANEL) + #define DOGLCD + #define SDSUPPORT + #define ULTIPANEL + #define NEWPANEL + #define DEFAULT_LCD_CONTRAST 17 +#endif + +#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define DOGLCD + #define U8GLIB_ST7920 + #define REPRAP_DISCOUNT_SMART_CONTROLLER +#endif + +#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) + #define ULTIPANEL + #define NEWPANEL +#endif + +#if defined(REPRAPWORLD_KEYPAD) + #define NEWPANEL + #define ULTIPANEL +#endif +#if defined(RA_CONTROL_PANEL) + #define ULTIPANEL + #define NEWPANEL + #define LCD_I2C_TYPE_PCA8574 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander +#endif + +//I2C PANELS + +//#define LCD_I2C_SAINSMART_YWROBOT +#ifdef LCD_I2C_SAINSMART_YWROBOT + // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) + // Make sure it is placed in the Arduino libraries directory. + #define LCD_I2C_TYPE_PCF8575 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander + #define NEWPANEL + #define ULTIPANEL +#endif + +// PANELOLU2 LCD with status LEDs, separate encoder and click inputs +//#define LCD_I2C_PANELOLU2 +#ifdef LCD_I2C_PANELOLU2 + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file) + // Note: The PANELOLU2 encoder click input can either be directly connected to a pin + // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD + #define NEWPANEL + #define ULTIPANEL + + #ifndef ENCODER_PULSES_PER_STEP + #define ENCODER_PULSES_PER_STEP 4 + #endif + + #ifndef ENCODER_STEPS_PER_MENU_ITEM + #define ENCODER_STEPS_PER_MENU_ITEM 1 + #endif + + + #ifdef LCD_USE_I2C_BUZZER + #define LCD_FEEDBACK_FREQUENCY_HZ 1000 + #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 + #endif + +#endif + +// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs +//#define LCD_I2C_VIKI +#ifdef LCD_I2C_VIKI + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // Note: The pause/stop/resume LCD button pin should be connected to the Arduino + // BTN_ENC pin (or set BTN_ENC to -1 if not used) + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) + #define NEWPANEL + #define ULTIPANEL +#endif + +// Shift register panels +// --------------------- +// 2 wire Non-latching LCD SR from: +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection + +//#define SAV_3DLCD +#ifdef SAV_3DLCD + #define SR_LCD_2W_NL // Non latching 2 wire shiftregister + #define NEWPANEL + #define ULTIPANEL +#endif + + +#ifdef ULTIPANEL +// #define NEWPANEL //enable this if you have a click-encoder panel + #define SDSUPPORT + #define ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the DOG graphic display + #define LCD_WIDTH 20 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 20 + #define LCD_HEIGHT 4 + #endif +#else //no panel but just LCD + #ifdef ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display + #define LCD_WIDTH 20 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 16 + #define LCD_HEIGHT 2 + #endif + #endif +#endif + +// default LCD contrast for dogm-like LCD displays +#ifdef DOGLCD +# ifndef DEFAULT_LCD_CONTRAST +# define DEFAULT_LCD_CONTRAST 32 +# endif +#endif + +// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Temperature status LEDs that display the hotend and bet temperature. +// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. +// Otherwise the RED led is on. There is 1C hysteresis. +//#define TEMP_STAT_LEDS + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not ass annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +// #define PHOTOGRAPH_PIN 23 + +// SF send wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder. +//#define BARICUDA + +//define BlinkM/CyzRgb Support +//#define BLINKM + +/*********************************************************************\ +* R/C SERVO support +* Sponsored by TrinityLabs, Reworked by codexmas +**********************************************************************/ + +// Number of servos +// +// If you select a configuration below, this will receive a default value and does not need to be set manually +// set it manually if you have more servos than extruders and wish to manually control some +// leaving it undefined or defining as 0 will disable the servo subsystem +// If unsure, leave commented / disabled +// +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Servo Endstops +// +// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. +// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500. +// +//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 +//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles + +/**********************************************************************\ + * Support for a filament diameter sensor + * Also allows adjustment of diameter at print time (vs at slicing) + * Single extruder only at this point (extruder 0) + * + * Motherboards + * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector + * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 - Rambo - uses Analog input 3 + * Note may require analog pins to be defined for different motherboards + **********************************************************************/ +// Uncomment below to enable +//#define FILAMENT_SENSOR + +#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) +#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel + +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation +#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm +#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm +#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) + +//defines used in the code +#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially + +//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec. +//#define FILAMENT_LCD_DISPLAY + + + + + + +#include "Configuration_adv.h" +#include "thermistortables.h" + +#endif //__CONFIGURATION_H diff --git a/Marlin/example_configurations/WITBOX/Configuration_adv.h b/Marlin/example_configurations/WITBOX/Configuration_adv.h new file mode 100644 index 0000000000..333396772d --- /dev/null +++ b/Marlin/example_configurations/WITBOX/Configuration_adv.h @@ -0,0 +1,535 @@ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +#ifdef BED_LIMIT_SWITCHING + #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS +#endif +#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control + +//// Heating sanity check: +// This waits for the watch period 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. This check is also only triggered if the target temperature and the current temperature +// differ by at least 2x WATCH_TEMP_INCREASE +//#define WATCH_TEMP_PERIOD 40000 //40 seconds +//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds + +#ifdef PIDTEMP + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen 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 (1) //heating power=Kc*(e_speed) + #endif +#endif + + +//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 B F +// 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 +// Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results +// as long as it supports dual x-carriages. (M605 S0) +// Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so +// that additional slicer support is not required. (M605 S1) +// Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all +// actions of the first x-carriage. This allows the printer to print 2 arbitrary items at +// once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + +// This is the default power-up mode which can be later using M605. +#define DEFAULT_DUAL_X_CARRIAGE_MODE 0 + +// Default settings in "Auto-park Mode" +#define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder +#define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + +// Default x offset in duplication mode (typically set to half print bed width) +#define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif //DUAL_X_CARRIAGE + +//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again: +#define X_HOME_RETRACT_MM 5 +#define Y_HOME_RETRACT_MM 5 +#define Z_HOME_RETRACT_MM 2 +//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. + +#define AXIS_RELATIVE_MODES {false, false, false, false} +#ifdef CONFIG_STEPPERS_TOSHIBA +#define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers +#else +#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step) +#endif +//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +//default stepper release if idle +#define DEFAULT_STEPPER_DEACTIVE_TIME 60 + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +// Feedrates for manual moves along X, Y, Z, E from panel +#ifdef ULTIPANEL +#define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60} // set the speeds for manual moves (mm/min) +#endif + +//Comment to disable setting feedrate multiplier via encoder +#ifdef ULTIPANEL + #define ULTIPANEL_FEEDMULTIPLY +#endif + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// 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 0.05// (mm/sec) + +// MS1 MS2 Stepper Driver Microstepping mode table +#define MICROSTEP1 LOW,LOW +#define MICROSTEP2 HIGH,LOW +#define MICROSTEP4 LOW,HIGH +#define MICROSTEP8 HIGH,HIGH +#define MICROSTEP16 HIGH,HIGH + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] + +// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards) +#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) + +// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C +// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 +// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS +#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers? +#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + +#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order. +// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that. +// using: +#define MENU_ADDAUTOSTART + +// Show a progress bar on HD44780 LCDs for SD printing +//#define LCD_PROGRESS_BAR + +#ifdef LCD_PROGRESS_BAR + // Amount of time (ms) to show the bar + #define PROGRESS_BAR_BAR_TIME 2000 + // Amount of time (ms) to show the status message + #define PROGRESS_BAR_MSG_TIME 3000 + // Amount of time (ms) to retain the status message (0=forever) + #define PROGRESS_MSG_EXPIRE 0 + // Enable this to show messages for MSG_TIME then hide them + //#define PROGRESS_MSG_ONCE + #ifdef DOGLCD + #warning LCD_PROGRESS_BAR does not apply to graphical displays at this time. + #endif + #ifdef FILAMENT_LCD_DISPLAY + #error LCD_PROGRESS_BAR and FILAMENT_LCD_DISPLAY are not fully compatible. Comment out this line to use both. + #endif +#endif + +// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation. +//#define USE_WATCHDOG + +#ifdef USE_WATCHDOG +// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. +// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. +// However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. +//#define WATCHDOG_RESET_MANUAL +#endif + +// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled. +//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + +// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process +// it can e.g. be used to change z-positions in the print startup phase in real-time +// does not respect endstops! +//#define BABYSTEPPING +#ifdef BABYSTEPPING + #define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions + #define BABYSTEP_INVERT_Z false //true for inverse movements in Z + #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements + + #ifdef COREXY + #error BABYSTEPPING not implemented for COREXY yet. + #endif + + #ifdef DELTA + #ifdef BABYSTEP_XY + #error BABYSTEPPING only implemented for Z axis on deltabots. + #endif + #endif +#endif + +// extruder advance constant (s2/mm3) +// +// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 +// +// Hooke's law says: force = k * distance +// Bernoulli's principle 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 .0 + + #define D_FILAMENT 1.75 + #define STEPS_MM_E 100.47095761381482 + #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) + #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA) + +#endif // ADVANCE + +// Arc interpretation settings: +#define MM_PER_ARC_SEGMENT 1 +#define N_ARC_CORRECTION 25 + +const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement + +// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted +// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT +// in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should +// be commented out otherwise +#define SDCARDDETECTINVERTED + +#ifdef ULTIPANEL + #undef SDCARDDETECTINVERTED +#endif + +// Power Signal Control Definitions +// By default use ATX definition +#ifndef POWER_SUPPLY + #define POWER_SUPPLY 1 +#endif +// 1 = ATX +#if (POWER_SUPPLY == 1) + #define PS_ON_AWAKE LOW + #define PS_ON_ASLEEP HIGH +#endif +// 2 = X-Box 360 203W +#if (POWER_SUPPLY == 2) + #define PS_ON_AWAKE HIGH + #define PS_ON_ASLEEP LOW +#endif + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//=============================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 ring-buffering. +#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 receiving from the serial: +#define MAX_CMD_SIZE 96 +#define BUFSIZE 5 + + +// Firmware based and LCD controlled retract +// M207 and M208 can be used to define parameters for the retraction. +// The retraction can be called by the slicer using G10 and G11 +// until then, intended retractions can be detected by moves that only extrude and the direction. +// the moves are than replaced by the firmware controlled ones. + +// #define FWRETRACT //ONLY PARTIALLY TESTED +#ifdef FWRETRACT + #define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt + #define RETRACT_LENGTH 3 //default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 80*60 //default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 //default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) + //#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8*60 //default feedrate for recovering from retraction (mm/s) +#endif + +//adds support for experimental filament exchange support M600; requires display +#ifdef ULTIPANEL + #define FILAMENTCHANGEENABLE + #ifdef FILAMENTCHANGEENABLE + #define FILAMENTCHANGE_XPOS 3 + #define FILAMENTCHANGE_YPOS 3 + #define FILAMENTCHANGE_ZADD 10 + #define FILAMENTCHANGE_FIRSTRETRACT -2 + #define FILAMENTCHANGE_FINALRETRACT -100 + #endif +#endif + +#ifdef FILAMENTCHANGEENABLE + #ifdef EXTRUDER_RUNOUT_PREVENT + #error EXTRUDER_RUNOUT_PREVENT currently incompatible with FILAMENTCHANGE + #endif +#endif + +//=========================================================================== +//============================= Define Defines ============================ +//=========================================================================== + +#if defined (ENABLE_AUTO_BED_LEVELING) && defined (DELTA) + #error "Bed Auto Leveling is still not compatible with Delta Kinematics." +#endif + +#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT + #error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1" +#endif + +#if EXTRUDERS > 1 && defined HEATERS_PARALLEL + #error "You cannot use HEATERS_PARALLEL if EXTRUDERS > 1" +#endif + +#if TEMP_SENSOR_0 > 0 + #define THERMISTORHEATER_0 TEMP_SENSOR_0 + #define HEATER_0_USES_THERMISTOR +#endif +#if TEMP_SENSOR_1 > 0 + #define THERMISTORHEATER_1 TEMP_SENSOR_1 + #define HEATER_1_USES_THERMISTOR +#endif +#if TEMP_SENSOR_2 > 0 + #define THERMISTORHEATER_2 TEMP_SENSOR_2 + #define HEATER_2_USES_THERMISTOR +#endif +#if TEMP_SENSOR_3 > 0 + #define THERMISTORHEATER_3 TEMP_SENSOR_3 + #define HEATER_3_USES_THERMISTOR +#endif +#if TEMP_SENSOR_BED > 0 + #define THERMISTORBED TEMP_SENSOR_BED + #define BED_USES_THERMISTOR +#endif +#if TEMP_SENSOR_0 == -1 + #define HEATER_0_USES_AD595 +#endif +#if TEMP_SENSOR_1 == -1 + #define HEATER_1_USES_AD595 +#endif +#if TEMP_SENSOR_2 == -1 + #define HEATER_2_USES_AD595 +#endif +#if TEMP_SENSOR_3 == -1 + #define HEATER_3_USES_AD595 +#endif +#if TEMP_SENSOR_BED == -1 + #define BED_USES_AD595 +#endif +#if TEMP_SENSOR_0 == -2 + #define HEATER_0_USES_MAX6675 +#endif +#if TEMP_SENSOR_0 == 0 + #undef HEATER_0_MINTEMP + #undef HEATER_0_MAXTEMP +#endif +#if TEMP_SENSOR_1 == 0 + #undef HEATER_1_MINTEMP + #undef HEATER_1_MAXTEMP +#endif +#if TEMP_SENSOR_2 == 0 + #undef HEATER_2_MINTEMP + #undef HEATER_2_MAXTEMP +#endif +#if TEMP_SENSOR_3 == 0 + #undef HEATER_3_MINTEMP + #undef HEATER_3_MAXTEMP +#endif +#if TEMP_SENSOR_BED == 0 + #undef BED_MINTEMP + #undef BED_MAXTEMP +#endif + + +#endif //__CONFIGURATION_ADV_H diff --git a/Marlin/language.h b/Marlin/language.h index e019b36171..e63b7362ea 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -51,6 +51,9 @@ #elif MB(SAV_MKI) #define MACHINE_NAME "SAV MkI" #define FIRMWARE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config" +#elif MB(WITBOX) + #define MACHINE_NAME "WITBOX" + #define FIRMWARE_URL "http://www.bqreaders.com/descargas-witbox.html" #else #ifdef CUSTOM_MENDEL_NAME #define MACHINE_NAME CUSTOM_MENDEL_NAME diff --git a/Marlin/pins.h b/Marlin/pins.h index 3f11e900b5..a89a1f0688 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -106,6 +106,8 @@ #include "pins_5DPRINT.h" #elif MB(LEAPFROG) #include "pins_LEAPFROG.h" +#elif MB(WITBOX) + #include "pins_WITBOX.h" #elif MB(99) #include "pins_99.h" #else diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h index f0d4c33b95..8990f166d1 100644 --- a/Marlin/pins_RAMPS_13.h +++ b/Marlin/pins_RAMPS_13.h @@ -63,7 +63,7 @@ #define FILWIDTH_PIN 5 #endif -#if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) +#if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) || MB(WITBOX) #define FAN_PIN 9 // (Sprinter config) #if MB(RAMPS_13_EFF) #define CONTROLLERFAN_PIN -1 // Pin used for the fan to cool controller @@ -88,7 +88,7 @@ #define HEATER_0_PIN 10 // EXTRUDER 1 #endif -#if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) +#if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) || MB(WITBOX) #define HEATER_1_PIN -1 #else #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) From 0d4ce27b79ab92f66e4b597b8a29fa079866b8b4 Mon Sep 17 00:00:00 2001 From: Victor Andueza Date: Wed, 28 Jan 2015 17:26:50 +0100 Subject: [PATCH 054/132] Add pins_WITBOX file --- Marlin/pins_WITBOX.h | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Marlin/pins_WITBOX.h diff --git a/Marlin/pins_WITBOX.h b/Marlin/pins_WITBOX.h new file mode 100644 index 0000000000..4deda2cbab --- /dev/null +++ b/Marlin/pins_WITBOX.h @@ -0,0 +1,5 @@ +/** + * bq WITBOX Arduino Mega with RAMPS v1.3/1.4 pin assignments + */ + +#include "pins_RAMPS_13.h" From 6c285930cb439a59b5d97b95c5cbcddbedf45f78 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Wed, 28 Jan 2015 23:57:22 +0100 Subject: [PATCH 055/132] Fixing wrong pin to heater extruder 2 <-> 3 Extruder 2 and 3 was swapped --- Marlin/pins_MEGATRONICS_3.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/pins_MEGATRONICS_3.h b/Marlin/pins_MEGATRONICS_3.h index 1ceb89aab5..2cf0a8907d 100644 --- a/Marlin/pins_MEGATRONICS_3.h +++ b/Marlin/pins_MEGATRONICS_3.h @@ -46,8 +46,8 @@ #define KILL_PIN -1 #define HEATER_0_PIN 2 -#define HEATER_1_PIN 8 -#define HEATER_2_PIN 9 +#define HEATER_1_PIN 9 +#define HEATER_2_PIN 8 #define HEATER_BED_PIN 10 #define FAN_PIN 6 #define FAN2_PIN 7 From ff99ca30401553ddb27dca839d52a085eae38281 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 28 Jan 2015 20:48:32 -0800 Subject: [PATCH 056/132] Fix alignment of Restore following PIDTEMP Should be reading 4 x 4 PID values instead of 4 x 3 --- Marlin/ConfigurationStore.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index 360029b187..7f2b61eb1d 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -161,11 +161,12 @@ void Config_StoreSettings() { { #endif // !PIDTEMP - dummy = DUMMY_PID_VALUE; - EEPROM_WRITE_VAR(i, dummy); - dummy = 0.0f; - for (int q = 3; q--;) EEPROM_WRITE_VAR(i, dummy); - } + dummy = DUMMY_PID_VALUE; + EEPROM_WRITE_VAR(i, dummy); + dummy = 0.0f; + for (int q = 3; q--;) EEPROM_WRITE_VAR(i, dummy); + } + } // Extruders Loop #ifndef DOGLCD @@ -290,12 +291,12 @@ void Config_RetrieveSettings() { #endif } else { - for (int q=3; q--;) EEPROM_READ_VAR(i, dummy); + for (int q=3; q--;) EEPROM_READ_VAR(i, dummy); // Ki, Kd, Kc } } #else // !PIDTEMP - // 4 x 3 = 12 slots for PID parameters - for (int q=12; q--;) EEPROM_READ_VAR(i, dummy); + // 4 x 4 = 16 slots for PID parameters + for (int q=16; q--;) EEPROM_READ_VAR(i, dummy); // 4x Kp, Ki, Kd, Kc #endif // !PIDTEMP #ifndef DOGLCD From 9bc905140519cc3db3840872dd5117fe21bf98a8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 28 Jan 2015 21:19:51 -0800 Subject: [PATCH 057/132] Flag EEPROM write errors on serial output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Also adds a language string for the error. - Also adds SERIAL_EOL as an alias for SERIAL_ECHOLN(“”) --- Marlin/ConfigurationStore.cpp | 51 ++++++++++++++++++++--------------- Marlin/Marlin.h | 2 ++ Marlin/language.h | 2 ++ 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index 7f2b61eb1d..a72202e9a6 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -62,17 +62,24 @@ * */ #include "Marlin.h" +#include "language.h" #include "planner.h" #include "temperature.h" #include "ultralcd.h" #include "ConfigurationStore.h" void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size) { - do { + uint8_t c; + while(size--) { eeprom_write_byte((unsigned char*)pos, *value); + eeprom_read_byte((unsigned char*)pos, *c); + if (*c != *value) { + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); + } pos++; value++; - } while (--size); + }; } void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size) { do { @@ -471,7 +478,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" Y", axis_steps_per_unit[Y_AXIS]); SERIAL_ECHOPAIR(" Z", axis_steps_per_unit[Z_AXIS]); SERIAL_ECHOPAIR(" E", axis_steps_per_unit[E_AXIS]); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; @@ -483,7 +490,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" M365 X", axis_scaling[X_AXIS]); SERIAL_ECHOPAIR(" Y", axis_scaling[Y_AXIS]); SERIAL_ECHOPAIR(" Z", axis_scaling[Z_AXIS]); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; #endif // SCARA @@ -495,7 +502,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]); SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]); SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; if (!forReplay) { @@ -506,7 +513,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" Y", max_acceleration_units_per_sq_second[Y_AXIS] ); SERIAL_ECHOPAIR(" Z", max_acceleration_units_per_sq_second[Z_AXIS] ); SERIAL_ECHOPAIR(" E", max_acceleration_units_per_sq_second[E_AXIS]); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; if (!forReplay) { SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration"); @@ -514,7 +521,7 @@ void Config_PrintSettings(bool forReplay) { } SERIAL_ECHOPAIR(" M204 S", acceleration ); SERIAL_ECHOPAIR(" T", retract_acceleration); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; if (!forReplay) { @@ -527,7 +534,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" X", max_xy_jerk ); SERIAL_ECHOPAIR(" Z", max_z_jerk); SERIAL_ECHOPAIR(" E", max_e_jerk); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; if (!forReplay) { @@ -537,7 +544,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" M206 X", add_homing[X_AXIS] ); SERIAL_ECHOPAIR(" Y", add_homing[Y_AXIS] ); SERIAL_ECHOPAIR(" Z", add_homing[Z_AXIS] ); - SERIAL_ECHOLN(""); + SERIAL_EOL; #ifdef DELTA SERIAL_ECHO_START; @@ -548,14 +555,14 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" M666 X", endstop_adj[X_AXIS] ); SERIAL_ECHOPAIR(" Y", endstop_adj[Y_AXIS] ); SERIAL_ECHOPAIR(" Z", endstop_adj[Z_AXIS] ); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second"); SERIAL_ECHO_START; SERIAL_ECHOPAIR(" M665 L", delta_diagonal_rod ); SERIAL_ECHOPAIR(" R", delta_radius ); SERIAL_ECHOPAIR(" S", delta_segments_per_second ); - SERIAL_ECHOLN(""); + SERIAL_EOL; #endif // DELTA #ifdef PIDTEMP @@ -567,7 +574,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp, 0)); // for compatibility with hosts, only echos values for E0 SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0))); SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0))); - SERIAL_ECHOLN(""); + SERIAL_EOL; #endif // PIDTEMP #ifdef FWRETRACT @@ -580,7 +587,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" M207 S", retract_length); SERIAL_ECHOPAIR(" F", retract_feedrate*60); SERIAL_ECHOPAIR(" Z", retract_zlift); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; if (!forReplay) { SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)"); @@ -588,14 +595,14 @@ void Config_PrintSettings(bool forReplay) { } SERIAL_ECHOPAIR(" M208 S", retract_recover_length); SERIAL_ECHOPAIR(" F", retract_recover_feedrate*60); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; if (!forReplay) { SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries"); SERIAL_ECHO_START; } SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0)); - SERIAL_ECHOLN(""); + SERIAL_EOL; #if EXTRUDERS > 1 if (!forReplay) { @@ -603,10 +610,10 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOLNPGM("Multi-extruder settings:"); SERIAL_ECHO_START; SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap); - SERIAL_ECHOLN(""); + SERIAL_EOL; SERIAL_ECHO_START; SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap); - SERIAL_ECHOLN(""); + SERIAL_EOL; } #endif // EXTRUDERS > 1 @@ -619,20 +626,20 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHO_START; } SERIAL_ECHOPAIR(" M200 D", filament_size[0]); - SERIAL_ECHOLN(""); + SERIAL_EOL; #if EXTRUDERS > 1 SERIAL_ECHO_START; SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]); - SERIAL_ECHOLN(""); + SERIAL_EOL; #if EXTRUDERS > 2 SERIAL_ECHO_START; SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]); - SERIAL_ECHOLN(""); + SERIAL_EOL; #if EXTRUDERS > 3 SERIAL_ECHO_START; SERIAL_ECHOPAIR(" M200 T3 D", filament_size[3]); - SERIAL_ECHOLN(""); + SERIAL_EOL; #endif #endif #endif @@ -652,7 +659,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHO(" M"); SERIAL_ECHO(CUSTOM_M_CODE_SET_Z_PROBE_OFFSET); SERIAL_ECHOPAIR(" Z", -zprobe_zoffset); - SERIAL_ECHOLN(""); + SERIAL_EOL; #endif } diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index c5caac7459..fd9ebb5790 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -86,6 +86,8 @@ extern const char echomagic[] PROGMEM; #define SERIAL_ECHOPAIR(name,value) (serial_echopair_P(PSTR(name),(value))) +#define SERIAL_EOL SERIAL_ECHOLN("") + void serial_echopair_P(const char *s_P, float v); void serial_echopair_P(const char *s_P, double v); void serial_echopair_P(const char *s_P, unsigned long v); diff --git a/Marlin/language.h b/Marlin/language.h index e019b36171..e2d8589186 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -155,6 +155,8 @@ #define MSG_BABYSTEPPING_Z "Babystepping Z" #define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure" +#define MSG_ERR_EEPROM_WRITE "Error writing to EEPROM!" + // LCD Menu Messages #include LANGUAGE_INCLUDE From 6137bbd484a5a71efc451cc1ffedd3d7a812dbfa Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 28 Jan 2015 22:10:31 -0800 Subject: [PATCH 058/132] use eeprom read correctly --- Marlin/ConfigurationStore.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index a72202e9a6..99be2f10a4 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -72,7 +72,7 @@ void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size) { uint8_t c; while(size--) { eeprom_write_byte((unsigned char*)pos, *value); - eeprom_read_byte((unsigned char*)pos, *c); + *c = eeprom_read_byte((unsigned char*)pos); if (*c != *value) { SERIAL_ECHO_START; SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); From fe3810f07321b76c0e908fa996d549c91c963ede Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 28 Jan 2015 22:27:15 -0800 Subject: [PATCH 059/132] yeah, what he said --- Marlin/ConfigurationStore.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index 99be2f10a4..47f80802f1 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -72,8 +72,8 @@ void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size) { uint8_t c; while(size--) { eeprom_write_byte((unsigned char*)pos, *value); - *c = eeprom_read_byte((unsigned char*)pos); - if (*c != *value) { + c = eeprom_read_byte((unsigned char*)pos); + if (c != *value) { SERIAL_ECHO_START; SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); } From 766762a4dcfe0315b844b232bab8c7ae2c84ac90 Mon Sep 17 00:00:00 2001 From: Victor Andueza Date: Thu, 29 Jan 2015 09:28:50 +0100 Subject: [PATCH 060/132] Change url link --- Marlin/language.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language.h b/Marlin/language.h index e63b7362ea..39d997a134 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -53,7 +53,7 @@ #define FIRMWARE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config" #elif MB(WITBOX) #define MACHINE_NAME "WITBOX" - #define FIRMWARE_URL "http://www.bqreaders.com/descargas-witbox.html" + #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #else #ifdef CUSTOM_MENDEL_NAME #define MACHINE_NAME CUSTOM_MENDEL_NAME From 56d3e6615d898e59aae9c605b53c156e2a2ed3c7 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 11:19:10 +0100 Subject: [PATCH 061/132] MSG_DISABLE_STEPPERS = 'Stepper abschalt.' -> 'Motoren Aus'# --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 8aa06024ce..7373167c19 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -13,7 +13,7 @@ #define MSG_SD_REMOVED "SDKarte entfernt" #define MSG_MAIN "Hauptmenü" #define MSG_AUTOSTART "Autostart" -#define MSG_DISABLE_STEPPERS "Stepper abschalt." +#define MSG_DISABLE_STEPPERS "Motoren Aus" // M84 #define MSG_AUTO_HOME "Auto Nullpunkt" #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Setze Nullpunkt" From 0e8836ce5efc94079c6feec6886c438fcbd6dc4a Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 11:36:07 +0100 Subject: [PATCH 062/132] MSG_AUTO_HOME = 'Auto Nullpunkt' ->'Home' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 7373167c19..98cdf5fd7c 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -14,7 +14,7 @@ #define MSG_MAIN "Hauptmenü" #define MSG_AUTOSTART "Autostart" #define MSG_DISABLE_STEPPERS "Motoren Aus" // M84 -#define MSG_AUTO_HOME "Auto Nullpunkt" +#define MSG_AUTO_HOME "Home" // G28 #define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_ORIGIN "Setze Nullpunkt" #define MSG_PREHEAT_PLA "Vorwärmen PLA" From 1f8c8ad3ed035b9af1b3efbc9c8b038e41f2547b Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 11:39:35 +0100 Subject: [PATCH 063/132] MSG_SET_HOME_OFFSETS = 'Set home offsets' ->'Setze Home hier' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 98cdf5fd7c..6b34282fc1 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -15,7 +15,7 @@ #define MSG_AUTOSTART "Autostart" #define MSG_DISABLE_STEPPERS "Motoren Aus" // M84 #define MSG_AUTO_HOME "Home" // G28 -#define MSG_SET_HOME_OFFSETS "Set home offsets" +#define MSG_SET_HOME_OFFSETS "Setze Home hier" #define MSG_SET_ORIGIN "Setze Nullpunkt" #define MSG_PREHEAT_PLA "Vorwärmen PLA" #define MSG_PREHEAT_PLA_N "Vorwärmen PLA " From 4e176d2ce80fea73e53bbd5bbcf00255385e5610 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 11:45:18 +0100 Subject: [PATCH 064/132] MSG_SET_ORIGIN = 'Setze Nullpunkt' ->'Setze Null hier' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 6b34282fc1..8a167c78bf 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -16,7 +16,7 @@ #define MSG_DISABLE_STEPPERS "Motoren Aus" // M84 #define MSG_AUTO_HOME "Home" // G28 #define MSG_SET_HOME_OFFSETS "Setze Home hier" -#define MSG_SET_ORIGIN "Setze Nullpunkt" +#define MSG_SET_ORIGIN "Setze Null hier" //"G92 X0 Y0 Z0" commented out in ultralcd.cpp #define MSG_PREHEAT_PLA "Vorwärmen PLA" #define MSG_PREHEAT_PLA_N "Vorwärmen PLA " #define MSG_PREHEAT_PLA_ALL "Vorw. PLA Alle" From 7a32b742f3f685e9ffd0592ec00e5c3d89d02006 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 11:50:51 +0100 Subject: [PATCH 065/132] MSG_SWITCH_PS_ON = 'Switch Power On' ->'Netzteil Ein' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 8a167c78bf..d6e32a24db 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -28,7 +28,7 @@ #define MSG_PREHEAT_ABS_BEDONLY "Vorw. ABS Bett" #define MSG_PREHEAT_ABS_SETTINGS "Vorwärm. ABS Ein." #define MSG_COOLDOWN "Abkühlen" -#define MSG_SWITCH_PS_ON "Switch Power On" +#define MSG_SWITCH_PS_ON "Netzteil Ein" #define MSG_SWITCH_PS_OFF "Switch Power Off" #define MSG_EXTRUDE "Extrude" #define MSG_RETRACT "Retract" From 152fa579f54af2d9c98172f548abe8fce7cf3da2 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 11:55:36 +0100 Subject: [PATCH 066/132] MSG_SWITCH_PS_OFF = 'Switch Power Off' -> 'Netzteil Aus' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index d6e32a24db..e778c426f5 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -29,7 +29,7 @@ #define MSG_PREHEAT_ABS_SETTINGS "Vorwärm. ABS Ein." #define MSG_COOLDOWN "Abkühlen" #define MSG_SWITCH_PS_ON "Netzteil Ein" -#define MSG_SWITCH_PS_OFF "Switch Power Off" +#define MSG_SWITCH_PS_OFF "Netzteil Aus" #define MSG_EXTRUDE "Extrude" #define MSG_RETRACT "Retract" #define MSG_MOVE_AXIS "Achsen bewegen" From a6f808c9b1aa87266a89d46dc4e349a5b1e331ae Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 11:58:50 +0100 Subject: [PATCH 067/132] remove unused #define MSG_RETRACT --- Marlin/language_de.h | 1 - 1 file changed, 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index e778c426f5..38032b189c 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -30,7 +30,6 @@ #define MSG_COOLDOWN "Abkühlen" #define MSG_SWITCH_PS_ON "Netzteil Ein" #define MSG_SWITCH_PS_OFF "Netzteil Aus" -#define MSG_EXTRUDE "Extrude" #define MSG_RETRACT "Retract" #define MSG_MOVE_AXIS "Achsen bewegen" #define MSG_MOVE_X "X bewegen" From 7222b275018003d271aa8868d7b4d5e1bb6e1fce Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 12:02:58 +0100 Subject: [PATCH 068/132] MSG_MOVE_AXIS = 'Achsen bewegen' > 'Bewegen'. Is Extruder an axis? --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 38032b189c..d7db82305f 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -31,7 +31,7 @@ #define MSG_SWITCH_PS_ON "Netzteil Ein" #define MSG_SWITCH_PS_OFF "Netzteil Aus" #define MSG_RETRACT "Retract" -#define MSG_MOVE_AXIS "Achsen bewegen" +#define MSG_MOVE_AXIS "Bewegen" #define MSG_MOVE_X "X bewegen" #define MSG_MOVE_Y "Y bewegen" #define MSG_MOVE_Z "Z bewegen" From 0dfb0162f34a0994124977a71fe089e5bf35d779 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 12:07:01 +0100 Subject: [PATCH 069/132] eye candy. --- Marlin/language_de.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index d7db82305f..e9fa572ffc 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -32,13 +32,13 @@ #define MSG_SWITCH_PS_OFF "Netzteil Aus" #define MSG_RETRACT "Retract" #define MSG_MOVE_AXIS "Bewegen" -#define MSG_MOVE_X "X bewegen" -#define MSG_MOVE_Y "Y bewegen" -#define MSG_MOVE_Z "Z bewegen" -#define MSG_MOVE_E "Extruder" -#define MSG_MOVE_01MM "0.1mm bewegen" -#define MSG_MOVE_1MM "1mm bewegen" -#define MSG_MOVE_10MM "10mm bewegen" +#define MSG_MOVE_X "X" +#define MSG_MOVE_Y "Y" +#define MSG_MOVE_Z "Z" +#define MSG_MOVE_E "E" +#define MSG_MOVE_01MM " 0.1 mm" +#define MSG_MOVE_1MM " 1.0 mm" +#define MSG_MOVE_10MM "10.0 mm" #define MSG_SPEED "Geschw" #define MSG_NOZZLE "Düse" #define MSG_BED "Bett" From 9352c9547f069a1ece551b41453c5f191f2690bc Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 12:13:44 +0100 Subject: [PATCH 070/132] MSG_SPEED = 'Geschw' > 'Geschw.' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index e9fa572ffc..7064e3d253 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -39,7 +39,7 @@ #define MSG_MOVE_01MM " 0.1 mm" #define MSG_MOVE_1MM " 1.0 mm" #define MSG_MOVE_10MM "10.0 mm" -#define MSG_SPEED "Geschw" +#define MSG_SPEED "Geschw." #define MSG_NOZZLE "Düse" #define MSG_BED "Bett" #define MSG_FAN_SPEED "Lüftergeschw." From 06cba91c39c282ff9fdc99f8e1db26604677d71c Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 12:26:21 +0100 Subject: [PATCH 071/132] eye candy 2 --- Marlin/language_de.h | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 7064e3d253..0cac2c1f99 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -51,34 +51,34 @@ #define MSG_AUTOTEMP "AutoTemp" #define MSG_ON "Ein" #define MSG_OFF "Aus" -#define MSG_PID_P "PID-P" -#define MSG_PID_I "PID-I" -#define MSG_PID_D "PID-D" -#define MSG_PID_C "PID-C" -#define MSG_ACC "Acc" -#define MSG_VXY_JERK "Vxy-jerk" -#define MSG_VZ_JERK "Vz-jerk" -#define MSG_VE_JERK "Ve-jerk" -#define MSG_VMAX "Vmax " +#define MSG_PID_P "PID P" +#define MSG_PID_I "PID I" +#define MSG_PID_D "PID D" +#define MSG_PID_C "PID C" +#define MSG_ACC "A" +#define MSG_VXY_JERK "V xy jerk" +#define MSG_VZ_JERK "V z jerk" +#define MSG_VE_JERK "V e jerk" +#define MSG_VMAX "V max " // space by purpose #define MSG_X "x" #define MSG_Y "y" #define MSG_Z "z" #define MSG_E "e" -#define MSG_VMIN "Vmin" +#define MSG_VMIN "V min" #define MSG_VTRAV_MIN "VTrav min" -#define MSG_AMAX "Amax " -#define MSG_A_RETRACT "A-Retract" -#define MSG_XSTEPS "Xsteps/mm" -#define MSG_YSTEPS "Ysteps/mm" -#define MSG_ZSTEPS "Zsteps/mm" -#define MSG_ESTEPS "Esteps/mm" +#define MSG_AMAX "A max " // space by purpose +#define MSG_A_RETRACT "A Retract" +#define MSG_XSTEPS "X steps/mm" +#define MSG_YSTEPS "Y steps/mm" +#define MSG_ZSTEPS "Z steps/mm" +#define MSG_ESTEPS "E steps/mm" #define MSG_TEMPERATURE "Temperatur" #define MSG_MOTION "Bewegung" #define MSG_VOLUMETRIC "Filament" -#define MSG_VOLUMETRIC_ENABLED "E in mm3" -#define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Dia. 1" -#define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Dia. 2" -#define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Dia. 3" +#define MSG_VOLUMETRIC_ENABLED "E in mm3" +#define MSG_FILAMENT_SIZE_EXTRUDER_0 "Filament D 1" +#define MSG_FILAMENT_SIZE_EXTRUDER_1 "Filament D 2" +#define MSG_FILAMENT_SIZE_EXTRUDER_2 "Filament D 3" #define MSG_CONTRAST "LCD contrast" #define MSG_STORE_EPROM "EPROM speichern" #define MSG_LOAD_EPROM "EPROM laden" From 05d2ebd118bec31cc1bbede2ad53fb4eb7de6db4 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 12:29:31 +0100 Subject: [PATCH 072/132] MSG_WATCH > 'Beobachten' > 'Info' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 0cac2c1f99..a9cffa3b7f 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -84,7 +84,7 @@ #define MSG_LOAD_EPROM "EPROM laden" #define MSG_RESTORE_FAILSAFE "Standardkonfig." #define MSG_REFRESH "Aktualisieren" -#define MSG_WATCH "Beobachten" +#define MSG_WATCH "Info" #define MSG_PREPARE "Vorbereitung" #define MSG_TUNE "Justierung" #define MSG_PAUSE_PRINT "Druck anhalten" From 1e22137e273e08350c4adfe5c1475084dc70041c Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 12:41:46 +0100 Subject: [PATCH 073/132] MSG_STOP_PRINT = 'Druck stoppen' > 'SD-Druck Abbruch' to work out that this can't be resumed. --- Marlin/language_de.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index a9cffa3b7f..97ddf5c64d 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -87,10 +87,10 @@ #define MSG_WATCH "Info" #define MSG_PREPARE "Vorbereitung" #define MSG_TUNE "Justierung" -#define MSG_PAUSE_PRINT "Druck anhalten" -#define MSG_RESUME_PRINT "Druck fortsetz" -#define MSG_STOP_PRINT "Druck stoppen" -#define MSG_CARD_MENU "SDKarten Menü" +#define MSG_PAUSE_PRINT "SD-Druck Pause" +#define MSG_RESUME_PRINT "SD-Druck Weiter" +#define MSG_STOP_PRINT "SD-Druck Abbruch" +#define MSG_CARD_MENU "SDKarte" #define MSG_NO_CARD "Keine SDKarte" #define MSG_DWELL "Warten..." #define MSG_USERWAIT "Warte auf Nutzer" From e5c45fbe8ccc123c26b786e096bcc8fcb7567b4e Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 13:02:21 +0100 Subject: [PATCH 074/132] Infoscreen messages end with a '.' if not to long. MSG_NO_MOVE = 'Kein Zug.' > 'Motoren Eingesch.' hat mich grau Haare gekostet. Die englisch Meldung will sagen - Du kannst jetz am Extruder arbeiten, die Achsen sind bockiert, die Motoren sperren die Achsen weil sie unter Strom stehen, weil sie eingeschaltet sind. --- Marlin/language_de.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 97ddf5c64d..c21f2738cc 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -9,8 +9,8 @@ #define LANGUAGE_DE_H #define WELCOME_MSG MACHINE_NAME " Bereit." -#define MSG_SD_INSERTED "SDKarte erkannt" -#define MSG_SD_REMOVED "SDKarte entfernt" +#define MSG_SD_INSERTED "SDKarte erkannt." +#define MSG_SD_REMOVED "SDKarte entfernt." #define MSG_MAIN "Hauptmenü" #define MSG_AUTOSTART "Autostart" #define MSG_DISABLE_STEPPERS "Motoren Aus" // M84 @@ -93,12 +93,12 @@ #define MSG_CARD_MENU "SDKarte" #define MSG_NO_CARD "Keine SDKarte" #define MSG_DWELL "Warten..." -#define MSG_USERWAIT "Warte auf Nutzer" -#define MSG_RESUMING "Druck fortsetzung" -#define MSG_PRINT_ABORTED "Print aborted" -#define MSG_NO_MOVE "Kein Zug." -#define MSG_KILLED "KILLED" -#define MSG_STOPPED "GESTOPPT" +#define MSG_USERWAIT "Warte auf Nutzer." +#define MSG_RESUMING "Druck geht weiter" +#define MSG_PRINT_ABORTED "Druck abgebrochen" +#define MSG_NO_MOVE "Motoren Eingesch." +#define MSG_KILLED "KILLED." +#define MSG_STOPPED "ANGEHALTEN." #define MSG_CONTROL_RETRACT "Retract mm" #define MSG_CONTROL_RETRACT_SWAP "Wechs. Retract mm" #define MSG_CONTROL_RETRACTF "Retract V" @@ -110,8 +110,8 @@ #define MSG_FILAMENTCHANGE "Filament wechseln" #define MSG_INIT_SDCARD "Init. SD-Card" #define MSG_CNG_SDCARD "Change SD-Card" -#define MSG_ZPROBE_OUT "Z probe out. bed" -#define MSG_POSITION_UNKNOWN "Home X/Y before Z" +#define MSG_ZPROBE_OUT "Sensor ausserhalb" +#define MSG_POSITION_UNKNOWN "X/Y vor Z Homen." #define MSG_ZPROBE_ZOFFSET "Z Offset" #define MSG_BABYSTEP_X "Babystep X" #define MSG_BABYSTEP_Y "Babystep Y" From 666ad7106b87c5ba0946e18110ba20c7121558ed Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 13:09:12 +0100 Subject: [PATCH 075/132] Translated redundand: define MSG_INIT_SDCARD and MSG_CNG_SDCARD --- Marlin/language_de.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index c21f2738cc..0d2b891329 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -108,8 +108,8 @@ #define MSG_CONTROL_RETRACT_RECOVERF "UnRet V" #define MSG_AUTORETRACT "AutoRetr." #define MSG_FILAMENTCHANGE "Filament wechseln" -#define MSG_INIT_SDCARD "Init. SD-Card" -#define MSG_CNG_SDCARD "Change SD-Card" +#define MSG_INIT_SDCARD "SDKarte erkennen"// Manually initialize the SD-card via user interface +#define MSG_CNG_SDCARD "SDKarte erkennen"// SD-card changed by user. For machines with no autocarddetect. Both send "M21" #define MSG_ZPROBE_OUT "Sensor ausserhalb" #define MSG_POSITION_UNKNOWN "X/Y vor Z Homen." #define MSG_ZPROBE_ZOFFSET "Z Offset" From 8aa6487b4bb7fc0234f546b608863b3b7d38673c Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 13:12:55 +0100 Subject: [PATCH 076/132] MSG_ENDSTOP_ABORT = 'Endstop abort' > 'Endstop Abbr. Ein' --- Marlin/language_de.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 0d2b891329..c1b1087c74 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -116,7 +116,7 @@ #define MSG_BABYSTEP_X "Babystep X" #define MSG_BABYSTEP_Y "Babystep Y" #define MSG_BABYSTEP_Z "Babystep Z" -#define MSG_ENDSTOP_ABORT "Endstop abort" +#define MSG_ENDSTOP_ABORT "Endstop Abbr. Ein" #ifdef DELTA_CALIBRATION_MENU #define MSG_DELTA_CALIBRATE "Delta Calibration" From 9a4d4b3a2f53bf2634ea8c6295f6883e3b6b67ce Mon Sep 17 00:00:00 2001 From: AnHardt Date: Thu, 29 Jan 2015 13:19:32 +0100 Subject: [PATCH 077/132] translated Deltamenu --- Marlin/language_de.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index c1b1087c74..3a4653164d 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -119,11 +119,11 @@ #define MSG_ENDSTOP_ABORT "Endstop Abbr. Ein" #ifdef DELTA_CALIBRATION_MENU - #define MSG_DELTA_CALIBRATE "Delta Calibration" - #define MSG_DELTA_CALIBRATE_X "Calibrate X" - #define MSG_DELTA_CALIBRATE_Y "Calibrate Y" - #define MSG_DELTA_CALIBRATE_Z "Calibrate Z" - #define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center" + #define MSG_DELTA_CALIBRATE "Delta Kalibrieren" + #define MSG_DELTA_CALIBRATE_X "Kalibriere X" + #define MSG_DELTA_CALIBRATE_Y "Kalibriere Y" + #define MSG_DELTA_CALIBRATE_Z "Kalibriere Z" + #define MSG_DELTA_CALIBRATE_CENTER "Kalibriere Mitte" #endif // DELTA_CALIBRATION_MENU #endif // LANGUAGE_DE_H From 073c59c50adfff83404cecbd7797693b24121181 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 29 Jan 2015 18:52:21 -0800 Subject: [PATCH 078/132] Clean up some formatting - Also partial cleanup of Marlin_main.cpp with a smidgen of Doxygen. --- Marlin/Marlin_main.cpp | 156 +++++++++--------- Marlin/boards.h | 2 +- Marlin/language.h | 2 - .../ultralcd_implementation_hitachi_HD44780.h | 10 +- 4 files changed, 83 insertions(+), 87 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 16030c795c..25902d3399 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -49,16 +49,16 @@ #include "math.h" #ifdef BLINKM -#include "BlinkM.h" -#include "Wire.h" + #include "BlinkM.h" + #include "Wire.h" #endif #if NUM_SERVOS > 0 -#include "Servo.h" + #include "Servo.h" #endif #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1 -#include + #include #endif // look here for descriptions of G-codes: http://linuxcnc.org/handbook/gcode/g-code.html @@ -138,17 +138,17 @@ // M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec // M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) in mm/sec^2 also sets minimum segment time in ms (B20000) to prevent buffer under-runs and M20 minimum feedrate // M205 - advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk -// M206 - set additional homing offset -// M207 - set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting -// M208 - set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec] +// M206 - Set additional homing offset +// M207 - Set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting +// M208 - Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec] // M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction. -// M218 - set hotend offset (in mm): T X Y +// M218 - Set hotend offset (in mm): T X Y // M220 S- set speed factor override percentage // M221 S- set extrude factor override percentage // M226 P S- Wait until the specified pin reaches the state required // M240 - Trigger a camera to take a photograph // M250 - Set LCD contrast C (value 0..63) -// M280 - set servo position absolute. P: servo index, S: angle or microseconds +// M280 - Set servo position absolute. P: servo index, S: angle or microseconds // M300 - Play beep sound S P // M301 - Set PID parameters P I and D // M302 - Allow cold extrudes, or set the minimum extrude S. @@ -161,14 +161,14 @@ // M405 - Turn on Filament Sensor extrusion control. Optional D to set delay in centimeters between sensor and extruder // M406 - Turn off Filament Sensor extrusion control // M407 - Displays measured filament diameter -// M500 - stores parameters 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. -// M503 - print the current settings (from memory not from EEPROM). Use S0 to leave off headings. +// M500 - Store parameters in EEPROM +// M501 - Read parameters from EEPROM (if you need reset them after you changed them temporarily). +// M502 - Revert to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. +// M503 - Print the current settings (from memory not from EEPROM). Use S0 to leave off headings. // M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) // M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] -// M665 - set delta configurations -// M666 - set delta endstop adjustment +// M665 - Set delta configurations +// M666 - Set delta endstop adjustment // M605 - Set dual x-carriage movement mode: S [ X R ] // M907 - Set digital trimpot motor current using axis codes. // M908 - Control digital trimpot directly. @@ -187,25 +187,16 @@ // M928 - Start SD logging (M928 filename.g) - ended by M29 // M999 - Restart after being stopped by error -//Stepper Movement Variables - -//=========================================================================== -//=============================imported variables============================ -//=========================================================================== - - -//=========================================================================== -//=============================public variables============================= -//=========================================================================== #ifdef SDSUPPORT -CardReader card; + CardReader card; #endif + float homing_feedrate[] = HOMING_FEEDRATE; bool axis_relative_modes[] = AXIS_RELATIVE_MODES; -int feedmultiply=100; //100->1 200->2 +int feedmultiply = 100; //100->1 200->2 int saved_feedmultiply; -int extrudemultiply=100; //100->1 200->2 -int extruder_multiply[EXTRUDERS] = {100 +int extrudemultiply = 100; //100->1 200->2 +int extruder_multiply[EXTRUDERS] = { 100 #if EXTRUDERS > 1 , 100 #if EXTRUDERS > 2 @@ -240,14 +231,14 @@ float volumetric_multiplier[EXTRUDERS] = {1.0 #endif }; float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0 }; -float add_homing[3]={0,0,0}; +float add_homing[3] = { 0, 0, 0 }; #ifdef DELTA -float endstop_adj[3]={0,0,0}; + float endstop_adj[3] = { 0, 0, 0 }; #endif float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS }; float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS }; -bool axis_known_position[3] = {false, false, false}; +bool axis_known_position[3] = { false, false, false }; float zprobe_zoffset; // Extruder offset @@ -258,25 +249,36 @@ float zprobe_zoffset; #define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane #endif float extruder_offset[NUM_EXTRUDER_OFFSETS][EXTRUDERS] = { -#if defined(EXTRUDER_OFFSET_X) && defined(EXTRUDER_OFFSET_Y) - EXTRUDER_OFFSET_X, EXTRUDER_OFFSET_Y -#endif + #if defined(EXTRUDER_OFFSET_X) + EXTRUDER_OFFSET_X + #else + 0 + #endif + #if defined(EXTRUDER_OFFSET_Y) + EXTRUDER_OFFSET_Y + #else + 0 + #endif }; #endif + uint8_t active_extruder = 0; -int fanSpeed=0; +int fanSpeed = 0; + #ifdef SERVO_ENDSTOPS int servo_endstops[] = SERVO_ENDSTOPS; int servo_endstop_angles[] = SERVO_ENDSTOP_ANGLES; #endif + #ifdef BARICUDA -int ValvePressure=0; -int EtoPPressure=0; + int ValvePressure = 0; + int EtoPPressure = 0; #endif #ifdef FWRETRACT - bool autoretract_enabled=false; - bool retracted[EXTRUDERS]={false + + bool autoretract_enabled = false; + bool retracted[EXTRUDERS] = { false #if EXTRUDERS > 1 , false #if EXTRUDERS > 2 @@ -287,7 +289,7 @@ int EtoPPressure=0; #endif #endif }; - bool retracted_swap[EXTRUDERS]={false + bool retracted_swap[EXTRUDERS] = { false #if EXTRUDERS > 1 , false #if EXTRUDERS > 2 @@ -306,38 +308,41 @@ int EtoPPressure=0; float retract_recover_length = RETRACT_RECOVER_LENGTH; float retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP; float retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE; + #endif // FWRETRACT #ifdef ULTIPANEL - #ifdef PS_DEFAULT_OFF - bool powersupply = false; - #else - bool powersupply = true; - #endif + bool powersupply = + #ifdef PS_DEFAULT_OFF + false + #else + true + #endif + ; #endif #ifdef DELTA - float delta[3] = {0.0, 0.0, 0.0}; + float delta[3] = { 0, 0, 0 }; #define SIN_60 0.8660254037844386 #define COS_60 0.5 // these are the default values, can be overriden with M665 - float delta_radius= DELTA_RADIUS; - float delta_tower1_x= -SIN_60*delta_radius; // front left tower - float delta_tower1_y= -COS_60*delta_radius; - float delta_tower2_x= SIN_60*delta_radius; // front right tower - float delta_tower2_y= -COS_60*delta_radius; - float delta_tower3_x= 0.0; // back middle tower - float delta_tower3_y= delta_radius; - float delta_diagonal_rod= DELTA_DIAGONAL_ROD; - float delta_diagonal_rod_2= sq(delta_diagonal_rod); - float delta_segments_per_second= DELTA_SEGMENTS_PER_SECOND; + float delta_radius = DELTA_RADIUS; + float delta_tower1_x = -SIN_60 * delta_radius; // front left tower + float delta_tower1_y = -COS_60 * delta_radius; + float delta_tower2_x = SIN_60 * delta_radius; // front right tower + float delta_tower2_y = -COS_60 * delta_radius; + float delta_tower3_x = 0; // back middle tower + float delta_tower3_y = delta_radius; + float delta_diagonal_rod = DELTA_DIAGONAL_ROD; + float delta_diagonal_rod_2 = sq(delta_diagonal_rod); + float delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND; #endif -#ifdef SCARA // Build size scaling -float axis_scaling[3]={1,1,1}; // Build size scaling, default to 1 +#ifdef SCARA + float axis_scaling[3] = { 1, 1, 1 }; // Build size scaling, default to 1 #endif -bool cancel_heatup = false ; +bool cancel_heatup = false; #ifdef FILAMENT_SENSOR //Variables for Filament Sensor input @@ -354,17 +359,14 @@ bool cancel_heatup = false ; const char errormagic[] PROGMEM = "Error:"; const char echomagic[] PROGMEM = "echo:"; -//=========================================================================== -//=============================Private Variables============================= -//=========================================================================== const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'}; -static float destination[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0}; +static float destination[NUM_AXIS] = { 0, 0, 0, 0 }; #ifndef DELTA -static float delta[3] = {0.0, 0.0, 0.0}; + static float delta[3] = { 0, 0, 0 }; #endif -static float offset[3] = {0.0, 0.0, 0.0}; +static float offset[3] = { 0, 0, 0 }; static bool home_all_axis = true; static float feedrate = 1500.0, next_feedrate, saved_feedrate; static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0; @@ -376,29 +378,26 @@ static bool fromsd[BUFSIZE]; static int bufindr = 0; static int bufindw = 0; static int buflen = 0; -//static int i = 0; + static char serial_char; static int serial_count = 0; static boolean comment_mode = false; -static char *strchr_pointer; // just a pointer to find chars in the command string like X, Y, Z, E, etc +static char *strchr_pointer; ///< A pointer to find chars in the command string (X, Y, Z, E, etc.) -const int sensitive_pins[] = SENSITIVE_PINS; // Sensitive pin list for M42 +const int sensitive_pins[] = SENSITIVE_PINS; ///< Sensitive pin list for M42 -//static float tt = 0; -//static float bt = 0; - -//Inactivity shutdown variables +// Inactivity shutdown static unsigned long previous_millis_cmd = 0; static unsigned long max_inactive_time = 0; static unsigned long stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME*1000l; -unsigned long starttime=0; -unsigned long stoptime=0; +unsigned long starttime = 0; ///< Print job start time +unsigned long stoptime = 0; ///< Print job stop time static uint8_t tmp_extruder; -bool Stopped=false; +bool Stopped = false; #if NUM_SERVOS > 0 Servo servos[NUM_SERVOS]; @@ -407,10 +406,9 @@ bool Stopped=false; bool CooldownNoWait = true; bool target_direction; -//Insert variables if CHDK is defined #ifdef CHDK -unsigned long chdkHigh = 0; -boolean chdkActive = false; + unsigned long chdkHigh = 0; + boolean chdkActive = false; #endif //=========================================================================== diff --git a/Marlin/boards.h b/Marlin/boards.h index 18b7132dc7..1a5acaa153 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -48,7 +48,7 @@ #define BOARD_ELEFU_3 21 // Elefu Ra Board (v3) #define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board #define BOARD_LEAPFROG 999 // Leapfrog -#define BOARD_WITBOX 41 // bq WITBOX +#define BOARD_WITBOX 41 // bq WITBOX #define BOARD_99 99 // This is in pins.h but...? diff --git a/Marlin/language.h b/Marlin/language.h index 68630c4fcc..67fc1b372d 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -160,8 +160,6 @@ #define MSG_ERR_EEPROM_WRITE "Error writing to EEPROM!" -// LCD Menu Messages - #include LANGUAGE_INCLUDE #endif //__LANGUAGE_H diff --git a/Marlin/ultralcd_implementation_hitachi_HD44780.h b/Marlin/ultralcd_implementation_hitachi_HD44780.h index fe0953e56c..9eeee1e15d 100644 --- a/Marlin/ultralcd_implementation_hitachi_HD44780.h +++ b/Marlin/ultralcd_implementation_hitachi_HD44780.h @@ -1,5 +1,5 @@ -#ifndef ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H -#define ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H +#ifndef ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H +#define ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H /** * Implementation of the LCD display routines for a Hitachi HD44780 display. These are common LCD character displays. @@ -7,9 +7,9 @@ **/ #ifndef REPRAPWORLD_KEYPAD -extern volatile uint8_t buttons; //the last checked buttons in a bit array. + extern volatile uint8_t buttons; //the last checked buttons in a bit array. #else -extern volatile uint16_t buttons; //an extended version of the last checked buttons in a bit array. + extern volatile uint16_t buttons; //an extended version of the last checked buttons in a bit array. #endif //////////////////////////////////// @@ -903,4 +903,4 @@ static uint8_t lcd_implementation_read_slow_buttons() } #endif -#endif//ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H +#endif //__ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H From 27c638803ee7a1b7bfc6d6b0c735aac8a32c6161 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Fri, 30 Jan 2015 10:28:22 +0100 Subject: [PATCH 079/132] Defined three charsets. --- Marlin/Configuration.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 3aaa5887ec..f5c218dc7f 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -533,6 +533,12 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 //LCD and SD support + +// Character based displays can have different extended charsets. If you see strange or missing characters on yours - try an other definition below. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // with better support for European languages. "ÄäÖöÜüß°" +//#define DISPLAY_CHARSET_DOGM // for full graphics display "ÄäÖÖÜÜß°" + //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define SDSUPPORT // Enable SD Card Support in Hardware Console From e045034c3f90b7fe7f19a691ea63f659bbc18397 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Fri, 30 Jan 2015 10:31:58 +0100 Subject: [PATCH 080/132] Included Configuration.h to read the defined charsets. Defined the charsets plus a default. --- Marlin/language.h | 65 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/Marlin/language.h b/Marlin/language.h index 68630c4fcc..9bf0fb6da0 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -1,6 +1,8 @@ #ifndef LANGUAGE_H #define LANGUAGE_H +#include "Configuration.h" + #define LANGUAGE_CONCAT(M) #M #define GENERATE_LANGUAGE_INCLUDE(M) LANGUAGE_CONCAT(language_##M.h) @@ -162,6 +164,69 @@ // LCD Menu Messages +#define STR_Ae "Ae" // no charset we know now. Will be overruled when we know. +#define STR_ae "ae" +#define STR_Oe "Oe" +#define STR_oe "oe" +#define STR_Ue "Ue" +#define STR_ue "ue" +#define STR_sz "ss" +#define STR_Deg "" +#define STR_THERMOMETER "\302" + +#ifdef DISPLAY_CHARSET_DOGM + #define STR_Ae "\304" // U8glib + #define STR_ae "\344" + #define STR_Oe "\326" + #define STR_oe STR_Oe + #define STR_Ue "\334" + #define STR_ue STR_Ue + #define STR_sz "\337" + #define STR_Deg "\260" + #define STR_THERMOMETER "\377" +#endif +#ifdef DISPLAY_CHARSET_HD44870_JAPAN // HD44870 ROM Code: A00 (Japan) + #define STR_ae "\xe1" + #define STR_Ae STR_ae + #define STR_oe "\357" + #define STR_Oe STR_oe + #define STR_ue "\365" + #define STR_Ue STR_ue + #define STR_sz "\342" + #define STR_Deg "\271" + #define STR_THERMOMETER "\302" +#endif +#ifdef DISPLAY_CHARSET_HD44870_WESTERN // HD44870 ROM Code: A02 (Western) + #define STR_Ae "\216" + #define STR_ae "\204" + #define STR_Oe "\211" + #define STR_oe "\204" + #define STR_Ue "\212" + #define STR_ue "\201" + #define STR_sz "\160" + #define STR_Deg "\337" + #define STR_THERMOMETER "\302" +#endif + +/* +#define TESTSTRING000 "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017" +#define TESTSTRING020 "\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define TESTSTRING040 "\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057" +#define TESTSTRING060 "\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077" +#define TESTSTRING100 "\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117" +#define TESTSTRING120 "\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137" +#define TESTSTRING140 "\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157" +#define TESTSTRING160 "\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177" +#define TESTSTRING200 "\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" +#define TESTSTRING220 "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237" +#define TESTSTRING240 "\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257" +#define TESTSTRING260 "\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277" +#define TESTSTRING300 "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317" +#define TESTSTRING320 "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337" +#define TESTSTRING340 "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357" +#define TESTSTRING360 "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377" +*/ + #include LANGUAGE_INCLUDE #endif //__LANGUAGE_H From b3ca430a20de71bb4546540625162d4808f92fa1 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Fri, 30 Jan 2015 10:35:14 +0100 Subject: [PATCH 081/132] Inducted the defined placeholders in the translation table. --- Marlin/language_de.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index 3a4653164d..bbad53368e 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -11,23 +11,23 @@ #define WELCOME_MSG MACHINE_NAME " Bereit." #define MSG_SD_INSERTED "SDKarte erkannt." #define MSG_SD_REMOVED "SDKarte entfernt." -#define MSG_MAIN "Hauptmenü" +#define MSG_MAIN "Hauptmen" STR_ue #define MSG_AUTOSTART "Autostart" #define MSG_DISABLE_STEPPERS "Motoren Aus" // M84 #define MSG_AUTO_HOME "Home" // G28 #define MSG_SET_HOME_OFFSETS "Setze Home hier" #define MSG_SET_ORIGIN "Setze Null hier" //"G92 X0 Y0 Z0" commented out in ultralcd.cpp -#define MSG_PREHEAT_PLA "Vorwärmen PLA" -#define MSG_PREHEAT_PLA_N "Vorwärmen PLA " +#define MSG_PREHEAT_PLA "Vorw" STR_ae "rmen PLA" +#define MSG_PREHEAT_PLA_N "Vorw" STR_ae "rmen PLA " #define MSG_PREHEAT_PLA_ALL "Vorw. PLA Alle" #define MSG_PREHEAT_PLA_BEDONLY "Vorw. PLA Bett" -#define MSG_PREHEAT_PLA_SETTINGS "Vorwärm. PLA Ein." -#define MSG_PREHEAT_ABS "Vorwärmen ABS" -#define MSG_PREHEAT_ABS_N "Vorwärmen ABS " +#define MSG_PREHEAT_PLA_SETTINGS "Vorw" STR_ae "rm. PLA Ein." +#define MSG_PREHEAT_ABS "Vorw" STR_ae "rmen ABS" +#define MSG_PREHEAT_ABS_N "Vorw" STR_ae "rmen ABS " #define MSG_PREHEAT_ABS_ALL "Vorw. ABS Alle" #define MSG_PREHEAT_ABS_BEDONLY "Vorw. ABS Bett" -#define MSG_PREHEAT_ABS_SETTINGS "Vorwärm. ABS Ein." -#define MSG_COOLDOWN "Abkühlen" +#define MSG_PREHEAT_ABS_SETTINGS "Vorw" STR_ae "rm. ABS Ein." +#define MSG_COOLDOWN "Abk" STR_ue "hlen" #define MSG_SWITCH_PS_ON "Netzteil Ein" #define MSG_SWITCH_PS_OFF "Netzteil Aus" #define MSG_RETRACT "Retract" @@ -40,14 +40,14 @@ #define MSG_MOVE_1MM " 1.0 mm" #define MSG_MOVE_10MM "10.0 mm" #define MSG_SPEED "Geschw." -#define MSG_NOZZLE "Düse" +#define MSG_NOZZLE "D" STR_ue "se" #define MSG_BED "Bett" -#define MSG_FAN_SPEED "Lüftergeschw." +#define MSG_FAN_SPEED "L" STR_ue "ftergeschw." #define MSG_FLOW "Fluss" #define MSG_CONTROL "Einstellungen" -#define MSG_MIN "\002 Min" -#define MSG_MAX "\002 Max" -#define MSG_FACTOR "\002 Faktor" +#define MSG_MIN STR_THERMOMETER " Min" +#define MSG_MAX STR_THERMOMETER " Max" +#define MSG_FACTOR STR_THERMOMETER " Faktor" #define MSG_AUTOTEMP "AutoTemp" #define MSG_ON "Ein" #define MSG_OFF "Aus" From 33408a4dfc1c12bd9a4798884ff776beceaff488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Lefran=C3=A7ois?= Date: Fri, 30 Jan 2015 11:16:13 -0500 Subject: [PATCH 082/132] Update ultralcd.cpp Fix number of nozzle displayed in temperature menu. --- Marlin/ultralcd.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 8015f489ab..3335b9aa99 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -811,13 +811,13 @@ static void lcd_control_temperature_menu() #if TEMP_SENSOR_0 != 0 MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 15); #endif -#if TEMP_SENSOR_1 != 0 +#if TEMP_SENSOR_1 != 0 && EXTRUDERS > 1 MENU_ITEM_EDIT(int3, MSG_NOZZLE " 2", &target_temperature[1], 0, HEATER_1_MAXTEMP - 15); #endif -#if TEMP_SENSOR_2 != 0 +#if TEMP_SENSOR_2 != 0 && EXTRUDERS > 2 MENU_ITEM_EDIT(int3, MSG_NOZZLE " 3", &target_temperature[2], 0, HEATER_2_MAXTEMP - 15); #endif -#if TEMP_SENSOR_3 != 0 +#if TEMP_SENSOR_3 != 0 && EXTRUDERS > 3 MENU_ITEM_EDIT(int3, MSG_NOZZLE " 4", &target_temperature[3], 0, HEATER_3_MAXTEMP - 15); #endif #if TEMP_SENSOR_BED != 0 From 4d5b0e2037c68e5f15f5f0d72d5e082073a3cb9f Mon Sep 17 00:00:00 2001 From: AnHardt Date: Fri, 30 Jan 2015 22:20:10 +0100 Subject: [PATCH 083/132] get STR_THERMOMETER from ultralcd_implementation_hitachi_HD44780.h --- Marlin/language.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Marlin/language.h b/Marlin/language.h index defe1e959d..b6956a4da7 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -2,6 +2,7 @@ #define LANGUAGE_H #include "Configuration.h" +#include "ultralcd_implementation_hitachi_HD44780.h" #define LANGUAGE_CONCAT(M) #M #define GENERATE_LANGUAGE_INCLUDE(M) LANGUAGE_CONCAT(language_##M.h) @@ -172,7 +173,7 @@ #define STR_ue "ue" #define STR_sz "ss" #define STR_Deg "" -#define STR_THERMOMETER "\302" +#define STR_THERMOMETER LCD_STR_THERMOMETER #ifdef DISPLAY_CHARSET_DOGM #define STR_Ae "\304" // U8glib @@ -194,7 +195,7 @@ #define STR_Ue STR_ue #define STR_sz "\342" #define STR_Deg "\271" - #define STR_THERMOMETER "\302" + #define STR_THERMOMETER LCD_STR_THERMOMETER #endif #ifdef DISPLAY_CHARSET_HD44870_WESTERN // HD44870 ROM Code: A02 (Western) #define STR_Ae "\216" @@ -205,7 +206,7 @@ #define STR_ue "\201" #define STR_sz "\160" #define STR_Deg "\337" - #define STR_THERMOMETER "\302" + #define STR_THERMOMETER LCD_STR_THERMOMETER #endif /* From 76bf93efcbe859f11de114a7c5cc2ab1c13b044b Mon Sep 17 00:00:00 2001 From: AnHardt Date: Fri, 30 Jan 2015 22:42:44 +0100 Subject: [PATCH 084/132] Revert "get STR_THERMOMETER from ultralcd_implementation_hitachi_HD44780.h" This reverts commit 4d5b0e2037c68e5f15f5f0d72d5e082073a3cb9f. --- Marlin/language.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Marlin/language.h b/Marlin/language.h index b6956a4da7..defe1e959d 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -2,7 +2,6 @@ #define LANGUAGE_H #include "Configuration.h" -#include "ultralcd_implementation_hitachi_HD44780.h" #define LANGUAGE_CONCAT(M) #M #define GENERATE_LANGUAGE_INCLUDE(M) LANGUAGE_CONCAT(language_##M.h) @@ -173,7 +172,7 @@ #define STR_ue "ue" #define STR_sz "ss" #define STR_Deg "" -#define STR_THERMOMETER LCD_STR_THERMOMETER +#define STR_THERMOMETER "\302" #ifdef DISPLAY_CHARSET_DOGM #define STR_Ae "\304" // U8glib @@ -195,7 +194,7 @@ #define STR_Ue STR_ue #define STR_sz "\342" #define STR_Deg "\271" - #define STR_THERMOMETER LCD_STR_THERMOMETER + #define STR_THERMOMETER "\302" #endif #ifdef DISPLAY_CHARSET_HD44870_WESTERN // HD44870 ROM Code: A02 (Western) #define STR_Ae "\216" @@ -206,7 +205,7 @@ #define STR_ue "\201" #define STR_sz "\160" #define STR_Deg "\337" - #define STR_THERMOMETER LCD_STR_THERMOMETER + #define STR_THERMOMETER "\302" #endif /* From 787d6fb61a6b06b0032a4d6410c582cffce22dca Mon Sep 17 00:00:00 2001 From: alexborro Date: Sat, 31 Jan 2015 18:03:28 -0200 Subject: [PATCH 085/132] Update RUMBA pins file Add FAN1_PIN and SERVO0_PIN --- Marlin/pins_RUMBA.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Marlin/pins_RUMBA.h b/Marlin/pins_RUMBA.h index ee03a0b9d1..8828ef32dc 100644 --- a/Marlin/pins_RUMBA.h +++ b/Marlin/pins_RUMBA.h @@ -39,7 +39,7 @@ #define LED_PIN 13 #define FAN_PIN 7 -//additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8 +#define FAN1_PIN 8 #define PS_ON_PIN 45 #define KILL_PIN 46 @@ -108,3 +108,6 @@ #define BTN_EN1 11 #define BTN_EN2 12 #define BTN_ENC 43 + +#define SERVO0_PIN 5 + From fb7c636ecf7834334d1fc17d3846de6e4a81c1a6 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Sun, 1 Feb 2015 01:33:04 +0100 Subject: [PATCH 086/132] Avoid compiling error Only a missing ","... now it will compile again --- Marlin/Marlin_main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 25902d3399..247b186e7c 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -254,6 +254,7 @@ float extruder_offset[NUM_EXTRUDER_OFFSETS][EXTRUDERS] = { #else 0 #endif + , #if defined(EXTRUDER_OFFSET_Y) EXTRUDER_OFFSET_Y #else From 07639053fb893b6c34933e583527ad23b649b46b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 31 Jan 2015 21:38:30 -0800 Subject: [PATCH 087/132] Add support for BQ Prusa i3 "Hephestos" --- Marlin/boards.h | 1 + .../Hephestos/Configuration.h | 808 ++++++++++++++++++ .../Hephestos/Configuration_adv.h | 535 ++++++++++++ Marlin/language.h | 15 +- Marlin/pins.h | 2 + Marlin/pins_HEPHESTOS.h | 5 + Marlin/pins_RAMPS_13.h | 4 +- 7 files changed, 1361 insertions(+), 9 deletions(-) create mode 100644 Marlin/example_configurations/Hephestos/Configuration.h create mode 100644 Marlin/example_configurations/Hephestos/Configuration_adv.h create mode 100644 Marlin/pins_HEPHESTOS.h diff --git a/Marlin/boards.h b/Marlin/boards.h index 1a5acaa153..c6997fe87b 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -49,6 +49,7 @@ #define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board #define BOARD_LEAPFROG 999 // Leapfrog #define BOARD_WITBOX 41 // bq WITBOX +#define BOARD_HEPHESTOS 42 // bq Prusa i3 Hephestos #define BOARD_99 99 // This is in pins.h but...? diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h new file mode 100644 index 0000000000..4694afd453 --- /dev/null +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -0,0 +1,808 @@ +#ifndef CONFIGURATION_H +#define CONFIGURATION_H + +#include "boards.h" + +// This configuration file contains the basic settings. +// Advanced settings can be found in Configuration_adv.h +// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + +//=========================================================================== +//============================= DELTA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/delta directory. +// + +//=========================================================================== +//============================= SCARA Printer =============================== +//=========================================================================== +// For a Delta printer replace the configuration files with the files in the +// example_configurations/SCARA directory. +// + +// User-specified version info of this build to display in [Pronterface, etc] terminal window during +// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this +// build by the user have been successfully uploaded into firmware. +#define STRING_VERSION "1.0.2" +#define STRING_URL "reprap.org" +#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time +#define STRING_CONFIG_H_AUTHOR "(bq Hephestos)" // Who made the changes. +#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup + +// SERIAL_PORT selects which serial port should be used for communication with the host. +// This allows the connection of wireless adapters (for instance) to non-default port pins. +// Serial port 0 is still used by the Arduino bootloader regardless of this setting. +#define SERIAL_PORT 0 + +// This determines the communication speed of the printer +#define BAUDRATE 115200 + +// This enables the serial port associated to the Bluetooth interface +//#define BTENABLED // Enable BT interface on AT90USB devices + +// The following define selects which electronics board you have. +// Please choose the name from boards.h that matches your setup +#ifndef MOTHERBOARD + #define MOTHERBOARD BOARD_HEPHESTOS +#endif + +// Define this to set a custom name for your generic Mendel, +// #define CUSTOM_MENDEL_NAME "This Mendel" + +// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) +// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4) +// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" + +// This defines the number of extruders +#define EXTRUDERS 1 + +//// The following define selects which power supply you have. Please choose the one that matches your setup +// 1 = ATX +// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC) + +#define POWER_SUPPLY 1 + +// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. +// #define PS_DEFAULT_OFF + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== +// +//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table +// +//// Temperature sensor settings: +// -2 is thermocouple with MAX6675 (only for sensor 0) +// -1 is thermocouple with AD595 +// 0 is not used +// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) +// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) +// 3 is Mendel-parts thermistor (4.7k pullup) +// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! +// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) +// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) +// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) +// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) +// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) +// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) +// 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) +// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) +// 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" +// 20 is the PT100 circuit found in the Ultimainboard V2.x +// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 +// +// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k +// (but gives greater accuracy and more stable PID) +// 51 is 100k thermistor - EPCOS (1k pullup) +// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) +// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) +// +// 1047 is Pt1000 with 4k7 pullup +// 1010 is Pt1000 with 1k pullup (non standard) +// 147 is Pt100 with 4k7 pullup +// 110 is Pt100 with 1k pullup (non standard) + +#define TEMP_SENSOR_0 1 +#define TEMP_SENSOR_1 0 +#define TEMP_SENSOR_2 0 +#define TEMP_SENSOR_BED 0 + +// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. +//#define TEMP_SENSOR_1_AS_REDUNDANT +#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 + +// Actual temperature must be close to target for this long before M109 returns success +#define TEMP_RESIDENCY_TIME 10 // (seconds) +#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one +#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. + +// The minimal temperature defines the temperature below which the heater will not be enabled It is used +// to check that the wiring to the thermistor is not broken. +// Otherwise this would lead to the heater being powered on all the time. +#define HEATER_0_MINTEMP 5 +#define HEATER_1_MINTEMP 5 +#define HEATER_2_MINTEMP 5 +#define BED_MINTEMP 5 + +// 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 260 +#define HEATER_1_MAXTEMP 260 +#define HEATER_2_MAXTEMP 260 +#define BED_MAXTEMP 150 + +// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the +// average current. The value should be an integer and the heat bed will be turned on for 1 interval of +// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. +//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 + +// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS +//#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R +//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R + +// PID settings: +// Comment the following line to disable PID and enable bang-bang. +#define PIDTEMP +#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current +#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current +#ifdef PIDTEMP + //#define PID_DEBUG // Sends debug data to the serial port. + //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX + //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay + //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders) + // Set/get with gcode: M301 E[extruder number, 0-2] + #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature + // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. + #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term + #define K1 0.95 //smoothing factor within the PID + #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine + +// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it +// Ultimaker +// #define DEFAULT_Kp 22.2 +// #define DEFAULT_Ki 1.08 +// #define DEFAULT_Kd 114 + +// MakerGear +// #define DEFAULT_Kp 7.0 +// #define DEFAULT_Ki 0.1 +// #define DEFAULT_Kd 12 + +// Mendel Parts V9 on 12V +// #define DEFAULT_Kp 63.0 +// #define DEFAULT_Ki 2.25 +// #define DEFAULT_Kd 440 + +// Hephestos (i3) + #define DEFAULT_Kp 23.05 + #define DEFAULT_Ki 2.00 + #define DEFAULT_Kd 66.47 + +#endif // PIDTEMP + +// Bed Temperature Control +// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis +// +// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. +// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz, +// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. +// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater. +// If your configuration is significantly different than this and you don't understand the issues involved, you probably +// shouldn't use bed PID until someone else verifies your hardware works. +// If this is enabled, find your own PID constants below. +//#define PIDTEMPBED +// +//#define BED_LIMIT_SWITCHING + +// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. +// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) +// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, +// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) +#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current + +#ifdef PIDTEMPBED +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) + #define DEFAULT_bedKp 10.00 + #define DEFAULT_bedKi .023 + #define DEFAULT_bedKd 305.4 + +//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) +//from pidautotune +// #define DEFAULT_bedKp 97.1 +// #define DEFAULT_bedKi 1.41 +// #define DEFAULT_bedKd 1675.16 + +// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. +#endif // PIDTEMPBED + + + +//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit +//can be software-disabled for whatever purposes by +#define PREVENT_DANGEROUS_EXTRUDE +//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. +#define PREVENT_LENGTHY_EXTRUDE + +#define EXTRUDE_MINTEMP 170 +#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. + +/*================== Thermal Runaway Protection ============================== +This is a feature to protect your printer from burn up in flames if it has +a thermistor coming off place (this happened to a friend of mine recently and +motivated me writing this feature). + +The issue: If a thermistor come off, it will read a lower temperature than actual. +The system will turn the heater on forever, burning up the filament and anything +else around. + +After the temperature reaches the target for the first time, this feature will +start measuring for how long the current temperature stays below the target +minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). + +If it stays longer than _PERIOD, it means the thermistor temperature +cannot catch up with the target, so something *may be* wrong. Then, to be on the +safe side, the system will he halt. + +Bear in mind the count down will just start AFTER the first time the +thermistor temperature is over the target, so you will have no problem if +your extruder heater takes 2 minutes to hit the target on heating. + +*/ +// If you want to enable this feature for all your extruder heaters, +// uncomment the 2 defines below: + +// Parameters for all extruder heaters +//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius + +// If you want to enable this feature for your bed heater, +// uncomment the 2 defines below: + +// Parameters for the bed heater +//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds +//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius +//=========================================================================== + + +//=========================================================================== +//=============================Mechanical Settings=========================== +//=========================================================================== + +// Uncomment the following line to enable CoreXY kinematics +// #define COREXY + +// coarse Endstop Settings +#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors + +#ifndef ENDSTOPPULLUPS + // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined + // #define ENDSTOPPULLUP_XMAX + // #define ENDSTOPPULLUP_YMAX + // #define ENDSTOPPULLUP_ZMAX + // #define ENDSTOPPULLUP_XMIN + // #define ENDSTOPPULLUP_YMIN + // #define ENDSTOPPULLUP_ZMIN +#endif + +#ifdef ENDSTOPPULLUPS + #define ENDSTOPPULLUP_XMAX + #define ENDSTOPPULLUP_YMAX + #define ENDSTOPPULLUP_ZMAX + #define ENDSTOPPULLUP_XMIN + #define ENDSTOPPULLUP_YMIN + #define ENDSTOPPULLUP_ZMIN +#endif + +// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. +const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. +//#define DISABLE_MAX_ENDSTOPS +//#define DISABLE_MIN_ENDSTOPS + +// Disable max endstops for compatibility with endstop checking routine +#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS) + #define DISABLE_MAX_ENDSTOPS +#endif + +// 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 // For all extruders + +// Disables axis when it's not being used. +#define DISABLE_X false +#define DISABLE_Y false +#define DISABLE_Z false +#define DISABLE_E false // For all extruders +#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled + +#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false +#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false +#define INVERT_E2_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 true // If true, axis won't move to coordinates less than HOME_POS. +#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. + +// Travel limits after homing +#define X_MAX_POS 215 +#define X_MIN_POS 0 +#define Y_MAX_POS 210 +#define Y_MIN_POS 0 +#define Z_MAX_POS 180 +#define Z_MIN_POS 0 + +#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) +#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) +#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) +//============================= Bed Auto Leveling =========================== + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) +#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. + +#ifdef ENABLE_AUTO_BED_LEVELING + +// There are 2 different ways to pick the X and Y locations to probe: + +// - "grid" mode +// Probe every point in a rectangular grid +// You must specify the rectangle, and the density of sample points +// This mode is preferred because there are more measurements. +// It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive + +// - "3-point" mode +// Probe 3 arbitrary points on the bed (that aren't colinear) +// You must specify the X & Y coordinates of all 3 points + + #define AUTO_BED_LEVELING_GRID + // with AUTO_BED_LEVELING_GRID, the bed is sampled in a + // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid + // and least squares solution is calculated + // Note: this feature occupies 10'206 byte + #ifdef AUTO_BED_LEVELING_GRID + + // set the rectangle in which to probe + #define LEFT_PROBE_BED_POSITION 15 + #define RIGHT_PROBE_BED_POSITION 170 + #define BACK_PROBE_BED_POSITION 180 + #define FRONT_PROBE_BED_POSITION 20 + + // set the number of grid points per dimension + // I wouldn't see a reason to go above 3 (=9 probing points on the bed) + #define AUTO_BED_LEVELING_GRID_POINTS 2 + + + #else // not AUTO_BED_LEVELING_GRID + // with no grid, just probe 3 arbitrary points. A simple cross-product + // is used to esimate the plane of the print bed + + #define ABL_PROBE_PT_1_X 15 + #define ABL_PROBE_PT_1_Y 180 + #define ABL_PROBE_PT_2_X 15 + #define ABL_PROBE_PT_2_Y 20 + #define ABL_PROBE_PT_3_X 170 + #define ABL_PROBE_PT_3_Y 20 + + #endif // AUTO_BED_LEVELING_GRID + + + // these are the offsets to the probe relative to the extruder tip (Hotend - Probe) + // X and Y offsets must be integers + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 + + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. + // Be sure you have this distance over your Z_MAX_POS in case + + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + + #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points + + //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell + //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. + + //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk + //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. + // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. + +// #define PROBE_SERVO_DEACTIVATION_DELAY 300 + + +//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, +//it is highly recommended you let this Z_SAFE_HOMING enabled!!! + + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // When defined, it will: + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled + // - If stepper drivers timeout, it will need X and Y homing again before Z homing + // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) + // - Block Z homing only when the probe is outside bed area. + + #ifdef Z_SAFE_HOMING + + #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) + + #endif + + #ifdef AUTO_BED_LEVELING_GRID // Check if Probe_Offset * Grid Points is greater than Probing Range + #if X_PROBE_OFFSET_FROM_EXTRUDER < 0 + #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION)) + #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #else + #if ((X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION)) + #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #endif + #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0 + #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION)) + #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #else + #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION)) + #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" + #endif + #endif + + + #endif + +#endif // ENABLE_AUTO_BED_LEVELING + + +// The position of the homing switches +//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used +//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0) + +//Manual homing switch locations: +// For deltabots this means top and center of the Cartesian print volume. +#define MANUAL_X_HOME_POS 0 +#define MANUAL_Y_HOME_POS 0 +#define MANUAL_Z_HOME_POS 0 +//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing. + +//// MOVEMENT SETTINGS +#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E +#define HOMING_FEEDRATE {2000, 2000, 150, 0} // set the homing speeds (mm/min) + +// default settings + +#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,100.47095761381482} // default steps per unit for Ultimaker +#define DEFAULT_MAX_FEEDRATE {250, 250, 3.3, 25} // (mm/sec) +#define DEFAULT_MAX_ACCELERATION {3000,3000,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 1000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves +#define DEFAULT_RETRACT_ACCELERATION 1000 // X, Y, Z and E max acceleration in mm/s^2 for retracts + +// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). +// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). +// For the other hotends it is their distance from the extruder 0 hotend. +// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis +// #define EXTRUDER_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis + +// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously) +#define DEFAULT_XYJERK 10.0 // (mm/sec) +#define DEFAULT_ZJERK 0.4 // (mm/sec) +#define DEFAULT_EJERK 5.0 // (mm/sec) + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +// Custom M code points +#define CUSTOM_M_CODES +#ifdef CUSTOM_M_CODES + #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 + #define Z_PROBE_OFFSET_RANGE_MIN -15 + #define Z_PROBE_OFFSET_RANGE_MAX -5 +#endif + + +// EEPROM +// The microcontroller can store settings in the EEPROM, e.g. max velocity... +// M500 - stores parameters 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 + +// Preheat Constants +#define PLA_PREHEAT_HOTEND_TEMP 200 +#define PLA_PREHEAT_HPB_TEMP 0 +#define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +#define ABS_PREHEAT_HOTEND_TEMP 220 +#define ABS_PREHEAT_HPB_TEMP 100 +#define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 + +//LCD and SD support + +// Character based displays can have different extended charsets. If you see strange or missing characters on yours - try an other definition below. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // with better support for European languages. "ÄäÖöÜüß°" +//#define DISPLAY_CHARSET_DOGM // for full graphics display "ÄäÖÖÜÜß°" + +#define ULTRA_LCD //general LCD support, also 16x2 +//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) +#define SDSUPPORT // Enable SD Card Support in Hardware Console +//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) +//#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication +//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder +//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking +//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. +#define ULTIPANEL //the UltiPanel as on Thingiverse +//#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click +//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click + +// The MaKr3d Makr-Panel with graphic controller and SD support +// http://reprap.org/wiki/MaKr3d_MaKrPanel +//#define MAKRPANEL + +// The RepRapDiscount Smart Controller (white PCB) +// http://reprap.org/wiki/RepRapDiscount_Smart_Controller +#define REPRAP_DISCOUNT_SMART_CONTROLLER + +// The GADGETS3D G3D LCD/SD Controller (blue PCB) +// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel +//#define G3D_PANEL + +// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB) +// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller +// +// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib +//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER + +// The RepRapWorld REPRAPWORLD_KEYPAD v1.1 +// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +//#define REPRAPWORLD_KEYPAD +//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click + +// The Elefu RA Board Control Panel +// http://www.elefu.com/index.php?route=product/product&product_id=53 +// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C +//#define RA_CONTROL_PANEL + +//automatic expansion +#if defined (MAKRPANEL) + #define DOGLCD + #define SDSUPPORT + #define ULTIPANEL + #define NEWPANEL + #define DEFAULT_LCD_CONTRAST 17 +#endif + +#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define DOGLCD + #define U8GLIB_ST7920 + #define REPRAP_DISCOUNT_SMART_CONTROLLER +#endif + +#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) + #define ULTIPANEL + #define NEWPANEL +#endif + +#if defined(REPRAPWORLD_KEYPAD) + #define NEWPANEL + #define ULTIPANEL +#endif +#if defined(RA_CONTROL_PANEL) + #define ULTIPANEL + #define NEWPANEL + #define LCD_I2C_TYPE_PCA8574 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander +#endif + +//I2C PANELS + +//#define LCD_I2C_SAINSMART_YWROBOT +#ifdef LCD_I2C_SAINSMART_YWROBOT + // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) + // Make sure it is placed in the Arduino libraries directory. + #define LCD_I2C_TYPE_PCF8575 + #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander + #define NEWPANEL + #define ULTIPANEL +#endif + +// PANELOLU2 LCD with status LEDs, separate encoder and click inputs +//#define LCD_I2C_PANELOLU2 +#ifdef LCD_I2C_PANELOLU2 + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file) + // Note: The PANELOLU2 encoder click input can either be directly connected to a pin + // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD + #define NEWPANEL + #define ULTIPANEL + + #ifndef ENCODER_PULSES_PER_STEP + #define ENCODER_PULSES_PER_STEP 4 + #endif + + #ifndef ENCODER_STEPS_PER_MENU_ITEM + #define ENCODER_STEPS_PER_MENU_ITEM 1 + #endif + + + #ifdef LCD_USE_I2C_BUZZER + #define LCD_FEEDBACK_FREQUENCY_HZ 1000 + #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 + #endif + +#endif + +// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs +//#define LCD_I2C_VIKI +#ifdef LCD_I2C_VIKI + // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) + // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. + // Note: The pause/stop/resume LCD button pin should be connected to the Arduino + // BTN_ENC pin (or set BTN_ENC to -1 if not used) + #define LCD_I2C_TYPE_MCP23017 + #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander + #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) + #define NEWPANEL + #define ULTIPANEL +#endif + +// Shift register panels +// --------------------- +// 2 wire Non-latching LCD SR from: +// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection + +//#define SAV_3DLCD +#ifdef SAV_3DLCD + #define SR_LCD_2W_NL // Non latching 2 wire shiftregister + #define NEWPANEL + #define ULTIPANEL +#endif + + +#ifdef ULTIPANEL +// #define NEWPANEL //enable this if you have a click-encoder panel + #define SDSUPPORT + #define ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the DOG graphic display + #define LCD_WIDTH 20 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 20 + #define LCD_HEIGHT 4 + #endif +#else //no panel but just LCD + #ifdef ULTRA_LCD + #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display + #define LCD_WIDTH 20 + #define LCD_HEIGHT 5 + #else + #define LCD_WIDTH 16 + #define LCD_HEIGHT 2 + #endif + #endif +#endif + +// default LCD contrast for dogm-like LCD displays +#ifdef DOGLCD +# ifndef DEFAULT_LCD_CONTRAST +# define DEFAULT_LCD_CONTRAST 32 +# endif +#endif + +// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino +//#define FAST_PWM_FAN + +// Temperature status LEDs that display the hotend and bet temperature. +// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. +// Otherwise the RED led is on. There is 1C hysteresis. +//#define TEMP_STAT_LEDS + +// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency +// which is not ass annoying as with the hardware PWM. On the other hand, if this frequency +// is too low, you should also increment SOFT_PWM_SCALE. +//#define FAN_SOFT_PWM + +// Incrementing this by 1 will double the software PWM frequency, +// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. +// However, control resolution will be halved for each increment; +// at zero value, there are 128 effective control positions. +#define SOFT_PWM_SCALE 0 + +// M240 Triggers a camera by emulating a Canon RC-1 Remote +// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ +// #define PHOTOGRAPH_PIN 23 + +// SF send wrong arc g-codes when using Arc Point as fillet procedure +//#define SF_ARC_FIX + +// Support for the BariCUDA Paste Extruder. +//#define BARICUDA + +//define BlinkM/CyzRgb Support +//#define BLINKM + +/*********************************************************************\ +* R/C SERVO support +* Sponsored by TrinityLabs, Reworked by codexmas +**********************************************************************/ + +// Number of servos +// +// If you select a configuration below, this will receive a default value and does not need to be set manually +// set it manually if you have more servos than extruders and wish to manually control some +// leaving it undefined or defining as 0 will disable the servo subsystem +// If unsure, leave commented / disabled +// +//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command + +// Servo Endstops +// +// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. +// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500. +// +//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 +//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles + +/**********************************************************************\ + * Support for a filament diameter sensor + * Also allows adjustment of diameter at print time (vs at slicing) + * Single extruder only at this point (extruder 0) + * + * Motherboards + * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector + * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E) + * 301 - Rambo - uses Analog input 3 + * Note may require analog pins to be defined for different motherboards + **********************************************************************/ +// Uncomment below to enable +//#define FILAMENT_SENSOR + +#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) +#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel + +#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation +#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm +#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm +#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) + +//defines used in the code +#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially + +//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec. +//#define FILAMENT_LCD_DISPLAY + + + + + + +#include "Configuration_adv.h" +#include "thermistortables.h" + +#endif //__CONFIGURATION_H diff --git a/Marlin/example_configurations/Hephestos/Configuration_adv.h b/Marlin/example_configurations/Hephestos/Configuration_adv.h new file mode 100644 index 0000000000..333396772d --- /dev/null +++ b/Marlin/example_configurations/Hephestos/Configuration_adv.h @@ -0,0 +1,535 @@ +#ifndef CONFIGURATION_ADV_H +#define CONFIGURATION_ADV_H + +//=========================================================================== +//=============================Thermal Settings ============================ +//=========================================================================== + +#ifdef BED_LIMIT_SWITCHING + #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS +#endif +#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control + +//// Heating sanity check: +// This waits for the watch period 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. This check is also only triggered if the target temperature and the current temperature +// differ by at least 2x WATCH_TEMP_INCREASE +//#define WATCH_TEMP_PERIOD 40000 //40 seconds +//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds + +#ifdef PIDTEMP + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen 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 (1) //heating power=Kc*(e_speed) + #endif +#endif + + +//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 B F +// 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 +// Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results +// as long as it supports dual x-carriages. (M605 S0) +// Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so +// that additional slicer support is not required. (M605 S1) +// Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all +// actions of the first x-carriage. This allows the printer to print 2 arbitrary items at +// once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm]) + +// This is the default power-up mode which can be later using M605. +#define DEFAULT_DUAL_X_CARRIAGE_MODE 0 + +// Default settings in "Auto-park Mode" +#define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder +#define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder + +// Default x offset in duplication mode (typically set to half print bed width) +#define DEFAULT_DUPLICATION_X_OFFSET 100 + +#endif //DUAL_X_CARRIAGE + +//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again: +#define X_HOME_RETRACT_MM 5 +#define Y_HOME_RETRACT_MM 5 +#define Z_HOME_RETRACT_MM 2 +//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. + +#define AXIS_RELATIVE_MODES {false, false, false, false} +#ifdef CONFIG_STEPPERS_TOSHIBA +#define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers +#else +#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step) +#endif +//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. +#define INVERT_X_STEP_PIN false +#define INVERT_Y_STEP_PIN false +#define INVERT_Z_STEP_PIN false +#define INVERT_E_STEP_PIN false + +//default stepper release if idle +#define DEFAULT_STEPPER_DEACTIVE_TIME 60 + +#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate +#define DEFAULT_MINTRAVELFEEDRATE 0.0 + +// Feedrates for manual moves along X, Y, Z, E from panel +#ifdef ULTIPANEL +#define MANUAL_FEEDRATE {120*60, 120*60, 18*60, 60} // set the speeds for manual moves (mm/min) +#endif + +//Comment to disable setting feedrate multiplier via encoder +#ifdef ULTIPANEL + #define ULTIPANEL_FEEDMULTIPLY +#endif + +// minimum time in microseconds that a movement needs to take if the buffer is emptied. +#define DEFAULT_MINSEGMENTTIME 20000 + +// If defined the movements slow down when the look ahead buffer is only half full +#define SLOWDOWN + +// 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 0.05// (mm/sec) + +// MS1 MS2 Stepper Driver Microstepping mode table +#define MICROSTEP1 LOW,LOW +#define MICROSTEP2 HIGH,LOW +#define MICROSTEP4 LOW,HIGH +#define MICROSTEP8 HIGH,HIGH +#define MICROSTEP16 HIGH,HIGH + +// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. +#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] + +// Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards) +#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) + +// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro +//#define DIGIPOT_I2C +// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8 +#define DIGIPOT_I2C_NUM_CHANNELS 8 +// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS +#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} + +//=========================================================================== +//=============================Additional Features=========================== +//=========================================================================== + +//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ +#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again + +#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers? +#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. + +#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order. +// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that. +// using: +#define MENU_ADDAUTOSTART + +// Show a progress bar on HD44780 LCDs for SD printing +//#define LCD_PROGRESS_BAR + +#ifdef LCD_PROGRESS_BAR + // Amount of time (ms) to show the bar + #define PROGRESS_BAR_BAR_TIME 2000 + // Amount of time (ms) to show the status message + #define PROGRESS_BAR_MSG_TIME 3000 + // Amount of time (ms) to retain the status message (0=forever) + #define PROGRESS_MSG_EXPIRE 0 + // Enable this to show messages for MSG_TIME then hide them + //#define PROGRESS_MSG_ONCE + #ifdef DOGLCD + #warning LCD_PROGRESS_BAR does not apply to graphical displays at this time. + #endif + #ifdef FILAMENT_LCD_DISPLAY + #error LCD_PROGRESS_BAR and FILAMENT_LCD_DISPLAY are not fully compatible. Comment out this line to use both. + #endif +#endif + +// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation. +//#define USE_WATCHDOG + +#ifdef USE_WATCHDOG +// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on. +// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset. +// However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled. +//#define WATCHDOG_RESET_MANUAL +#endif + +// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled. +//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED + +// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process +// it can e.g. be used to change z-positions in the print startup phase in real-time +// does not respect endstops! +//#define BABYSTEPPING +#ifdef BABYSTEPPING + #define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions + #define BABYSTEP_INVERT_Z false //true for inverse movements in Z + #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements + + #ifdef COREXY + #error BABYSTEPPING not implemented for COREXY yet. + #endif + + #ifdef DELTA + #ifdef BABYSTEP_XY + #error BABYSTEPPING only implemented for Z axis on deltabots. + #endif + #endif +#endif + +// extruder advance constant (s2/mm3) +// +// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 +// +// Hooke's law says: force = k * distance +// Bernoulli's principle 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 .0 + + #define D_FILAMENT 1.75 + #define STEPS_MM_E 100.47095761381482 + #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) + #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA) + +#endif // ADVANCE + +// Arc interpretation settings: +#define MM_PER_ARC_SEGMENT 1 +#define N_ARC_CORRECTION 25 + +const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement + +// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted +// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT +// in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should +// be commented out otherwise +#define SDCARDDETECTINVERTED + +#ifdef ULTIPANEL + #undef SDCARDDETECTINVERTED +#endif + +// Power Signal Control Definitions +// By default use ATX definition +#ifndef POWER_SUPPLY + #define POWER_SUPPLY 1 +#endif +// 1 = ATX +#if (POWER_SUPPLY == 1) + #define PS_ON_AWAKE LOW + #define PS_ON_ASLEEP HIGH +#endif +// 2 = X-Box 360 203W +#if (POWER_SUPPLY == 2) + #define PS_ON_AWAKE HIGH + #define PS_ON_ASLEEP LOW +#endif + +// Control heater 0 and heater 1 in parallel. +//#define HEATERS_PARALLEL + +//=========================================================================== +//=============================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 ring-buffering. +#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 receiving from the serial: +#define MAX_CMD_SIZE 96 +#define BUFSIZE 5 + + +// Firmware based and LCD controlled retract +// M207 and M208 can be used to define parameters for the retraction. +// The retraction can be called by the slicer using G10 and G11 +// until then, intended retractions can be detected by moves that only extrude and the direction. +// the moves are than replaced by the firmware controlled ones. + +// #define FWRETRACT //ONLY PARTIALLY TESTED +#ifdef FWRETRACT + #define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt + #define RETRACT_LENGTH 3 //default retract length (positive mm) + #define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change + #define RETRACT_FEEDRATE 80*60 //default feedrate for retracting (mm/s) + #define RETRACT_ZLIFT 0 //default retract Z-lift + #define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) + //#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change) + #define RETRACT_RECOVER_FEEDRATE 8*60 //default feedrate for recovering from retraction (mm/s) +#endif + +//adds support for experimental filament exchange support M600; requires display +#ifdef ULTIPANEL + #define FILAMENTCHANGEENABLE + #ifdef FILAMENTCHANGEENABLE + #define FILAMENTCHANGE_XPOS 3 + #define FILAMENTCHANGE_YPOS 3 + #define FILAMENTCHANGE_ZADD 10 + #define FILAMENTCHANGE_FIRSTRETRACT -2 + #define FILAMENTCHANGE_FINALRETRACT -100 + #endif +#endif + +#ifdef FILAMENTCHANGEENABLE + #ifdef EXTRUDER_RUNOUT_PREVENT + #error EXTRUDER_RUNOUT_PREVENT currently incompatible with FILAMENTCHANGE + #endif +#endif + +//=========================================================================== +//============================= Define Defines ============================ +//=========================================================================== + +#if defined (ENABLE_AUTO_BED_LEVELING) && defined (DELTA) + #error "Bed Auto Leveling is still not compatible with Delta Kinematics." +#endif + +#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT + #error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1" +#endif + +#if EXTRUDERS > 1 && defined HEATERS_PARALLEL + #error "You cannot use HEATERS_PARALLEL if EXTRUDERS > 1" +#endif + +#if TEMP_SENSOR_0 > 0 + #define THERMISTORHEATER_0 TEMP_SENSOR_0 + #define HEATER_0_USES_THERMISTOR +#endif +#if TEMP_SENSOR_1 > 0 + #define THERMISTORHEATER_1 TEMP_SENSOR_1 + #define HEATER_1_USES_THERMISTOR +#endif +#if TEMP_SENSOR_2 > 0 + #define THERMISTORHEATER_2 TEMP_SENSOR_2 + #define HEATER_2_USES_THERMISTOR +#endif +#if TEMP_SENSOR_3 > 0 + #define THERMISTORHEATER_3 TEMP_SENSOR_3 + #define HEATER_3_USES_THERMISTOR +#endif +#if TEMP_SENSOR_BED > 0 + #define THERMISTORBED TEMP_SENSOR_BED + #define BED_USES_THERMISTOR +#endif +#if TEMP_SENSOR_0 == -1 + #define HEATER_0_USES_AD595 +#endif +#if TEMP_SENSOR_1 == -1 + #define HEATER_1_USES_AD595 +#endif +#if TEMP_SENSOR_2 == -1 + #define HEATER_2_USES_AD595 +#endif +#if TEMP_SENSOR_3 == -1 + #define HEATER_3_USES_AD595 +#endif +#if TEMP_SENSOR_BED == -1 + #define BED_USES_AD595 +#endif +#if TEMP_SENSOR_0 == -2 + #define HEATER_0_USES_MAX6675 +#endif +#if TEMP_SENSOR_0 == 0 + #undef HEATER_0_MINTEMP + #undef HEATER_0_MAXTEMP +#endif +#if TEMP_SENSOR_1 == 0 + #undef HEATER_1_MINTEMP + #undef HEATER_1_MAXTEMP +#endif +#if TEMP_SENSOR_2 == 0 + #undef HEATER_2_MINTEMP + #undef HEATER_2_MAXTEMP +#endif +#if TEMP_SENSOR_3 == 0 + #undef HEATER_3_MINTEMP + #undef HEATER_3_MAXTEMP +#endif +#if TEMP_SENSOR_BED == 0 + #undef BED_MINTEMP + #undef BED_MAXTEMP +#endif + + +#endif //__CONFIGURATION_ADV_H diff --git a/Marlin/language.h b/Marlin/language.h index defe1e959d..284c71f7da 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -56,17 +56,18 @@ #elif MB(WITBOX) #define MACHINE_NAME "WITBOX" #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" +#elif MB(HEPHESTOS) + #define MACHINE_NAME "Hephestos" + #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #else - #ifdef CUSTOM_MENDEL_NAME - #define MACHINE_NAME CUSTOM_MENDEL_NAME - #else - #define MACHINE_NAME "Mendel" - #endif - -// Default firmware set to Mendel + // Default firmware set to Mendel + #define MACHINE_NAME "Mendel" #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #endif +#ifdef CUSTOM_MENDEL_NAME + #define MACHINE_NAME CUSTOM_MENDEL_NAME +#else #ifndef MACHINE_UUID #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" diff --git a/Marlin/pins.h b/Marlin/pins.h index a89a1f0688..ea8f96c48b 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -108,6 +108,8 @@ #include "pins_LEAPFROG.h" #elif MB(WITBOX) #include "pins_WITBOX.h" +#elif MB(HEPHESTOS) + #include "pins_HEPHESTOS.h" #elif MB(99) #include "pins_99.h" #else diff --git a/Marlin/pins_HEPHESTOS.h b/Marlin/pins_HEPHESTOS.h new file mode 100644 index 0000000000..c5b7bcf799 --- /dev/null +++ b/Marlin/pins_HEPHESTOS.h @@ -0,0 +1,5 @@ +/** + * bq Prusa i3 Hephestos – Arduino Mega with RAMPS v1.3/1.4 pin assignments + */ + +#include "pins_RAMPS_13.h" diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h index 8990f166d1..e2f74fc834 100644 --- a/Marlin/pins_RAMPS_13.h +++ b/Marlin/pins_RAMPS_13.h @@ -63,7 +63,7 @@ #define FILWIDTH_PIN 5 #endif -#if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) || MB(WITBOX) +#if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO) || MB(WITBOX) || MB(HEPHESTOS) #define FAN_PIN 9 // (Sprinter config) #if MB(RAMPS_13_EFF) #define CONTROLLERFAN_PIN -1 // Pin used for the fan to cool controller @@ -88,7 +88,7 @@ #define HEATER_0_PIN 10 // EXTRUDER 1 #endif -#if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) || MB(WITBOX) +#if MB(RAMPS_13_EFB) || MB(AZTEEG_X3) || MB(WITBOX) || MB(HEPHESTOS) #define HEATER_1_PIN -1 #else #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) From 3f3ad9b3ad78b93afaf4e000164093fb04e284e0 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 31 Jan 2015 21:42:53 -0800 Subject: [PATCH 088/132] typo --- Marlin/language.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language.h b/Marlin/language.h index 284c71f7da..87a6dc72e1 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -67,7 +67,7 @@ #ifdef CUSTOM_MENDEL_NAME #define MACHINE_NAME CUSTOM_MENDEL_NAME -#else +#endif #ifndef MACHINE_UUID #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" From 5f8dd929053a966e53a7aa155aba4042de774220 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 31 Jan 2015 21:58:38 -0800 Subject: [PATCH 089/132] toss in a fix for .ru --- Marlin/language_ru.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/language_ru.h b/Marlin/language_ru.h index 010380b7bc..03ea77851d 100644 --- a/Marlin/language_ru.h +++ b/Marlin/language_ru.h @@ -10,7 +10,7 @@ #define LANGUAGE_RU -#define WELCOME_MSG MACHINE_NAME "Готов." +#define WELCOME_MSG MACHINE_NAME " Готов." #define MSG_SD_INSERTED "Карта вставлена" #define MSG_SD_REMOVED "Карта извлечена" #define MSG_MAIN "Меню \003" From 0af9a0bf57391b27db64ab4b924652a778560a26 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 31 Jan 2015 22:19:45 -0800 Subject: [PATCH 090/132] url to firmware downloads --- Marlin/example_configurations/WITBOX/Configuration.h | 2 +- Marlin/language.h | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index 0b34cec156..dea6c72a01 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -27,7 +27,7 @@ #define STRING_VERSION "1.0.2" #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time -#define STRING_CONFIG_H_AUTHOR "(bq WITBOX)" // Who made the changes. +#define STRING_CONFIG_H_AUTHOR "(bq Witbox)" // Who made the changes. #define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. diff --git a/Marlin/language.h b/Marlin/language.h index 87a6dc72e1..1a87f775bc 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -55,14 +55,12 @@ #define FIRMWARE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config" #elif MB(WITBOX) #define MACHINE_NAME "WITBOX" - #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" + #define FIRMWARE_URL "http://www.bq.com/gb/downloads-witbox.html" #elif MB(HEPHESTOS) - #define MACHINE_NAME "Hephestos" - #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" -#else - // Default firmware set to Mendel + #define MACHINE_NAME "HEPHESTOS" + #define FIRMWARE_URL "http://www.bq.com/gb/downloads-prusa-i3-hephestos.html" +#else // Default firmware set to Mendel #define MACHINE_NAME "Mendel" - #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #endif #ifdef CUSTOM_MENDEL_NAME From f4ebc02555abd584f4f160332fe3699bfbbfeff6 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 31 Jan 2015 23:09:12 -0800 Subject: [PATCH 091/132] marlin url --- Marlin/language.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/language.h b/Marlin/language.h index 1a87f775bc..2ba488098c 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -61,6 +61,7 @@ #define FIRMWARE_URL "http://www.bq.com/gb/downloads-prusa-i3-hephestos.html" #else // Default firmware set to Mendel #define MACHINE_NAME "Mendel" + #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #endif #ifdef CUSTOM_MENDEL_NAME From c009c81e65dbbb591354ab7d68db65180583fae1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 31 Jan 2015 23:11:28 -0800 Subject: [PATCH 092/132] make marlin-main the default --- Marlin/language.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Marlin/language.h b/Marlin/language.h index 2ba488098c..dcaddede51 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -34,22 +34,20 @@ #endif #define PROTOCOL_VERSION "1.0" +#define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2) #define MACHINE_NAME "Ultimaker" #define FIRMWARE_URL "http://firmware.ultimaker.com" #elif MB(RUMBA) #define MACHINE_NAME "Rumba" - #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #elif MB(3DRAG) #define MACHINE_NAME "3Drag" #define FIRMWARE_URL "http://3dprint.elettronicain.it/" #elif MB(K8200) #define MACHINE_NAME "K8200" - #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #elif MB(5DPRINT) #define MACHINE_NAME "Makibox" - #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #elif MB(SAV_MKI) #define MACHINE_NAME "SAV MkI" #define FIRMWARE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config" @@ -61,7 +59,6 @@ #define FIRMWARE_URL "http://www.bq.com/gb/downloads-prusa-i3-hephestos.html" #else // Default firmware set to Mendel #define MACHINE_NAME "Mendel" - #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin" #endif #ifdef CUSTOM_MENDEL_NAME From 8dce5a664409365ad6216766083a2163980dda9f Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 1 Feb 2015 13:09:59 +0100 Subject: [PATCH 093/132] Improve new charset featur. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Select DOGM-displays automaticly. Give hint where to find charsets. Add '²' and '³' characters. --- Marlin/language.h | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/Marlin/language.h b/Marlin/language.h index dcaddede51..ef6bf2e254 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -161,25 +161,19 @@ // LCD Menu Messages -#define STR_Ae "Ae" // No charset known now. Default will be overruled when we know. -#define STR_ae "ae" -#define STR_Oe "Oe" -#define STR_oe "oe" -#define STR_Ue "Ue" -#define STR_ue "ue" -#define STR_sz "ss" -#define STR_Deg "" -#define STR_THERMOMETER "\302" - -#ifdef DISPLAY_CHARSET_DOGM - #define STR_Ae "\304" // U8glib - #define STR_ae "\344" - #define STR_Oe "\326" - #define STR_oe STR_Oe - #define STR_Ue "\334" - #define STR_ue STR_Ue - #define STR_sz "\337" - #define STR_Deg "\260" +// Add your own character. Reference: https://github.com/MarlinFirmware/Marlin/pull/1434 photos +// and https://www.sparkfun.com/datasheets/LCD/HD44780.pdf page 17-18 +#ifdef DOGLCD + #define STR_Ae "\304" // 'Ä' U8glib + #define STR_ae "\344" // 'ä' + #define STR_Oe "\326" // 'Ö' + #define STR_oe STR_Oe // 'ö' + #define STR_Ue "\334" // 'Ü' + #define STR_ue STR_Ue // 'ü' + #define STR_sz "\337" // 'ß' + #define STR_h2 "\262" // '²' + #define STR_h3 "\263" // '³' + #define STR_Deg "\260" // '°' #define STR_THERMOMETER "\377" #endif #ifdef DISPLAY_CHARSET_HD44870_JAPAN // HD44870 ROM Code: A00 (Japan) @@ -190,6 +184,8 @@ #define STR_ue "\365" #define STR_Ue STR_ue #define STR_sz "\342" + #define STR_h2 "2" + #define STR_h3 "3" #define STR_Deg "\271" #define STR_THERMOMETER "\302" #endif @@ -201,6 +197,8 @@ #define STR_Ue "\212" #define STR_ue "\201" #define STR_sz "\160" + #define STR_h2 "\262" + #define STR_h3 "\263" #define STR_Deg "\337" #define STR_THERMOMETER "\302" #endif From 0e40408ee51b847c548973ac7ba30448afdea560 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 1 Feb 2015 13:20:58 +0100 Subject: [PATCH 094/132] Make exemplaric use of new display charsets in language_en.h and languag_de.h --- Marlin/language_de.h | 2 +- Marlin/language_en.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/language_de.h b/Marlin/language_de.h index bbad53368e..d41df208df 100644 --- a/Marlin/language_de.h +++ b/Marlin/language_de.h @@ -75,7 +75,7 @@ #define MSG_TEMPERATURE "Temperatur" #define MSG_MOTION "Bewegung" #define MSG_VOLUMETRIC "Filament" -#define MSG_VOLUMETRIC_ENABLED "E in mm3" +#define MSG_VOLUMETRIC_ENABLED "E in mm" STR_h3 #define MSG_FILAMENT_SIZE_EXTRUDER_0 "Filament D 1" #define MSG_FILAMENT_SIZE_EXTRUDER_1 "Filament D 2" #define MSG_FILAMENT_SIZE_EXTRUDER_2 "Filament D 3" diff --git a/Marlin/language_en.h b/Marlin/language_en.h index 55f784e8ac..49a22337dd 100644 --- a/Marlin/language_en.h +++ b/Marlin/language_en.h @@ -46,9 +46,9 @@ #define MSG_FAN_SPEED "Fan speed" #define MSG_FLOW "Flow" #define MSG_CONTROL "Control" -#define MSG_MIN " \002 Min" -#define MSG_MAX " \002 Max" -#define MSG_FACTOR " \002 Fact" +#define MSG_MIN " " STR_THERMOMETER " Min" +#define MSG_MAX " " STR_THERMOMETER " Max" +#define MSG_FACTOR " " STR_THERMOMETER " Fact" #define MSG_AUTOTEMP "Autotemp" #define MSG_ON "On " #define MSG_OFF "Off" @@ -76,7 +76,7 @@ #define MSG_TEMPERATURE "Temperature" #define MSG_MOTION "Motion" #define MSG_VOLUMETRIC "Filament" -#define MSG_VOLUMETRIC_ENABLED "E in mm3" +#define MSG_VOLUMETRIC_ENABLED "E in mm" STR_h3 #define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Dia. 1" #define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Dia. 2" #define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Dia. 3" From 85385be132a8998ff2bd0d3e746db19873db21dc Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 1 Feb 2015 13:33:25 +0100 Subject: [PATCH 095/132] Removed now automatic define of DISPLAY_CHARSET_DOGM + improved description. --- Marlin/Configuration.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f5c218dc7f..edc3dc296f 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -534,10 +534,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support -// Character based displays can have different extended charsets. If you see strange or missing characters on yours - try an other definition below. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // with better support for European languages. "ÄäÖöÜüß°" -//#define DISPLAY_CHARSET_DOGM // for full graphics display "ÄäÖÖÜÜß°" +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) From 26e55471f89af330dfa16b8efc08d7d63cdfd9d1 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 1 Feb 2015 13:46:32 +0100 Subject: [PATCH 096/132] Update example configurations. --- Marlin/Configuration.h | 2 +- Marlin/example_configurations/Hephestos/Configuration.h | 7 +++---- Marlin/example_configurations/K8200/Configuration.h | 5 +++++ Marlin/example_configurations/SCARA/Configuration.h | 5 +++++ Marlin/example_configurations/WITBOX/Configuration.h | 5 +++++ Marlin/example_configurations/delta/Configuration.h | 5 +++++ Marlin/example_configurations/makibox/Configuration.h | 5 +++++ .../example_configurations/tvrrug/Round2/Configuration.h | 5 +++++ 8 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index edc3dc296f..1321559049 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -535,7 +535,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" //#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 4694afd453..64e117322a 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -540,10 +540,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support -// Character based displays can have different extended charsets. If you see strange or missing characters on yours - try an other definition below. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // with better support for European languages. "ÄäÖöÜüß°" -//#define DISPLAY_CHARSET_DOGM // for full graphics display "ÄäÖÖÜÜß°" +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. #define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 888835e7b1..baa6061d62 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -544,6 +544,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_FAN_SPEED 0 // Insert Value between 0 and 255 //LCD and SD support + +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. + //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define SDSUPPORT // Enable SD Card Support in Hardware Console diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 7d52562c44..43b5295709 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -537,6 +537,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 //LCD and SD support + +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. + //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define SDSUPPORT // Enable SD Card Support in Hardware Console diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index dea6c72a01..e5b5b68102 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -538,6 +538,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 //LCD and SD support + +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. + #define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) #define SDSUPPORT // Enable SD Card Support in Hardware Console diff --git a/Marlin/example_configurations/delta/Configuration.h b/Marlin/example_configurations/delta/Configuration.h index 347c346090..1b19b1ff4d 100644 --- a/Marlin/example_configurations/delta/Configuration.h +++ b/Marlin/example_configurations/delta/Configuration.h @@ -441,6 +441,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 //LCD and SD support + +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. + //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define SDSUPPORT // Enable SD Card Support in Hardware Console diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 0781ed60a6..f2af1b2107 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -509,6 +509,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 //LCD and SD support + +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. + //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) #define SDSUPPORT // Enable SD Card Support in Hardware Console diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index b362753e81..d99d6100c7 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -523,6 +523,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 //LCD and SD support + +// Character based displays can have different extended charsets. +#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. + //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define SDSUPPORT // Enable SD Card Support in Hardware Console From 2dd43a82b1cc59cc4ad45bc7d1773fcfff5b48c3 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 1 Feb 2015 14:16:35 +0100 Subject: [PATCH 097/132] Ups. #else added --- Marlin/language.h | 54 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/Marlin/language.h b/Marlin/language.h index ef6bf2e254..97f53b541a 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -175,34 +175,34 @@ #define STR_h3 "\263" // '³' #define STR_Deg "\260" // '°' #define STR_THERMOMETER "\377" +#else + #ifdef DISPLAY_CHARSET_HD44870_JAPAN // HD44870 ROM Code: A00 (Japan) + #define STR_ae "\xe1" + #define STR_Ae STR_ae + #define STR_oe "\357" + #define STR_Oe STR_oe + #define STR_ue "\365" + #define STR_Ue STR_ue + #define STR_sz "\342" + #define STR_h2 "2" + #define STR_h3 "3" + #define STR_Deg "\271" + #define STR_THERMOMETER "\002" + #endif + #ifdef DISPLAY_CHARSET_HD44870_WESTERN // HD44870 ROM Code: A02 (Western) + #define STR_Ae "\216" + #define STR_ae "\204" + #define STR_Oe "\211" + #define STR_oe "\204" + #define STR_Ue "\212" + #define STR_ue "\201" + #define STR_sz "\160" + #define STR_h2 "\262" + #define STR_h3 "\263" + #define STR_Deg "\337" + #define STR_THERMOMETER "\002" + #endif #endif -#ifdef DISPLAY_CHARSET_HD44870_JAPAN // HD44870 ROM Code: A00 (Japan) - #define STR_ae "\xe1" - #define STR_Ae STR_ae - #define STR_oe "\357" - #define STR_Oe STR_oe - #define STR_ue "\365" - #define STR_Ue STR_ue - #define STR_sz "\342" - #define STR_h2 "2" - #define STR_h3 "3" - #define STR_Deg "\271" - #define STR_THERMOMETER "\302" -#endif -#ifdef DISPLAY_CHARSET_HD44870_WESTERN // HD44870 ROM Code: A02 (Western) - #define STR_Ae "\216" - #define STR_ae "\204" - #define STR_Oe "\211" - #define STR_oe "\204" - #define STR_Ue "\212" - #define STR_ue "\201" - #define STR_sz "\160" - #define STR_h2 "\262" - #define STR_h3 "\263" - #define STR_Deg "\337" - #define STR_THERMOMETER "\302" -#endif - /* #define TESTSTRING000 "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017" #define TESTSTRING020 "\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" From 8e287c27629dbf399764d0c0eecb3878e89c1c7f Mon Sep 17 00:00:00 2001 From: DocDawning Date: Sun, 1 Feb 2015 17:06:38 -0700 Subject: [PATCH 098/132] Normalized section headers, added some headers, added help URLs for newbies --- Marlin/Configuration.h | 46 +++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f5c218dc7f..f048e004bd 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -3,6 +3,20 @@ #include "boards.h" +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration @@ -67,7 +81,7 @@ // #define PS_DEFAULT_OFF //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -143,7 +157,11 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -177,7 +195,9 @@ // #define DEFAULT_Kd 440 #endif // PIDTEMP -// Bed Temperature Control +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -214,7 +234,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -224,7 +243,10 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -259,11 +281,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================= Mechanical Settings ========================= //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -346,7 +367,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. @@ -499,9 +524,10 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) -//=========================================================================== -//=============================Additional Features=========================== -//=========================================================================== + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= // Custom M code points #define CUSTOM_M_CODES From bca884bf72b7c785caf4b1e039e2a092238fcde8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 2 Feb 2015 04:41:31 -0800 Subject: [PATCH 099/132] Realized it's not a bug, but cleanup code anyway --- Marlin/Marlin_main.cpp | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 247b186e7c..fc9908c0bb 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2893,26 +2893,24 @@ Sigma_Exit: float area = .0; if(code_seen('D')) { - float diameter = (float)code_value(); - if (diameter == 0.0) { - // setting any extruder filament size disables volumetric on the assumption that - // slicers either generate in extruder values as cubic mm or as as filament feeds - // for all extruders - volumetric_enabled = false; - } else { - filament_size[tmp_extruder] = (float)code_value(); + float diameter = code_value(); + // setting any extruder filament size disables volumetric on the assumption that + // slicers either generate in extruder values as cubic mm or as as filament feeds + // for all extruders + volumetric_enabled = (diameter != 0.0); + if (volumetric_enabled) { + filament_size[tmp_extruder] = diameter; // make sure all extruders have some sane value for the filament size - filament_size[0] = (filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[0]); -#if EXTRUDERS > 1 - filament_size[1] = (filament_size[1] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[1]); -#if EXTRUDERS > 2 - filament_size[2] = (filament_size[2] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[2]); -#if EXTRUDERS > 3 - filament_size[3] = (filament_size[3] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[3]); -#endif //EXTRUDERS > 3 -#endif //EXTRUDERS > 2 -#endif //EXTRUDERS > 1 - volumetric_enabled = true; + if (! filament_size[0]) filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 1 + if (! filament_size[1]) filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 2 + if (! filament_size[2]) filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; + #if EXTRUDERS > 3 + if (! filament_size[3]) filament_size[3] = DEFAULT_NOMINAL_FILAMENT_DIA; + #endif + #endif + #endif } } else { //reserved for setting filament diameter via UFID or filament measuring device From 4a146d584b077dfdeff59162e7215a0cf9447b1b Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 2 Feb 2015 05:16:17 -0800 Subject: [PATCH 100/132] Loop, since the pending feature can use an array --- Marlin/Marlin_main.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index fc9908c0bb..ab44c1c23c 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2901,16 +2901,8 @@ Sigma_Exit: if (volumetric_enabled) { filament_size[tmp_extruder] = diameter; // make sure all extruders have some sane value for the filament size - if (! filament_size[0]) filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA; - #if EXTRUDERS > 1 - if (! filament_size[1]) filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA; - #if EXTRUDERS > 2 - if (! filament_size[2]) filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA; - #if EXTRUDERS > 3 - if (! filament_size[3]) filament_size[3] = DEFAULT_NOMINAL_FILAMENT_DIA; - #endif - #endif - #endif + for (int i=EXTRUDERS; i--;) + if (! filament_size[i]) filament_size[i] = DEFAULT_NOMINAL_FILAMENT_DIA; } } else { //reserved for setting filament diameter via UFID or filament measuring device From bd387068bba0d996cae198e7aa417ff210bb4dba Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 2 Feb 2015 05:27:27 -0800 Subject: [PATCH 101/132] Apply loops for extruders elsewhere also --- Marlin/Marlin_main.cpp | 43 ++++++------------------------------------ 1 file changed, 6 insertions(+), 37 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index ab44c1c23c..81b2796a82 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -3021,33 +3021,11 @@ Sigma_Exit: int t= code_value() ; switch(t) { - case 0: + case 0: + case 1: { - autoretract_enabled=false; - retracted[0]=false; -#if EXTRUDERS > 1 - retracted[1]=false; -#endif -#if EXTRUDERS > 2 - retracted[2]=false; -#endif -#if EXTRUDERS > 3 - retracted[3]=false; -#endif - }break; - case 1: - { - autoretract_enabled=true; - retracted[0]=false; -#if EXTRUDERS > 1 - retracted[1]=false; -#endif -#if EXTRUDERS > 2 - retracted[2]=false; -#endif -#if EXTRUDERS > 3 - retracted[3]=false; -#endif + autoretract_enabled = (t == 1); + for (int i=EXTRUDERS; i--;) retracted[i] = false; }break; default: SERIAL_ECHO_START; @@ -4686,15 +4664,6 @@ float calculate_volumetric_multiplier(float diameter) { } void calculate_volumetric_multipliers() { - volumetric_multiplier[0] = calculate_volumetric_multiplier(filament_size[0]); -#if EXTRUDERS > 1 - volumetric_multiplier[1] = calculate_volumetric_multiplier(filament_size[1]); -#if EXTRUDERS > 2 - volumetric_multiplier[2] = calculate_volumetric_multiplier(filament_size[2]); -#if EXTRUDERS > 3 - volumetric_multiplier[3] = calculate_volumetric_multiplier(filament_size[3]); -#endif //EXTRUDERS > 3 -#endif //EXTRUDERS > 2 -#endif //EXTRUDERS > 1 + for (int i=EXTRUDERS; i--;) + volumetric_multiplier[i] = calculate_volumetric_multiplier(filament_size[i]); } - From 9dc5de61669e9d0850b72d80e1d53765457109a7 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 2 Feb 2015 05:55:55 -0800 Subject: [PATCH 102/132] Hide code that makes veteran geeks go "aha!" --- Marlin/Marlin_main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 81b2796a82..cff7ee6bf2 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2901,7 +2901,7 @@ Sigma_Exit: if (volumetric_enabled) { filament_size[tmp_extruder] = diameter; // make sure all extruders have some sane value for the filament size - for (int i=EXTRUDERS; i--;) + for (int i=0; i Date: Sun, 1 Feb 2015 17:06:38 -0700 Subject: [PATCH 103/132] Normalized section headers, added some headers, added help URLs for newbies --- Marlin/Configuration.h | 48 ++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f5c218dc7f..552fd7133a 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -3,6 +3,20 @@ #include "boards.h" +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration @@ -67,7 +81,7 @@ // #define PS_DEFAULT_OFF //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -143,7 +157,11 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -177,7 +195,9 @@ // #define DEFAULT_Kd 440 #endif // PIDTEMP -// Bed Temperature Control +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -214,7 +234,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -224,7 +243,10 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -259,11 +281,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================= Mechanical Settings ========================= //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -335,7 +356,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units are in mm) #define X_MAX_POS 205 #define X_MIN_POS 0 #define Y_MAX_POS 205 @@ -346,7 +367,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. @@ -499,9 +524,10 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) -//=========================================================================== -//=============================Additional Features=========================== -//=========================================================================== + +//============================================================================= +//============================= Additional Features =========================== +//============================================================================= // Custom M code points #define CUSTOM_M_CODES From d109cd940b1f0bc5a4e2c8ac25f7ce424db14a39 Mon Sep 17 00:00:00 2001 From: DocDawning Date: Mon, 2 Feb 2015 14:11:21 -0700 Subject: [PATCH 104/132] Normalized all configuration files to include my new section headers and the like. --- .../Hephestos/Configuration.h | 44 ++++++++++++---- .../K8200/Configuration.h | 47 +++++++++++++---- .../SCARA/Configuration.h | 47 ++++++++++++++--- .../WITBOX/Configuration.h | 49 +++++++++++++---- .../delta/Configuration.h | 50 ++++++++++++++---- .../makibox/Configuration.h | 52 +++++++++++++++---- .../tvrrug/Round2/Configuration.h | 51 ++++++++++++++---- 7 files changed, 278 insertions(+), 62 deletions(-) diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 4694afd453..7c89a4152d 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -3,6 +3,20 @@ #include "boards.h" +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration @@ -67,7 +81,7 @@ // #define PS_DEFAULT_OFF //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -143,7 +157,11 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -183,7 +201,9 @@ #endif // PIDTEMP -// Bed Temperature Control +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -220,7 +240,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -230,7 +249,10 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -265,11 +287,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================= Mechanical Settings ========================= //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -341,7 +362,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units in mm) #define X_MAX_POS 215 #define X_MIN_POS 0 #define Y_MAX_POS 210 @@ -352,7 +373,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. @@ -505,8 +530,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) + //=========================================================================== -//=============================Additional Features=========================== +//============================= Additional Features ========================= //=========================================================================== // Custom M code points diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 888835e7b1..99ad1b8df5 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -3,6 +3,21 @@ #include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration @@ -66,8 +81,9 @@ // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. // #define PS_DEFAULT_OFF + //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -143,7 +159,11 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -182,7 +202,9 @@ #define DEFAULT_Kd 93.51 #endif // PIDTEMP -// Bed Temperature Control +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -225,7 +247,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -235,7 +256,11 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -270,11 +295,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================= Mechanical Settings ========================= //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -346,7 +370,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units are in mm) #define X_MAX_POS 200 #define X_MIN_POS 0 #define Y_MAX_POS 200 @@ -357,7 +381,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. @@ -510,8 +538,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) + //=========================================================================== -//=============================Additional Features=========================== +//============================= Additional Features ========================= //=========================================================================== // Custom M code points diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 7d52562c44..ea2495ddf1 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -3,6 +3,22 @@ #include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration @@ -86,7 +102,7 @@ // #define PS_DEFAULT_OFF //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -161,7 +177,11 @@ #define EXTRUDER_WATTS (2*2/5.9) // P=I^2/R #define BED_WATTS (5.45*5.45/2.2) // P=I^2/R -// PID settings: +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -202,7 +222,9 @@ // #define DEFAULT_Kd 440 #endif // PIDTEMP -// Bed Temperature Control +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -255,7 +277,11 @@ #define EXTRUDE_MINTEMP 150 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -290,10 +316,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== + //=========================================================================== -//=============================Mechanical Settings=========================== +//============================ Mechanical Settings ========================== //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -365,7 +391,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units are in mm) #define X_MAX_POS 200 #define X_MIN_POS 0 #define Y_MAX_POS 200 @@ -376,7 +402,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) @@ -503,8 +533,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 3 // (mm/sec) + //=========================================================================== -//=============================Additional Features=========================== +//============================= Additional Features ========================= //=========================================================================== // Custom M code points diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index dea6c72a01..6a13e33c37 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -3,6 +3,22 @@ #include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration @@ -66,8 +82,9 @@ // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. // #define PS_DEFAULT_OFF + //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -143,7 +160,12 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -182,7 +204,9 @@ #define DEFAULT_Kd 114 #endif // PIDTEMP -// Bed Temperature Control +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -219,7 +243,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -229,7 +252,11 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -264,11 +291,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================= Mechanical Settings ========================= //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -340,7 +366,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units are in mm) #define X_MAX_POS 297 #define X_MIN_POS 0 #define Y_MAX_POS 210 @@ -351,7 +377,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. @@ -504,8 +534,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) + //=========================================================================== -//=============================Additional Features=========================== +//============================ Additional Features ========================== //=========================================================================== // Custom M code points diff --git a/Marlin/example_configurations/delta/Configuration.h b/Marlin/example_configurations/delta/Configuration.h index 347c346090..e8d620e2a9 100644 --- a/Marlin/example_configurations/delta/Configuration.h +++ b/Marlin/example_configurations/delta/Configuration.h @@ -3,10 +3,26 @@ #include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + //=========================================================================== //============================= DELTA Printer =============================== //=========================================================================== @@ -59,6 +75,7 @@ // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. // #define PS_DEFAULT_OFF + //=========================================================================== //============================== Delta Settings ============================= //=========================================================================== @@ -87,8 +104,9 @@ // Effective horizontal distance bridged by diagonal push rods. #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET) + //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -164,7 +182,12 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -195,7 +218,10 @@ // #define DEFAULT_Kd 440 #endif // PIDTEMP -// Bed Temperature Control + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -232,7 +258,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -242,7 +267,11 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -277,11 +306,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================= Mechanical Settings ========================= //=========================================================================== // coarse Endstop Settings @@ -352,7 +380,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units are in mm) #define X_MAX_POS 90 #define X_MIN_POS -90 #define Y_MAX_POS 90 @@ -363,7 +391,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== + //Bed Auto Leveling is still not compatible with Delta Kinematics @@ -408,7 +440,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_EJERK 5.0 // (mm/sec) //=========================================================================== -//=============================Additional Features=========================== +//============================= Additional Features ========================= //=========================================================================== // Custom M code points diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 0781ed60a6..827e67ced0 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -3,10 +3,27 @@ #include "boards.h" + +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + //=========================================================================== //============================= DELTA Printer =============================== //=========================================================================== @@ -14,6 +31,7 @@ // example_configurations/delta directory. // + //=========================================================================== //============================= SCARA Printer =============================== //=========================================================================== @@ -66,8 +84,9 @@ // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. // #define PS_DEFAULT_OFF + //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -143,7 +162,12 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -174,7 +198,10 @@ // #define DEFAULT_Kd 440 #endif // PIDTEMP -// Bed Temperature Control + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -214,7 +241,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -224,7 +250,11 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== + +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -259,11 +289,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================ Mechanical Settings ========================== //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -335,7 +364,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units are in mm) #define X_MAX_POS 110 #define X_MIN_POS 0 #define Y_MAX_POS 150 @@ -346,7 +375,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. @@ -475,8 +508,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) + //=========================================================================== -//=============================Additional Features=========================== +//============================ Additional Features ========================== //=========================================================================== // Custom M code points diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index b362753e81..47a6c3e054 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -3,10 +3,26 @@ #include "boards.h" +//=========================================================================== +//============================= Getting Started ============================= +//=========================================================================== +/* +Here are some standard links for getting your machine calibrated: + * http://reprap.org/wiki/Calibration + * http://youtu.be/wAL9d7FgInk + * http://calculator.josefprusa.cz + * http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide + * http://www.thingiverse.com/thing:5573 + * https://sites.google.com/site/repraplogphase/calibration-of-your-reprap + * http://www.thingiverse.com/thing:298812 +*/ + + // This configuration file contains the basic settings. // Advanced settings can be found in Configuration_adv.h // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + //=========================================================================== //============================= DELTA Printer =============================== //=========================================================================== @@ -14,6 +30,7 @@ // example_configurations/delta directory. // + //=========================================================================== //============================= SCARA Printer =============================== //=========================================================================== @@ -66,8 +83,9 @@ // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. // #define PS_DEFAULT_OFF + //=========================================================================== -//=============================Thermal Settings ============================ +//============================= Thermal Settings ============================ //=========================================================================== // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -145,7 +163,12 @@ //#define EXTRUDER_WATTS (12.0*12.0/6.7) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R -// PID settings: + +//=========================================================================== +//============================= PID Settings ================================ +//=========================================================================== +// PID Tuning Guide here: http://reprap.org/wiki/PID_Tuning + // Comment the following line to disable PID and enable bang-bang. #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current @@ -181,7 +204,10 @@ // #define DEFAULT_Kd 440 #endif // PIDTEMP -// Bed Temperature Control + +//=========================================================================== +//============================= PID > Bed Temperature Control =============== +//=========================================================================== // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. @@ -218,7 +244,6 @@ #endif // PIDTEMPBED - //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //can be software-disabled for whatever purposes by #define PREVENT_DANGEROUS_EXTRUDE @@ -228,7 +253,11 @@ #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -/*================== Thermal Runaway Protection ============================== + ++//=========================================================================== ++//============================= Thermal Runaway Protection ================== ++//=========================================================================== ++/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). @@ -263,11 +292,10 @@ your extruder heater takes 2 minutes to hit the target on heating. // Parameters for the bed heater //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius -//=========================================================================== //=========================================================================== -//=============================Mechanical Settings=========================== +//============================ Mechanical Settings ========================== //=========================================================================== // Uncomment the following line to enable CoreXY kinematics @@ -339,7 +367,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. -// Travel limits after homing +// Travel limits after homing (units are in mm) #define X_MAX_POS 205 #define X_MIN_POS 0 #define Y_MAX_POS 205 @@ -350,7 +378,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) + + +//=========================================================================== //============================= Bed Auto Leveling =========================== +//=========================================================================== //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. @@ -489,8 +521,9 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) + //=========================================================================== -//=============================Additional Features=========================== +//============================ Additional Features ========================== //=========================================================================== // Custom M code points From 5bb3933b21a5395ea10064afa35b46beb4f7ad7b Mon Sep 17 00:00:00 2001 From: DocDawning Date: Mon, 2 Feb 2015 14:18:53 -0700 Subject: [PATCH 105/132] Fixed n00bsauce --- .../example_configurations/tvrrug/Round2/Configuration.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 47a6c3e054..3a255d9862 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -254,10 +254,10 @@ Here are some standard links for getting your machine calibrated: #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. -+//=========================================================================== -+//============================= Thermal Runaway Protection ================== -+//=========================================================================== -+/* +//=========================================================================== +//============================= Thermal Runaway Protection ================== +//=========================================================================== +/* This is a feature to protect your printer from burn up in flames if it has a thermistor coming off place (this happened to a friend of mine recently and motivated me writing this feature). From b3973ed2242392051c0c8d8eb7948f3ce52a6f71 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 2 Feb 2015 22:33:58 -0800 Subject: [PATCH 106/132] Fix HD44780 misspelled as HD44870 --- Marlin/Configuration.h | 4 ++-- Marlin/example_configurations/Hephestos/Configuration.h | 4 ++-- Marlin/example_configurations/K8200/Configuration.h | 4 ++-- Marlin/example_configurations/SCARA/Configuration.h | 4 ++-- Marlin/example_configurations/WITBOX/Configuration.h | 4 ++-- Marlin/example_configurations/delta/Configuration.h | 4 ++-- Marlin/example_configurations/makibox/Configuration.h | 4 ++-- Marlin/example_configurations/tvrrug/Round2/Configuration.h | 4 ++-- Marlin/language.h | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 35cb4d49f7..ceaa72adad 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -561,8 +561,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 95099a9460..2bf435fb0d 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -567,8 +567,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. #define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 71a965df19..d6cc80c815 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -575,8 +575,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 4667c1c936..4ee789e93f 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -570,8 +570,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index f7dbe47c3f..d5d20fd44c 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -571,8 +571,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. #define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/delta/Configuration.h b/Marlin/example_configurations/delta/Configuration.h index 9648e42b29..267ea304a8 100644 --- a/Marlin/example_configurations/delta/Configuration.h +++ b/Marlin/example_configurations/delta/Configuration.h @@ -475,8 +475,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index d4a84d5bfe..cd22cc9c02 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -545,8 +545,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index ddbbe16c52..d6098b515f 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -558,8 +558,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support // Character based displays can have different extended charsets. -#define DISPLAY_CHARSET_HD44870_JAPAN // "ääööüüß23°" -//#define DISPLAY_CHARSET_HD44870_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. +#define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" +//#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. //#define ULTRA_LCD //general LCD support, also 16x2 //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) diff --git a/Marlin/language.h b/Marlin/language.h index 97f53b541a..27a5793c49 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -176,7 +176,7 @@ #define STR_Deg "\260" // '°' #define STR_THERMOMETER "\377" #else - #ifdef DISPLAY_CHARSET_HD44870_JAPAN // HD44870 ROM Code: A00 (Japan) + #ifdef DISPLAY_CHARSET_HD44780_JAPAN // HD44780 ROM Code: A00 (Japan) #define STR_ae "\xe1" #define STR_Ae STR_ae #define STR_oe "\357" @@ -189,7 +189,7 @@ #define STR_Deg "\271" #define STR_THERMOMETER "\002" #endif - #ifdef DISPLAY_CHARSET_HD44870_WESTERN // HD44870 ROM Code: A02 (Western) + #ifdef DISPLAY_CHARSET_HD44780_WESTERN // HD44780 ROM Code: A02 (Western) #define STR_Ae "\216" #define STR_ae "\204" #define STR_Oe "\211" From f5fd94d62a4bc725d4b658869a7cab48c068860d Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 08:56:00 +0100 Subject: [PATCH 107/132] Kick suspicious loop an win 72 bytes. No visible impact. --- Marlin/dogm_lcd_implementation.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index ffc323c5a5..ee8c44d633 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -107,15 +107,6 @@ static void lcd_implementation_init() u8g.setRot270(); // Rotate screen by 270° #endif - // FIXME: whats the purpose of the box? Maybe clear screen? - u8g.firstPage(); - do { - u8g.setFont(u8g_font_6x10_marlin); - u8g.setColorIndex(1); - u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight()); - u8g.setColorIndex(1); - } while(u8g.nextPage()); - // Show splashscreen int offx = (u8g.getWidth() - START_BMPWIDTH) / 2; int offy = (u8g.getHeight() - 18 - START_BMPHEIGHT) / 2; From 3602474c25dbd81e1e5e991966c2d99d8d49f0da Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 09:07:57 +0100 Subject: [PATCH 108/132] Replace solitaire use of u8g_font_5x8 font and replace with u8g_font_6x10_marlin and win another 1694 bytes. --- Marlin/dogm_lcd_implementation.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index ee8c44d633..e901a7da22 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -110,13 +110,13 @@ static void lcd_implementation_init() // Show splashscreen int offx = (u8g.getWidth() - START_BMPWIDTH) / 2; int offy = (u8g.getHeight() - 18 - START_BMPHEIGHT) / 2; - int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*5) / 2; // 5 is fontwidth in pixel + int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*6) / 2; // 6 is fontwidth in pixel int txtY = u8g.getHeight() - 10; u8g.firstPage(); do { u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); - u8g.setFont(u8g_font_5x8); + u8g.setFont(u8g_font_6x10_marlin); u8g.drawStr(txtX, txtY, STRING_SPLASH); } while(u8g.nextPage()); } From c20606b8d75b08cf3da7af2e10cbe1b15beb2893 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 09:52:29 +0100 Subject: [PATCH 109/132] Replaced some literal constants with defines Replaced calculation to centre bitmap with fixed values. Saved 20 bytes. --- Marlin/DOGMbitmaps.h | 4 +++- Marlin/dogm_lcd_implementation.h | 10 +++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Marlin/DOGMbitmaps.h b/Marlin/DOGMbitmaps.h index b735477e3f..8c8356785a 100644 --- a/Marlin/DOGMbitmaps.h +++ b/Marlin/DOGMbitmaps.h @@ -1,6 +1,8 @@ // BitMap for splashscreen // Generated with: http://www.digole.com/tools/PicturetoC_Hex_converter.php -// Please note that using the high-res version takes about 0.5KB of +// Please note that using the high-res version takes 402Bytes of PROGMEM. +//#define START_BMPHIGH + #ifdef START_BMPHIGH #define START_BMPWIDTH 112 #define START_BMPHEIGHT 38 diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index e901a7da22..7b7c319944 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -109,9 +109,13 @@ static void lcd_implementation_init() // Show splashscreen int offx = (u8g.getWidth() - START_BMPWIDTH) / 2; - int offy = (u8g.getHeight() - 18 - START_BMPHEIGHT) / 2; - int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*6) / 2; // 6 is fontwidth in pixel - int txtY = u8g.getHeight() - 10; + #ifdef START_BMPHIGH + int offy = 0; + #else + int offy = DOG_CHAR_HEIGHT; + #endif + int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*DOG_CHAR_WIDTH) / 2; + int txtY = u8g.getHeight() - DOG_CHAR_HEIGHT; u8g.firstPage(); do { u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); From f9cc1df00b63e1ad524f5f4c14bb5c6321974b1c Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 11:14:27 +0100 Subject: [PATCH 110/132] Droped URL from bootsplash. --- Marlin/Configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index ceaa72adad..10988be83b 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -42,7 +42,7 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH "v" STRING_VERSION // will be shown during bootup // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. From 65642592eef1a3a20424c56561c84476befaabc4 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 12:25:36 +0100 Subject: [PATCH 111/132] Added dualline version. --- Marlin/Configuration.h | 3 ++- Marlin/dogm_lcd_implementation.h | 16 +++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 10988be83b..613a79d29d 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -42,7 +42,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 7b7c319944..c5d10e17b3 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -114,14 +114,20 @@ static void lcd_implementation_init() #else int offy = DOG_CHAR_HEIGHT; #endif - int txtX = (u8g.getWidth() - (sizeof(STRING_SPLASH) - 1)*DOG_CHAR_WIDTH) / 2; - int txtY = u8g.getHeight() - DOG_CHAR_HEIGHT; + + int txt1X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE1) - 1)*DOG_CHAR_WIDTH) / 2; + u8g.firstPage(); do { - u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); - + u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); u8g.setFont(u8g_font_6x10_marlin); - u8g.drawStr(txtX, txtY, STRING_SPLASH); + #ifndef STRING_SPLASH_LINE2 + u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT, STRING_SPLASH_LINE1); + #else + int txt2X = (u8g.getWidth() - (sizeof(STRING_SPLASH_LINE2) - 1)*DOG_CHAR_WIDTH) / 2; + u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT*3/2, STRING_SPLASH_LINE1); + u8g.drawStr(txt2X, u8g.getHeight() - DOG_CHAR_HEIGHT*1/2, STRING_SPLASH_LINE2); + #endif } while(u8g.nextPage()); } From b1dbd765c6a38b52cbefd32098ec4cf971076237 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 13:10:09 +0100 Subject: [PATCH 112/132] Centralise definition of fonts for DOGM displays Prework for issue #1448 and #1447 Will merge in when pull request #1457 is in. --- Marlin/dogm_lcd_implementation.h | 29 ++++++++++++++++++++--------- Marlin/ultralcd.cpp | 2 +- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index c5d10e17b3..6350684fca 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -51,11 +51,24 @@ #endif */ +#define USE_BIG_EDIT_FONT +#define FONT_STATUSMENU u8g_font_6x9 +#define FONT_MENU u8g_font_6x10_marlin + // DOGM parameters (size in pixels) #define DOG_CHAR_WIDTH 6 #define DOG_CHAR_HEIGHT 12 -#define DOG_CHAR_WIDTH_LARGE 9 -#define DOG_CHAR_HEIGHT_LARGE 18 +#ifdef USE_BIG_EDIT_FONT + #define FONT_MENU_EDIT u8g_font_9x18 + #define DOG_CHAR_WIDTH_EDIT 9 + #define DOG_CHAR_HEIGHT_EDIT 18 + #define LCD_WIDTH_EDIT 14 +#else + #define FONT_MENU_EDIT u8g_font_6x10_marlin + #define DOG_CHAR_WIDTH_EDIT 6 + #define DOG_CHAR_HEIGHT_EDIT 12 + #define LCD_WIDTH_EDIT 22 +#endif #define START_ROW 0 @@ -70,8 +83,6 @@ #define LCD_STR_BEDTEMP "\xFE" #define LCD_STR_THERMOMETER "\xFF" -#define FONT_STATUSMENU u8g_font_6x9 - int lcd_contrast; // LCD selection @@ -120,7 +131,7 @@ static void lcd_implementation_init() u8g.firstPage(); do { u8g.drawBitmapP(offx, offy, START_BMPBYTEWIDTH, START_BMPHEIGHT, start_bmp); - u8g.setFont(u8g_font_6x10_marlin); + u8g.setFont(FONT_MENU); #ifndef STRING_SPLASH_LINE2 u8g.drawStr(txt1X, u8g.getHeight() - DOG_CHAR_HEIGHT, STRING_SPLASH_LINE1); #else @@ -245,7 +256,7 @@ static void lcd_implementation_status_screen() { u8g.setColorIndex(1); // black on white // Feedrate - u8g.setFont(u8g_font_6x10_marlin); + u8g.setFont(FONT_MENU); u8g.setPrintPos(3,49); u8g.print(LCD_STR_FEEDRATE[0]); u8g.setFont(FONT_STATUSMENU); @@ -364,11 +375,11 @@ static void _drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char p #define lcd_implementation_drawmenu_setting_edit_callback_bool(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF)) void lcd_implementation_drawedit(const char* pstr, char* value) { - u8g.setPrintPos(0 * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW ); - u8g.setFont(u8g_font_9x18); + u8g.setPrintPos(0 * DOG_CHAR_WIDTH_EDIT, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_EDIT) - (1 * DOG_CHAR_HEIGHT_EDIT) - START_ROW ); + u8g.setFont(FONT_MENU_EDIT); lcd_printPGM(pstr); u8g.print(':'); - u8g.setPrintPos((14 - strlen(value)) * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW ); + u8g.setPrintPos((14 - strlen(value)) * DOG_CHAR_WIDTH_EDIT, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_EDIT) - (1 * DOG_CHAR_HEIGHT_EDIT) - START_ROW ); u8g.print(value); } diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 3335b9aa99..cd7380886b 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -1323,7 +1323,7 @@ void lcd_update() u8g.firstPage(); do { - u8g.setFont(u8g_font_6x10_marlin); + u8g.setFont(FONT_MENU); u8g.setPrintPos(125,0); if (blink % 2) u8g.setColorIndex(1); else u8g.setColorIndex(0); // Set color for the alive dot u8g.drawPixel(127,63); // draw alive dot From 0c24bb6cfce1b97b28825efb157335de8593ef97 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 14:21:43 +0100 Subject: [PATCH 113/132] Adjust LCD_WIDTH to make better use of DOGM LCDs --- Marlin/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index ceaa72adad..6f8d238b39 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -709,7 +709,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define SDSUPPORT #define ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the DOG graphic display - #define LCD_WIDTH 20 + #define LCD_WIDTH 22 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 20 @@ -718,7 +718,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #else //no panel but just LCD #ifdef ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display - #define LCD_WIDTH 20 + #define LCD_WIDTH 22 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 16 From 2abf1ad940f9b8ed359276afe975751c771de210 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 17:59:04 +0100 Subject: [PATCH 114/132] Distribute recent changes in Configuration.h to the examples. --- Marlin/example_configurations/Hephestos/Configuration.h | 3 ++- Marlin/example_configurations/K8200/Configuration.h | 3 ++- Marlin/example_configurations/SCARA/Configuration.h | 3 ++- Marlin/example_configurations/WITBOX/Configuration.h | 3 ++- Marlin/example_configurations/delta/Configuration.h | 3 ++- Marlin/example_configurations/makibox/Configuration.h | 3 ++- Marlin/example_configurations/tvrrug/Round2/Configuration.h | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 2bf435fb0d..2823f2d95c 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -42,7 +42,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(bq Hephestos)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index d6cc80c815..7c61944a7c 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -43,7 +43,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(K8200, CONSULitAS)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 4ee789e93f..8bc4eb70e9 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -62,7 +62,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index d5d20fd44c..4a12bda515 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -44,7 +44,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(bq Witbox)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/delta/Configuration.h b/Marlin/example_configurations/delta/Configuration.h index 267ea304a8..3eb268041a 100644 --- a/Marlin/example_configurations/delta/Configuration.h +++ b/Marlin/example_configurations/delta/Configuration.h @@ -37,7 +37,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index cd22cc9c02..99feceba8c 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -46,7 +46,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index d6098b515f..4ca415d8ff 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -45,7 +45,8 @@ Here are some standard links for getting your machine calibrated: #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. -#define STRING_SPLASH "v" STRING_VERSION " - " STRING_URL // will be shown during bootup +#define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 +//#define STRING_SPLASH_LINE2 STRING_VERSION_CONFIG_H // will be shown during bootup in line2 // SERIAL_PORT selects which serial port should be used for communication with the host. // This allows the connection of wireless adapters (for instance) to non-default port pins. From b97a950f531898a2aa1bf6f3e7fc469bd259b43c Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 3 Feb 2015 09:57:16 -0800 Subject: [PATCH 115/132] Apply fix for M600 filament change - Patch from #1453 for delta movement plan - Fix: Set X with code X instead of adding to X --- Marlin/Marlin_main.cpp | 48 +++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index cff7ee6bf2..463b503432 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -3598,16 +3598,17 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp #ifdef FILAMENTCHANGEENABLE case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] { - float target[4]; - float lastpos[4]; - target[X_AXIS]=current_position[X_AXIS]; - target[Y_AXIS]=current_position[Y_AXIS]; - target[Z_AXIS]=current_position[Z_AXIS]; - target[E_AXIS]=current_position[E_AXIS]; - lastpos[X_AXIS]=current_position[X_AXIS]; - lastpos[Y_AXIS]=current_position[Y_AXIS]; - lastpos[Z_AXIS]=current_position[Z_AXIS]; - lastpos[E_AXIS]=current_position[E_AXIS]; + float target[NUM_AXIS], lastpos[NUM_AXIS], fr60 = feedrate/60; + for (int i=0; i or disp target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT ; #endif } - plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); + RUNPLAN; //lift Z if(code_seen('Z')) @@ -3632,12 +3633,12 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp target[Z_AXIS]+= FILAMENTCHANGE_ZADD ; #endif } - plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); + RUNPLAN; //move xy if(code_seen('X')) { - target[X_AXIS]+= code_value(); + target[X_AXIS]= code_value(); } else { @@ -3656,7 +3657,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp #endif } - plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); + RUNPLAN; if(code_seen('L')) { @@ -3669,7 +3670,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp #endif } - plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); + RUNPLAN; //finish moves st_synchronize(); @@ -3717,10 +3718,19 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp } current_position[E_AXIS]=target[E_AXIS]; //the long retract of L is compensated by manual filament feeding plan_set_e_position(current_position[E_AXIS]); - plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //should do nothing - plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move xy back - plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], feedrate/60, active_extruder); //move z back - plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], lastpos[E_AXIS], feedrate/60, active_extruder); //final untretract + + RUNPLAN; //should do nothing + + #ifdef DELTA + calculate_delta(lastpos); + plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], target[E_AXIS], fr60, active_extruder); //move xyz back + plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], lastpos[E_AXIS], fr60, active_extruder); //final untretract + #else + plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], fr60, active_extruder); //should do nothing + plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], fr60, active_extruder); //move xy back + plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], fr60, active_extruder); //move z back + plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], lastpos[E_AXIS], fr60, active_extruder); //final untretract + #endif } break; #endif //FILAMENTCHANGEENABLE From 9381bfe7f9acfa51a69886c38d975ae1459bfa49 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 20:15:16 +0100 Subject: [PATCH 116/132] Fixes issue #1447 - Overlapping of long descriptions with values. --- Marlin/dogm_lcd_implementation.h | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 6350684fca..27f1fadbcd 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -51,7 +51,7 @@ #endif */ -#define USE_BIG_EDIT_FONT +#define USE_BIG_EDIT_FONT // save 3120 bytes of PROGMEM by commenting out this line #define FONT_STATUSMENU u8g_font_6x9 #define FONT_MENU u8g_font_6x10_marlin @@ -65,9 +65,9 @@ #define LCD_WIDTH_EDIT 14 #else #define FONT_MENU_EDIT u8g_font_6x10_marlin - #define DOG_CHAR_WIDTH_EDIT 6 + #define DOG_CHAR_WIDTH_EDIT 6 #define DOG_CHAR_HEIGHT_EDIT 12 - #define LCD_WIDTH_EDIT 22 + #define LCD_WIDTH_EDIT 22 #endif #define START_ROW 0 @@ -375,11 +375,28 @@ static void _drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char p #define lcd_implementation_drawmenu_setting_edit_callback_bool(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF)) void lcd_implementation_drawedit(const char* pstr, char* value) { - u8g.setPrintPos(0 * DOG_CHAR_WIDTH_EDIT, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_EDIT) - (1 * DOG_CHAR_HEIGHT_EDIT) - START_ROW ); - u8g.setFont(FONT_MENU_EDIT); + uint8_t rows = 1; + uint8_t lcd_width = LCD_WIDTH; + uint8_t char_width = DOG_CHAR_WIDTH; + +#ifdef USE_BIG_EDIT_FONT + if (strlen_P(pstr) <= LCD_WIDTH_EDIT - 1) { + u8g.setFont(FONT_MENU_EDIT); + lcd_width = LCD_WIDTH_EDIT + 1; + char_width = DOG_CHAR_WIDTH_EDIT; + if (strlen_P(pstr) >= LCD_WIDTH_EDIT - strlen(value)) rows = 2; + } + else { + u8g.setFont(FONT_MENU); + } +#endif + + if ( strlen_P(pstr) > LCD_WIDTH - 2 - strlen(value) ) rows = 2; + + u8g.setPrintPos( 0, u8g.getHeight() * 1/(1+rows) + DOG_CHAR_HEIGHT_EDIT/2); //1/(1+rows) = 1/2 or 1/3 lcd_printPGM(pstr); u8g.print(':'); - u8g.setPrintPos((14 - strlen(value)) * DOG_CHAR_WIDTH_EDIT, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_EDIT) - (1 * DOG_CHAR_HEIGHT_EDIT) - START_ROW ); + u8g.setPrintPos((lcd_width-1-strlen(value))*char_width, u8g.getHeight()*rows/(1+rows) + DOG_CHAR_HEIGHT_EDIT/2); //rows/(1+rows) = 1/2 or 2/3 u8g.print(value); } From 0cb1029311fc5bc32cfd88dd03010decb25029b0 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 3 Feb 2015 11:26:36 -0800 Subject: [PATCH 117/132] remove extra plan_buffer_line --- Marlin/Marlin_main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 463b503432..e42b33f41b 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -3726,7 +3726,6 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], target[E_AXIS], fr60, active_extruder); //move xyz back plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], lastpos[E_AXIS], fr60, active_extruder); //final untretract #else - plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], fr60, active_extruder); //should do nothing plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], fr60, active_extruder); //move xy back plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], fr60, active_extruder); //move z back plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], lastpos[E_AXIS], fr60, active_extruder); //final untretract From 8663f4bbaf38afad897d33b6ecef3ae82d1f71b8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 3 Feb 2015 11:48:49 -0800 Subject: [PATCH 118/132] Apply some cleanup for recent merge Combine 1/(rows+1) with u8g.getHeight() to get rowHeight and just use that. --- Marlin/dogm_lcd_implementation.h | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 27f1fadbcd..0ddf18c575 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -379,24 +379,27 @@ void lcd_implementation_drawedit(const char* pstr, char* value) { uint8_t lcd_width = LCD_WIDTH; uint8_t char_width = DOG_CHAR_WIDTH; -#ifdef USE_BIG_EDIT_FONT - if (strlen_P(pstr) <= LCD_WIDTH_EDIT - 1) { - u8g.setFont(FONT_MENU_EDIT); - lcd_width = LCD_WIDTH_EDIT + 1; - char_width = DOG_CHAR_WIDTH_EDIT; - if (strlen_P(pstr) >= LCD_WIDTH_EDIT - strlen(value)) rows = 2; - } - else { - u8g.setFont(FONT_MENU); - } -#endif + #ifdef USE_BIG_EDIT_FONT + if (strlen_P(pstr) <= LCD_WIDTH_EDIT - 1) { + u8g.setFont(FONT_MENU_EDIT); + lcd_width = LCD_WIDTH_EDIT + 1; + char_width = DOG_CHAR_WIDTH_EDIT; + if (strlen_P(pstr) >= LCD_WIDTH_EDIT - strlen(value)) rows = 2; + } + else { + u8g.setFont(FONT_MENU); + } + #endif - if ( strlen_P(pstr) > LCD_WIDTH - 2 - strlen(value) ) rows = 2; + if (strlen_P(pstr) > LCD_WIDTH - 2 - strlen(value)) rows = 2; - u8g.setPrintPos( 0, u8g.getHeight() * 1/(1+rows) + DOG_CHAR_HEIGHT_EDIT/2); //1/(1+rows) = 1/2 or 1/3 + const float kHalfChar = DOG_CHAR_HEIGHT_EDIT / 2; + float rowHeight = u8g.getHeight() / (rows + 1); // 1/(rows+1) = 1/2 or 1/3 + + u8g.setPrintPos(0, rowHeight + kHalfChar); lcd_printPGM(pstr); u8g.print(':'); - u8g.setPrintPos((lcd_width-1-strlen(value))*char_width, u8g.getHeight()*rows/(1+rows) + DOG_CHAR_HEIGHT_EDIT/2); //rows/(1+rows) = 1/2 or 2/3 + u8g.setPrintPos((lcd_width-1-strlen(value)) * char_width, rows * rowHeight + kHalfChar); u8g.print(value); } From f70888480809bf2365284da0b02162bf7b139ea2 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 3 Feb 2015 23:35:33 +0100 Subject: [PATCH 119/132] Introduced new function lcd_implementation_mark_as_selected() New function now drops the prechar (select character) and makes the first column usable for text. Marking the line is now constantly made by highlighting (reverse). Replaced selection code in: lcd_implementation_drawmenu_generic() _drawmenu_setting_edit_generic() _drawmenu_sd() with new function. --- Marlin/dogm_lcd_implementation.h | 43 +++++++++++--------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 6350684fca..06d8c27893 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -283,12 +283,8 @@ static void lcd_implementation_status_screen() { #endif } -static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, char pre_char, char post_char) { - char c; - - uint8_t n = LCD_WIDTH - 1 - 2; - - if ((pre_char == '>') || (pre_char == LCD_STR_UPLEVEL[0] )) { +static void lcd_implementation_mark_as_selected(uint8_t row, char pr_char) { + if ((pr_char == '>') || (pr_char == LCD_STR_UPLEVEL[0] )) { u8g.setColorIndex(1); // black on white u8g.drawBox (0, row*DOG_CHAR_HEIGHT + 3, 128, DOG_CHAR_HEIGHT); u8g.setColorIndex(0); // following text must be white on black @@ -296,9 +292,14 @@ static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, c else { u8g.setColorIndex(1); // unmarked text is black on white } - - u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT); - u8g.print(pre_char == '>' ? ' ' : pre_char); // Row selector is obsolete + u8g.setPrintPos(START_ROW * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT); +} + +static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, char pre_char, char post_char) { + char c; + uint8_t n = LCD_WIDTH - 2; + + lcd_implementation_mark_as_selected(row, pre_char); while((c = pgm_read_byte(pstr))) { u8g.print(c); @@ -306,29 +307,23 @@ static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, c n--; } while(n--) u8g.print(' '); - u8g.print(post_char); u8g.print(' '); - u8g.setColorIndex(1); // restore settings to black on white } static void _drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char pre_char, const char* data, bool pgm) { char c; - uint8_t n = LCD_WIDTH - 1 - 2 - (pgm ? strlen_P(data) : strlen(data)); + uint8_t n = LCD_WIDTH - 2 - (pgm ? strlen_P(data) : (strlen(data))); - u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT); - u8g.print(pre_char); + lcd_implementation_mark_as_selected(row, pre_char); - while( (c = pgm_read_byte(pstr)) != '\0' ) { + while( (c = pgm_read_byte(pstr))) { u8g.print(c); pstr++; n--; } - u8g.print(':'); - while(n--) u8g.print(' '); - if (pgm) { lcd_printPGM(data); } else { u8g.print(data); } } @@ -392,25 +387,15 @@ static void _drawmenu_sd(uint8_t row, const char* pstr, const char* filename, ch longFilename[n] = '\0'; } - if (isSelected) { - u8g.setColorIndex(1); // black on white - u8g.drawBox (0, row*DOG_CHAR_HEIGHT + 3, 128, DOG_CHAR_HEIGHT); - u8g.setColorIndex(0); // following text must be white on black - } - - u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT); - u8g.print(' '); // Indent by 1 char + lcd_implementation_mark_as_selected(row, ((isSelected) ? '>' : ' ')); if (isDir) u8g.print(LCD_STR_FOLDER[0]); - while((c = *filename) != '\0') { u8g.print(c); filename++; n--; } while(n--) u8g.print(' '); - - if (isSelected) u8g.setColorIndex(1); // black on white } #define lcd_implementation_drawmenu_sdfile_selected(row, pstr, filename, longFilename) _drawmenu_sd(row, pstr, filename, longFilename, false, true) From 0575dd10de76338d89f9502e59f6e6044de4431b Mon Sep 17 00:00:00 2001 From: CONSULitAS Date: Wed, 4 Feb 2015 00:15:50 +0100 Subject: [PATCH 120/132] K8200: Example Configuration.h back in sync Example Configuration.h for K8200 back in sync * Configuration.h: rebased and added missing changes * Configuration.h: updated comments for K8200 --- Marlin/example_configurations/K8200/Configuration.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 7c61944a7c..406091ea05 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -1,6 +1,6 @@ -#ifndef CONFIGURATION_H +#ifndef CONFIGURATION_H #define CONFIGURATION_H - + #include "boards.h" @@ -521,7 +521,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of // default settings -#define DEFAULT_AXIS_STEPS_PER_UNIT {64.25,64.25,2560,600} // default steps per unit for Ultimaker +#define DEFAULT_AXIS_STEPS_PER_UNIT {64.25,64.25,2560,600} // default steps per unit for K8200 #define DEFAULT_MAX_FEEDRATE {500, 500, 5, 500} // (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. @@ -575,6 +575,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //LCD and SD support +// VM8201 (LCD Option for K8200) uses "DISPLAY_CHARSET_HD44870_JAPAN" and "ULTIMAKERCONTROLLER" + // Character based displays can have different extended charsets. #define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" //#define DISPLAY_CHARSET_HD44780_WESTERN // "ÄäÖöÜüß²³°" if you see a '~' instead of a 'arrow_right' at the right of submenuitems - this is the right one. @@ -586,9 +588,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of //#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication //#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder //#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking - #define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. - //#define ULTIPANEL //the UltiPanel as on Thingiverse //#define LCD_FEEDBACK_FREQUENCY_HZ 1000 // this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click From c421ffd52027d56e3b8db96a9c2a84055b9d1e3a Mon Sep 17 00:00:00 2001 From: CONSULitAS Date: Wed, 4 Feb 2015 00:19:18 +0100 Subject: [PATCH 121/132] K8200: Example Configuration_adv.h back in sync Example Configuration_adv.h for K8200 back in sync * Configuration_adv.h: rebased and added missing changes for 4th extruder --- .../K8200/Configuration_adv.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Marlin/example_configurations/K8200/Configuration_adv.h b/Marlin/example_configurations/K8200/Configuration_adv.h index e54fe3b781..a7f55854cd 100644 --- a/Marlin/example_configurations/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/K8200/Configuration_adv.h @@ -75,9 +75,10 @@ // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE. // Multiple extruders can be assigned to the same pin in which case // the fan will turn on when any selected extruder is above the threshold. -#define EXTRUDER_0_AUTO_FAN_PIN -1 -#define EXTRUDER_1_AUTO_FAN_PIN -1 -#define EXTRUDER_2_AUTO_FAN_PIN -1 +#define EXTRUDER_0_AUTO_FAN_PIN -1 +#define EXTRUDER_1_AUTO_FAN_PIN -1 +#define EXTRUDER_2_AUTO_FAN_PIN -1 +#define EXTRUDER_3_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -483,6 +484,10 @@ const unsigned int dropsegments=5; //everything with less than this number of st #define THERMISTORHEATER_2 TEMP_SENSOR_2 #define HEATER_2_USES_THERMISTOR #endif +#if TEMP_SENSOR_3 > 0 + #define THERMISTORHEATER_3 TEMP_SENSOR_3 + #define HEATER_3_USES_THERMISTOR +#endif #if TEMP_SENSOR_BED > 0 #define THERMISTORBED TEMP_SENSOR_BED #define BED_USES_THERMISTOR @@ -496,6 +501,9 @@ const unsigned int dropsegments=5; //everything with less than this number of st #if TEMP_SENSOR_2 == -1 #define HEATER_2_USES_AD595 #endif +#if TEMP_SENSOR_3 == -1 + #define HEATER_3_USES_AD595 +#endif #if TEMP_SENSOR_BED == -1 #define BED_USES_AD595 #endif @@ -514,6 +522,10 @@ const unsigned int dropsegments=5; //everything with less than this number of st #undef HEATER_2_MINTEMP #undef HEATER_2_MAXTEMP #endif +#if TEMP_SENSOR_3 == 0 + #undef HEATER_3_MINTEMP + #undef HEATER_3_MAXTEMP +#endif #if TEMP_SENSOR_BED == 0 #undef BED_MINTEMP #undef BED_MAXTEMP From 0de5083aff962139f4b0f7fc5a792d480a42ec3f Mon Sep 17 00:00:00 2001 From: CONSULitAS Date: Wed, 4 Feb 2015 00:24:51 +0100 Subject: [PATCH 122/132] K8200: Example Configurations readme.md updated Example Configurations for K8200 readme.md updated * readme.md: added description for german umlaut support on LCD --- Marlin/example_configurations/K8200/readme.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Marlin/example_configurations/K8200/readme.md b/Marlin/example_configurations/K8200/readme.md index 8b343d2420..79cb6e039e 100644 --- a/Marlin/example_configurations/K8200/readme.md +++ b/Marlin/example_configurations/K8200/readme.md @@ -1,9 +1,12 @@ # Example Configuration for Vellemann K8200 -* Configuration files for **Vellemann K8200** (with VM8201 LCD/SD-Support) +* Configuration files for **Vellemann K8200** (with VM8201 - LCD Option for K8200) * K8200 is a 3Drag clone - configuration should work with 3Drag http://reprap.org/wiki/3drag, too. Please report. * updated manually with parameters form genuine Vellemann Firmware "firmware_k8200_marlinv2" based on the recent development branch +* VM8201 uses "DISPLAY_CHARSET_HD44870_JAPAN" and "ULTIMAKERCONTROLLER" +* german (de) translation with umlaut is supported now - thanks to @AnHardt for the great hardware based umlaut support + I (@CONSULitAS) tested the changes on my K8200 with 20x4-LCD and Arduino 1.0.5 for Windows (SD library added to IDE manually) - everything works well. **Source for genuine Vellemann Firmware V2 (with LCD/SD-Support):** From cfbb94a2a8ddbe0cd139adcd9bbee5b7d53b848e Mon Sep 17 00:00:00 2001 From: CONSULitAS Date: Wed, 4 Feb 2015 10:35:10 +0100 Subject: [PATCH 123/132] K8200: Example Configuration.h fixed Example Configuration.h: fixed strange white characters preventing compilation in lines 1 and 3 - oops --- Marlin/example_configurations/K8200/Configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 406091ea05..06e944b194 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -1,6 +1,6 @@ -#ifndef CONFIGURATION_H +#ifndef CONFIGURATION_H #define CONFIGURATION_H - + #include "boards.h" From 72856166a962d48666466a33d04cab501708c372 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 6 Feb 2015 14:43:58 -0800 Subject: [PATCH 124/132] Fix bad typo in ConfigurationStore.cpp --- Marlin/ConfigurationStore.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/ConfigurationStore.cpp b/Marlin/ConfigurationStore.cpp index 47f80802f1..b80aa038da 100644 --- a/Marlin/ConfigurationStore.cpp +++ b/Marlin/ConfigurationStore.cpp @@ -160,7 +160,7 @@ void Config_StoreSettings() { EEPROM_WRITE_VAR(i, PID_PARAM(Kc, e)); #else dummy = 1.0f; // 1.0 = default kc - EEPROM_WRITE_VAR(dummmy); + EEPROM_WRITE_VAR(i, dummy); #endif } else { From aa67b38a44561ab0dc004f6e10af4e2d81e65bb5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 7 Feb 2015 02:44:35 -0800 Subject: [PATCH 125/132] Fan speed and 4th extruder on graphical LCD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Display fan speed 0-1 as “—“ and 254-255 as “100%”. - Display 4th extruder instead of the heated bed --- Marlin/dogm_lcd_implementation.h | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/Marlin/dogm_lcd_implementation.h b/Marlin/dogm_lcd_implementation.h index 220621d475..1ccff63e3f 100644 --- a/Marlin/dogm_lcd_implementation.h +++ b/Marlin/dogm_lcd_implementation.h @@ -199,7 +199,7 @@ static void lcd_implementation_status_screen() { u8g.setPrintPos(80,47); if (starttime != 0) { - uint16_t time = millis()/60000 - starttime/60000; + uint16_t time = (millis() - starttime) / 60000; u8g.print(itostr2(time/60)); u8g.print(':'); u8g.print(itostr2(time%60)); @@ -210,26 +210,25 @@ static void lcd_implementation_status_screen() { #endif // Extruders - _draw_heater_status(6, 0); - #if EXTRUDERS > 1 - _draw_heater_status(31, 1); - #if EXTRUDERS > 2 - _draw_heater_status(55, 2); - #endif - #endif + for (int i=0; i -1 - u8g.print(itostr3(int((fanSpeed*100)/256 + 1))); - u8g.print("%"); - #else - u8g.print("---"); + int per = ((fanSpeed + 1) * 100) / 256; + if (per) { + u8g.print(itostr3(per)); + u8g.print("%"); + } + else #endif + { + u8g.print("---"); + } // X, Y, Z-Coordinates u8g.setFont(FONT_STATUSMENU); From 8e9272914130fb795498f580cdc91364a91462d1 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 8 Feb 2015 13:45:22 +0100 Subject: [PATCH 126/132] Make display language configurable in Configuration.h --- Marlin/Configuration.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 770c86eb1e..9b422a812c 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -559,7 +559,12 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of #define ABS_PREHEAT_HPB_TEMP 100 #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 -//LCD and SD support +//==============================LCD and SD support============================= + +// Define your display language below. Replace (en) with your language code and uncomment. +// en, pl, fr, de, es, ru, it, pt, pt-br, fi, an, nl, ca, eu +// See also language.h +//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en) // Character based displays can have different extended charsets. #define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" From 488633bf4426987b21778436eadfc3c2e2f54a9e Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 8 Feb 2015 14:26:24 +0100 Subject: [PATCH 127/132] #include "language_en.h" before the national language in language.h + May decrease the workload for feature developers. They may omit to update all the language files but "language_en.h". When loading _en first, all new features give some display, but the new in English. - May throw some additional warnings about redefinition during compile. --- Marlin/language.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/language.h b/Marlin/language.h index 27a5793c49..29f54bc9ce 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -222,6 +222,7 @@ #define TESTSTRING360 "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377" */ +#include "language_en.h" #include LANGUAGE_INCLUDE #endif //__LANGUAGE_H From 3aac2df0572af604e1a7b46669bf90ecfd7d4fa2 Mon Sep 17 00:00:00 2001 From: AnHardt Date: Sun, 8 Feb 2015 20:41:20 +0100 Subject: [PATCH 128/132] Now the oter way around. Include of language_en.h now behind national language. All "#define MSG_STR_*" now surrounded by #ifndef and #endif. --- Marlin/language.h | 2 +- Marlin/language_en.h | 232 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 233 insertions(+), 1 deletion(-) diff --git a/Marlin/language.h b/Marlin/language.h index 29f54bc9ce..e13fc3176e 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -222,7 +222,7 @@ #define TESTSTRING360 "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377" */ -#include "language_en.h" #include LANGUAGE_INCLUDE +#include "language_en.h" #endif //__LANGUAGE_H diff --git a/Marlin/language_en.h b/Marlin/language_en.h index 49a22337dd..086e5c1e3c 100644 --- a/Marlin/language_en.h +++ b/Marlin/language_en.h @@ -8,124 +8,356 @@ #ifndef LANGUAGE_EN_H #define LANGUAGE_EN_H +#ifndef WELCOME_MSG #define WELCOME_MSG MACHINE_NAME " ready." +#endif +#ifndef MSG_SD_INSERTED #define MSG_SD_INSERTED "Card inserted" +#endif +#ifndef MSG_SD_REMOVED #define MSG_SD_REMOVED "Card removed" +#endif +#ifndef MSG_MAIN #define MSG_MAIN "Main" +#endif +#ifndef MSG_AUTOSTART #define MSG_AUTOSTART "Autostart" +#endif +#ifndef MSG_DISABLE_STEPPERS #define MSG_DISABLE_STEPPERS "Disable steppers" +#endif +#ifndef MSG_AUTO_HOME #define MSG_AUTO_HOME "Auto home" +#endif +#ifndef MSG_SET_HOME_OFFSETS #define MSG_SET_HOME_OFFSETS "Set home offsets" +#endif +#ifndef MSG_SET_ORIGIN #define MSG_SET_ORIGIN "Set origin" +#endif +#ifndef MSG_PREHEAT_PLA #define MSG_PREHEAT_PLA "Preheat PLA" +#endif +#ifndef MSG_PREHEAT_PLA_N #define MSG_PREHEAT_PLA_N MSG_PREHEAT_PLA " " +#endif +#ifndef MSG_PREHEAT_PLA_ALL #define MSG_PREHEAT_PLA_ALL MSG_PREHEAT_PLA " All" +#endif +#ifndef MSG_PREHEAT_PLA_BEDONLY #define MSG_PREHEAT_PLA_BEDONLY MSG_PREHEAT_PLA " Bed" +#endif +#ifndef MSG_PREHEAT_PLA_SETTINGS #define MSG_PREHEAT_PLA_SETTINGS MSG_PREHEAT_PLA " conf" +#endif +#ifndef MSG_PREHEAT_ABS #define MSG_PREHEAT_ABS "Preheat ABS" +#endif +#ifndef MSG_PREHEAT_ABS_N #define MSG_PREHEAT_ABS_N MSG_PREHEAT_ABS " " +#endif +#ifndef MSG_PREHEAT_ABS_ALL #define MSG_PREHEAT_ABS_ALL MSG_PREHEAT_ABS " All" +#endif +#ifndef MSG_PREHEAT_ABS_BEDONLY #define MSG_PREHEAT_ABS_BEDONLY MSG_PREHEAT_ABS " Bed" +#endif +#ifndef MSG_PREHEAT_ABS_SETTINGS #define MSG_PREHEAT_ABS_SETTINGS MSG_PREHEAT_ABS " conf" +#endif +#ifndef MSG_COOLDOWN #define MSG_COOLDOWN "Cooldown" +#endif +#ifndef MSG_SWITCH_PS_ON #define MSG_SWITCH_PS_ON "Switch power on" +#endif +#ifndef MSG_SWITCH_PS_OFF #define MSG_SWITCH_PS_OFF "Switch power off" +#endif +#ifndef MSG_EXTRUDE #define MSG_EXTRUDE "Extrude" +#endif +#ifndef MSG_RETRACT #define MSG_RETRACT "Retract" +#endif +#ifndef MSG_MOVE_AXIS #define MSG_MOVE_AXIS "Move axis" +#endif +#ifndef MSG_MOVE_X #define MSG_MOVE_X "Move X" +#endif +#ifndef MSG_MOVE_Y #define MSG_MOVE_Y "Move Y" +#endif +#ifndef MSG_MOVE_Z #define MSG_MOVE_Z "Move Z" +#endif +#ifndef MSG_MOVE_E #define MSG_MOVE_E "Extruder" +#endif +#ifndef MSG_MOVE_01MM #define MSG_MOVE_01MM "Move 0.1mm" +#endif +#ifndef MSG_MOVE_1MM #define MSG_MOVE_1MM "Move 1mm" +#endif +#ifndef MSG_MOVE_10MM #define MSG_MOVE_10MM "Move 10mm" +#endif +#ifndef MSG_SPEED #define MSG_SPEED "Speed" +#endif +#ifndef MSG_NOZZLE #define MSG_NOZZLE "Nozzle" +#endif +#ifndef MSG_BED #define MSG_BED "Bed" +#endif +#ifndef MSG_FAN_SPEED #define MSG_FAN_SPEED "Fan speed" +#endif +#ifndef MSG_FLOW #define MSG_FLOW "Flow" +#endif +#ifndef MSG_CONTROL #define MSG_CONTROL "Control" +#endif +#ifndef MSG_MIN #define MSG_MIN " " STR_THERMOMETER " Min" +#endif +#ifndef MSG_MAX #define MSG_MAX " " STR_THERMOMETER " Max" +#endif +#ifndef MSG_FACTOR #define MSG_FACTOR " " STR_THERMOMETER " Fact" +#endif +#ifndef MSG_AUTOTEMP #define MSG_AUTOTEMP "Autotemp" +#endif +#ifndef MSG_ON #define MSG_ON "On " +#endif +#ifndef MSG_OFF #define MSG_OFF "Off" +#endif +#ifndef MSG_PID_P #define MSG_PID_P "PID-P" +#endif +#ifndef MSG_PID_I #define MSG_PID_I "PID-I" +#endif +#ifndef MSG_PID_D #define MSG_PID_D "PID-D" +#endif +#ifndef MSG_PID_C #define MSG_PID_C "PID-C" +#endif +#ifndef MSG_ACC #define MSG_ACC "Accel" +#endif +#ifndef MSG_VXY_JERK #define MSG_VXY_JERK "Vxy-jerk" +#endif +#ifndef MSG_VZ_JERK #define MSG_VZ_JERK "Vz-jerk" +#endif +#ifndef MSG_VE_JERK #define MSG_VE_JERK "Ve-jerk" +#endif +#ifndef MSG_VMAX #define MSG_VMAX "Vmax " +#endif +#ifndef MSG_X #define MSG_X "x" +#endif +#ifndef MSG_Y #define MSG_Y "y" +#endif +#ifndef MSG_Z #define MSG_Z "z" +#endif +#ifndef MSG_E #define MSG_E "e" +#endif +#ifndef MSG_VMIN #define MSG_VMIN "Vmin" +#endif +#ifndef MSG_VTRAV_MIN #define MSG_VTRAV_MIN "VTrav min" +#endif +#ifndef MSG_AMAX #define MSG_AMAX "Amax " +#endif +#ifndef MSG_A_RETRACT #define MSG_A_RETRACT "A-retract" +#endif +#ifndef MSG_XSTEPS #define MSG_XSTEPS "Xsteps/mm" +#endif +#ifndef MSG_YSTEPS #define MSG_YSTEPS "Ysteps/mm" +#endif +#ifndef MSG_ZSTEPS #define MSG_ZSTEPS "Zsteps/mm" +#endif +#ifndef MSG_ESTEPS #define MSG_ESTEPS "Esteps/mm" +#endif +#ifndef MSG_TEMPERATURE #define MSG_TEMPERATURE "Temperature" +#endif +#ifndef MSG_MOTION #define MSG_MOTION "Motion" +#endif +#ifndef MSG_VOLUMETRIC #define MSG_VOLUMETRIC "Filament" +#endif +#ifndef MSG_VOLUMETRIC_ENABLED #define MSG_VOLUMETRIC_ENABLED "E in mm" STR_h3 +#endif +#ifndef MSG_FILAMENT_SIZE_EXTRUDER_0 #define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Dia. 1" +#endif +#ifndef MSG_FILAMENT_SIZE_EXTRUDER_1 #define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Dia. 2" +#endif +#ifndef MSG_FILAMENT_SIZE_EXTRUDER_2 #define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Dia. 3" +#endif +#ifndef MSG_FILAMENT_SIZE_EXTRUDER_3 #define MSG_FILAMENT_SIZE_EXTRUDER_3 "Fil. Dia. 4" +#endif +#ifndef MSG_CONTRAST #define MSG_CONTRAST "LCD contrast" +#endif +#ifndef MSG_STORE_EPROM #define MSG_STORE_EPROM "Store memory" +#endif +#ifndef MSG_LOAD_EPROM #define MSG_LOAD_EPROM "Load memory" +#endif +#ifndef MSG_RESTORE_FAILSAFE #define MSG_RESTORE_FAILSAFE "Restore failsafe" +#endif +#ifndef MSG_REFRESH #define MSG_REFRESH "Refresh" +#endif +#ifndef MSG_WATCH #define MSG_WATCH "Info screen" +#endif +#ifndef MSG_PREPARE #define MSG_PREPARE "Prepare" +#endif +#ifndef MSG_TUNE #define MSG_TUNE "Tune" +#endif +#ifndef MSG_PAUSE_PRINT #define MSG_PAUSE_PRINT "Pause print" +#endif +#ifndef MSG_RESUME_PRINT #define MSG_RESUME_PRINT "Resume print" +#endif +#ifndef MSG_STOP_PRINT #define MSG_STOP_PRINT "Stop print" +#endif +#ifndef MSG_CARD_MENU #define MSG_CARD_MENU "Print from SD" +#endif +#ifndef MSG_NO_CARD #define MSG_NO_CARD "No SD card" +#endif +#ifndef MSG_DWELL #define MSG_DWELL "Sleep..." +#endif +#ifndef MSG_USERWAIT #define MSG_USERWAIT "Wait for user..." +#endif +#ifndef MSG_RESUMING #define MSG_RESUMING "Resuming print" +#endif +#ifndef MSG_PRINT_ABORTED #define MSG_PRINT_ABORTED "Print aborted" +#endif +#ifndef MSG_NO_MOVE #define MSG_NO_MOVE "No move." +#endif +#ifndef MSG_KILLED #define MSG_KILLED "KILLED. " +#endif +#ifndef MSG_STOPPED #define MSG_STOPPED "STOPPED. " +#endif +#ifndef MSG_CONTROL_RETRACT #define MSG_CONTROL_RETRACT "Retract mm" +#endif +#ifndef MSG_CONTROL_RETRACT_SWAP #define MSG_CONTROL_RETRACT_SWAP "Swap Re.mm" +#endif +#ifndef MSG_CONTROL_RETRACTF #define MSG_CONTROL_RETRACTF "Retract V" +#endif +#ifndef MSG_CONTROL_RETRACT_ZLIFT #define MSG_CONTROL_RETRACT_ZLIFT "Hop mm" +#endif +#ifndef MSG_CONTROL_RETRACT_RECOVER #define MSG_CONTROL_RETRACT_RECOVER "UnRet +mm" +#endif +#ifndef MSG_CONTROL_RETRACT_RECOVER_SWAP #define MSG_CONTROL_RETRACT_RECOVER_SWAP "S UnRet+mm" +#endif +#ifndef MSG_CONTROL_RETRACT_RECOVERF #define MSG_CONTROL_RETRACT_RECOVERF "UnRet V" +#endif +#ifndef MSG_AUTORETRACT #define MSG_AUTORETRACT "AutoRetr." +#endif +#ifndef MSG_FILAMENTCHANGE #define MSG_FILAMENTCHANGE "Change filament" +#endif +#ifndef MSG_INIT_SDCARD #define MSG_INIT_SDCARD "Init. SD card" +#endif +#ifndef MSG_CNG_SDCARD #define MSG_CNG_SDCARD "Change SD card" +#endif +#ifndef MSG_ZPROBE_OUT #define MSG_ZPROBE_OUT "Z probe out. bed" +#endif +#ifndef MSG_POSITION_UNKNOWN #define MSG_POSITION_UNKNOWN "Home X/Y before Z" +#endif +#ifndef MSG_ZPROBE_ZOFFSET #define MSG_ZPROBE_ZOFFSET "Z Offset" +#endif +#ifndef MSG_BABYSTEP_X #define MSG_BABYSTEP_X "Babystep X" +#endif +#ifndef MSG_BABYSTEP_Y #define MSG_BABYSTEP_Y "Babystep Y" +#endif +#ifndef MSG_BABYSTEP_Z #define MSG_BABYSTEP_Z "Babystep Z" +#endif +#ifndef MSG_ENDSTOP_ABORT #define MSG_ENDSTOP_ABORT "Endstop abort" +#endif #ifdef DELTA_CALIBRATION_MENU + #ifndef MSG_DELTA_CALIBRATE #define MSG_DELTA_CALIBRATE "Delta Calibration" + #endif + #ifndef MSG_DELTA_CALIBRATE_X #define MSG_DELTA_CALIBRATE_X "Calibrate X" + #endif + #ifndef MSG_DELTA_CALIBRATE_Y #define MSG_DELTA_CALIBRATE_Y "Calibrate Y" + #endif + #ifndef MSG_DELTA_CALIBRATE_Z #define MSG_DELTA_CALIBRATE_Z "Calibrate Z" + #endif + #ifndef MSG_DELTA_CALIBRATE_CENTER #define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center" + #endif #endif // DELTA_CALIBRATION_MENU #endif // LANGUAGE_EN_H From e7ecf14d0c56f4103d5092ba81f470676c9c1149 Mon Sep 17 00:00:00 2001 From: Souko Date: Mon, 9 Feb 2015 21:46:06 +0100 Subject: [PATCH 129/132] Update ultralcd_st7920_u8glib_rrd.h Fixed delay-times during Init. REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER won't get initialized on some Boards because delay was to short. --- Marlin/ultralcd_st7920_u8glib_rrd.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Marlin/ultralcd_st7920_u8glib_rrd.h b/Marlin/ultralcd_st7920_u8glib_rrd.h index 386e312e5b..15e9e9d342 100644 --- a/Marlin/ultralcd_st7920_u8glib_rrd.h +++ b/Marlin/ultralcd_st7920_u8glib_rrd.h @@ -55,11 +55,11 @@ uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo WRITE(ST7920_CLK_PIN,1); ST7920_CS(); - u8g_Delay(90); //initial delay for boot up + u8g_Delay(120); //initial delay for boot up ST7920_SET_CMD(); ST7920_WRITE_BYTE(0x08); //display off, cursor+blink off ST7920_WRITE_BYTE(0x01); //clear CGRAM ram - u8g_Delay(10); //delay for CGRAM clear + u8g_Delay(15); //delay for CGRAM clear ST7920_WRITE_BYTE(0x3E); //extended mode + GDRAM active for(y=0;y Date: Tue, 10 Feb 2015 00:13:46 +0100 Subject: [PATCH 130/132] Fix for #1485 --- Marlin/Configuration_adv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index a503e640f5..4d3579d24b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -228,7 +228,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate From c246026bda71d1ae38ce4b3523f7854b3e12b1ea Mon Sep 17 00:00:00 2001 From: AnHardt Date: Tue, 10 Feb 2015 00:23:39 +0100 Subject: [PATCH 131/132] Sorry. --- Marlin/example_configurations/Hephestos/Configuration_adv.h | 2 +- Marlin/example_configurations/K8200/Configuration_adv.h | 2 +- Marlin/example_configurations/SCARA/Configuration_adv.h | 2 +- Marlin/example_configurations/WITBOX/Configuration_adv.h | 2 +- Marlin/example_configurations/delta/Configuration_adv.h | 2 +- Marlin/example_configurations/makibox/Configuration_adv.h | 2 +- Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Marlin/example_configurations/Hephestos/Configuration_adv.h b/Marlin/example_configurations/Hephestos/Configuration_adv.h index 333396772d..1412c99412 100644 --- a/Marlin/example_configurations/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/Hephestos/Configuration_adv.h @@ -228,7 +228,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate diff --git a/Marlin/example_configurations/K8200/Configuration_adv.h b/Marlin/example_configurations/K8200/Configuration_adv.h index a7f55854cd..b3d9ed8408 100644 --- a/Marlin/example_configurations/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/K8200/Configuration_adv.h @@ -228,7 +228,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index 8c65ad26ce..43320500f2 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -228,7 +228,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 240 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate diff --git a/Marlin/example_configurations/WITBOX/Configuration_adv.h b/Marlin/example_configurations/WITBOX/Configuration_adv.h index 333396772d..1412c99412 100644 --- a/Marlin/example_configurations/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/WITBOX/Configuration_adv.h @@ -228,7 +228,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate diff --git a/Marlin/example_configurations/delta/Configuration_adv.h b/Marlin/example_configurations/delta/Configuration_adv.h index 7150c2c88f..b3fd532485 100644 --- a/Marlin/example_configurations/delta/Configuration_adv.h +++ b/Marlin/example_configurations/delta/Configuration_adv.h @@ -226,7 +226,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index bf646f0f46..e6a3c1ccdc 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -225,7 +225,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index 6f1bf73222..fc3c3f53c5 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -227,7 +227,7 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -//default stepper release if idle +//default stepper release if idle. Set to 0 to deactivate. #define DEFAULT_STEPPER_DEACTIVE_TIME 60 #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate From 4546c92f5bb3e577ba3df15befde728ebc388133 Mon Sep 17 00:00:00 2001 From: Wurstnase Date: Tue, 10 Feb 2015 09:00:48 +0100 Subject: [PATCH 132/132] X and Y must be Integers not Float! https://github.com/Wurstnase/Marlin/blob/Development/Marlin/Configuration.h#L427 --- Documentation/BedLeveling.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/BedLeveling.md b/Documentation/BedLeveling.md index 62566ac7ba..35a38bb3a0 100644 --- a/Documentation/BedLeveling.md +++ b/Documentation/BedLeveling.md @@ -60,9 +60,9 @@ My preferred method: * g) You can raise the z probe with M402 command; * h) Fill the defines bellow multiplying the values by "-1" (just change the signal) - -* \#define X_PROBE_OFFSET_FROM_EXTRUDER -24.3 -* \#define Y_PROBE_OFFSET_FROM_EXTRUDER 31.4 +* X and Y-Offset must be Integers! +* \#define X_PROBE_OFFSET_FROM_EXTRUDER -24 +* \#define Y_PROBE_OFFSET_FROM_EXTRUDER 31 * \#define Z_PROBE_OFFSET_FROM_EXTRUDER -5.1 Sled Option Notes