Moved gen7 boards to motherboard type 10, 11 and 12.

Split ramps1.3 in Sprinter like config and multiextruder config.
2.0.x
Erik van der Zalm 13 years ago
parent 5aa9c41ab1
commit 84ea2d61e8

@ -16,15 +16,16 @@
#define BAUDRATE 115200 #define BAUDRATE 115200
//// The following define selects which electronics board you have. Please choose the one that matches your setup //// The following define selects which electronics board you have. Please choose the one that matches your setup
// MEGA/RAMPS up to 1.2 = 3, // Gen7 custom (Alfons3 Version) = 10 "https://github.com/Alfons3/Generation_7_Electronics"
// RAMPS 1.3 = 33 // Gen7 v1.1, v1.2 = 11
// Gen6 = 5, // Gen7 v1.3 = 12
// MEGA/RAMPS up to 1.2 = 3
// RAMPS 1.3 = 33 (Power outputs: Extruder, Bed, Fan)
// RAMPS 1.3 = 34 (Power outputs: Extruder0, Extruder1, Bed)
// Gen6 =
// Sanguinololu 1.2 and above = 62 // Sanguinololu 1.2 and above = 62
// Ultimaker = 7, // Ultimaker = 7
// Gen7 custom (Alfons3 Version) = 77, "https://github.com/Alfons3/Generation_7_Electronics" // Teensylu = 8
// Gen7 v1.1, v1.2 = 78
// Gen7 v1.3 = 79
// Teensylu = 8,
// Gen3+ =9 // Gen3+ =9
#define MOTHERBOARD 33 #define MOTHERBOARD 33

@ -128,7 +128,6 @@ volatile int feedmultiply=100; //100->1 200->2
int saved_feedmultiply; int saved_feedmultiply;
volatile bool feedmultiplychanged=false; volatile bool feedmultiplychanged=false;
volatile int extrudemultiply=100; //100->1 200->2 volatile int extrudemultiply=100; //100->1 200->2
volatile bool extrudemultiplychanged=false;
float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0 }; float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0 };
float add_homeing[3]={0,0,0}; float add_homeing[3]={0,0,0};
uint8_t active_extruder = 0; uint8_t active_extruder = 0;
@ -1110,7 +1109,7 @@ void process_commands()
if(code_seen('S')) if(code_seen('S'))
{ {
extrudemultiply = code_value() ; extrudemultiply = code_value() ;
extrudemultiplychanged=true; }
} }
break; break;

@ -45,221 +45,179 @@
#endif /* 99 */ #endif /* 99 */
/**************************************************************************************** /****************************************************************************************
* Arduino pin assignment * Gen7 v1.1, v1.2, v1.3 pin assignment
* *
* ATMega168
* +-\/-+
* PC6 1| |28 PC5 (AI 5 / D19)
* (D 0) PD0 2| |27 PC4 (AI 4 / D18)
* (D 1) PD1 3| |26 PC3 (AI 3 / D17)
* (D 2) PD2 4| |25 PC2 (AI 2 / D16)
* PWM+ (D 3) PD3 5| |24 PC1 (AI 1 / D15)
* (D 4) PD4 6| |23 PC0 (AI 0 / D14)
* VCC 7| |22 GND
* GND 8| |21 AREF
* PB6 9| |20 AVCC
* PB7 10| |19 PB5 (D 13)
* PWM+ (D 5) PD5 11| |18 PB4 (D 12)
* PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM
* (D 7) PD7 13| |16 PB2 (D 10) PWM
* (D 8) PB0 14| |15 PB1 (D 9) PWM
* +----+
****************************************************************************************/ ****************************************************************************************/
#if MOTHERBOARD == 0
#define KNOWN_BOARD 1
#ifndef __AVR_ATmega168__ #if MOTHERBOARD == 12
#error Oops! Make sure you have 'Arduino Diecimila' selected from the boards menu. #define MOTHERBOARD 11
#define GEN7_V_1_3
#endif #endif
#define X_STEP_PIN 2 #if MOTHERBOARD == 11
#define X_DIR_PIN 3 #define KNOWN_BOARD
#define X_ENABLE_PIN -1
#define X_MIN_PIN 4
#define X_MAX_PIN 9
#define Y_STEP_PIN 10 #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
#define Y_DIR_PIN 7 #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
#define Y_ENABLE_PIN -1
#define Y_MIN_PIN 8
#define Y_MAX_PIN 13
#define Z_STEP_PIN 19 #endif
#define Z_DIR_PIN 18
#define Z_ENABLE_PIN 5
#define Z_MIN_PIN 17
#define Z_MAX_PIN 16
#define E0_STEP_PIN 11 //x axis pins
#define E0_DIR_PIN 12 #define X_STEP_PIN 19
#define E0_ENABLE_PIN -1 #define X_DIR_PIN 18
#define X_ENABLE_PIN 24
#define X_MIN_PIN 7
#define X_MAX_PIN -1
#define SDPOWER -1 //y axis pins
#define SDSS -1 #define Y_STEP_PIN 23
#define LED_PIN -1 #define Y_DIR_PIN 22
#define FAN_PIN -1 #define Y_ENABLE_PIN 24
#define PS_ON_PIN 15 #define Y_MIN_PIN 5
#define KILL_PIN -1 #define Y_MAX_PIN -1
#define HEATER_0_PIN 6 //z axis pins
#define HEATER_1_PIN -1 #define Z_STEP_PIN 26
#define HEATER_2_PIN -1 #define Z_DIR_PIN 25
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! #define Z_ENABLE_PIN 24
#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! #define Z_MIN_PIN 1
#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! #define Z_MAX_PIN
#define HEATER_BED_PIN -1
#define TEMP_BED_PIN -1
#endif
//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
* Sanguino/RepRap Motherboard with direct-drive extruders #define HEATER_1_PIN -1
* #define HEATER_2_PIN -1
* ATMega644P #define HEATER_BED_PIN 3
*
* +---\/---+
* (D 0) PB0 1| |40 PA0 (AI 0 / D31)
* (D 1) PB1 2| |39 PA1 (AI 1 / D30)
* INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
* PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
* PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
* MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
* MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
* SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
* RST 9| |32 AREF
* VCC 10| |31 GND
* GND 11| |30 AVCC
* XTAL2 12| |29 PC7 (D 23)
* XTAL1 13| |28 PC6 (D 22)
* RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
* TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
* INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
* INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
* PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
* PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
* PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
* +--------+
*
****************************************************************************************/
#if MOTHERBOARD == 1
#define KNOWN_BOARD 1
#ifndef __AVR_ATmega644P__
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
#define X_STEP_PIN 15 #define SDPOWER -1
#define X_DIR_PIN 18 #define SDSS -1 // SCL pin of I2C header
#define X_ENABLE_PIN 19 #define LED_PIN -1
#define X_MIN_PIN 20
#define X_MAX_PIN 21
#define Y_STEP_PIN 23 #ifdef GEN7_V_1_3
#define Y_DIR_PIN 22 // Gen7 v1.3 removed the fan pin
#define Y_ENABLE_PIN 19 #define FAN_PIN -1
#define Y_MIN_PIN 25 #else
#define Y_MAX_PIN 26 #define FAN_PIN 31
#endif
#define PS_ON_PIN 15
#define Z_STEP_PIN 29 //our pin for debugging.
#define Z_DIR_PIN 30 #define DEBUG_PIN 0
#define Z_ENABLE_PIN 31
#define Z_MIN_PIN 2
#define Z_MAX_PIN 1
#define E0_STEP_PIN 12 //our RS485 pins
#define E0_DIR_PIN 16 #define TX_ENABLE_PIN 12
#define E0_ENABLE_PIN 3 #define RX_ENABLE_PIN 13
#define SDPOWER -1 #endif
#define SDSS -1
#define LED_PIN 0
#define FAN_PIN -1
#define PS_ON_PIN -1
#define KILL_PIN -1
#define HEATER_0_PIN 14 /*******************************************************************************
#define HEATER_1_PIN -1 *********
#define HEATER_2_PIN -1 * Gen7 Alfons3 pin assignment
#define TEMP_0_PIN 4 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! *
#define TEMP_1_PIN -1 ********************************************************************************
#define TEMP_2_PIN -1 ********/
#define HEATER_BED_PIN -1 /* These Pins are assigned for the modified GEN7 Board from Alfons3 Please review the pins and adjust it for your needs*/
#define TEMP_BED_PIN -1
/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */
#if MOTHERBOARD == 10
#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 #endif
//x axis pins
#define X_STEP_PIN 21 //different from stanard GEN7
#define X_DIR_PIN 20 //different from stanard GEN7
#define X_ENABLE_PIN 24
#define X_MIN_PIN 0
#define X_MAX_PIN -1
/**************************************************************************************** //y axis pins
* RepRap Motherboard ****---NOOOOOO RS485/EXTRUDER CONTROLLER!!!!!!!!!!!!!!!!!---******* #define Y_STEP_PIN 23
* #define Y_DIR_PIN 22
****************************************************************************************/ #define Y_ENABLE_PIN 24
#if MOTHERBOARD == 2 #define Y_MIN_PIN 1
#define KNOWN_BOARD 1 #define Y_MAX_PIN -1
#ifndef __AVR_ATmega644P__ //z axis pins
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. #define Z_STEP_PIN 26
#endif #define Z_DIR_PIN 25
#define Z_ENABLE_PIN 24
#define Z_MIN_PIN 2
#define Z_MAX_PIN -1
//extruder pins
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 24
#define X_STEP_PIN 15 #define TEMP_0_PIN 2
#define X_DIR_PIN 18 #define TEMP_1_PIN -1
#define X_ENABLE_PIN 19 #define TEMP_2_PIN -1
#define X_MIN_PIN 20 #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
#define X_MAX_PIN 21
#define Y_STEP_PIN 23 #define HEATER_0_PIN 4
#define Y_DIR_PIN 22 #define HEATER_1_PIN -1
#define Y_ENABLE_PIN 24 #define HEATER_2_PIN -1
#define Y_MIN_PIN 25 #define HEATER_BED_PIN 3 // (bed)
#define Y_MAX_PIN 26
#define Z_STEP_PINN 27 #define SDPOWER -1
#define Z_DIR_PINN 28 #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
#define Z_ENABLE_PIN 29 #define LED_PIN -1
#define Z_MIN_PIN 30
#define Z_MAX_PIN 31
#define E0_STEP_PIN 17 #define FAN_PIN -1
#define E0_DIR_PIN 16 #define PS_ON_PIN 19
#define E0_ENABLE_PIN -1 //our pin for debugging.
#define SDPOWER -1 #define DEBUG_PIN -1
#define SDSS 4
#define LED_PIN 0
#define SD_CARD_WRITE 2 //our RS485 pins
#define SD_CARD_DETECT 3 //#define TX_ENABLE_PIN 12
#define SD_CARD_SELECT 4 //#define RX_ENABLE_PIN 13
//our RS485 pins #define BEEPER -1
#define TX_ENABLE_PIN 12 #define SDCARDDETECT -1
#define RX_ENABLE_PIN 13 #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work
//pin for controlling the PSU. //Pins for 4bit LCD Support
#define PS_ON_PIN 14 #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
#define FAN_PIN -1 //buttons are directly attached
#define KILL_PIN -1 #define BTN_EN1 11
#define BTN_EN2 10
#define BTN_ENC 12 //the click
#define HEATER_0_PIN -1 #define BLEN_C 2
#define HEATER_1_PIN -1 #define BLEN_B 1
#define HEATER_2_PIN -1 #define BLEN_A 0
#define TEMP_0_PIN -1 // 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
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
#endif #endif
/**************************************************************************************** /****************************************************************************************
* Arduino Mega pin assignment * Arduino Mega pin assignment
* *
****************************************************************************************/ ****************************************************************************************/
#if MOTHERBOARD == 33 #if MOTHERBOARD == 33 || MOTHERBOARD == 34
#define MOTHERBOARD 3 #define MOTHERBOARD 3
#define RAMPS_V_1_3 #define RAMPS_V_1_3
#endif #endif
@ -295,7 +253,7 @@
#define Z_DIR_PIN 48 #define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62 #define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18 #define Z_MIN_PIN 18
#define Z_MAX_PIN 19 //19 #define Z_MAX_PIN 19
#define E0_STEP_PIN 26 #define E0_STEP_PIN 26
#define E0_DIR_PIN 28 #define E0_DIR_PIN 28
@ -308,13 +266,22 @@
#define SDPOWER -1 #define SDPOWER -1
#define SDSS 53 #define SDSS 53
#define LED_PIN 13 #define LED_PIN 13
#define FAN_PIN 9 // Uses HEATER_1 on Ramps Board
#if MOTHERBOARD == 33
#define FAN_PIN 9 // (Sprinter config)
#else
#define FAN_PIN 4 // IO pin. Buffer needed
#endif
#define PS_ON_PIN 12 #define PS_ON_PIN 12
#define KILL_PIN -1 #define KILL_PIN -1
#define HEATER_0_PIN 10 // EXTRUDER 1 #define HEATER_0_PIN 10 // EXTRUDER 1
#define HEATER_1_PIN 9 // EXTRUDER 2 #if MOTHERBOARD == 33
#define HEATER_2_PIN -1 // EXTRUDER 2 #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_0_PIN 13 // ANALOG NUMBERING
#define TEMP_1_PIN 15 // ANALOG NUMBERING #define TEMP_1_PIN 15 // ANALOG NUMBERING
#define TEMP_2_PIN -1 // ANALOG NUMBERING #define TEMP_2_PIN -1 // ANALOG NUMBERING
@ -635,180 +602,6 @@
#endif #endif
/****************************************************************************************
* Gen7 v1.1, v1.2, v1.3 pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 79
#define MOTHERBOARD 78
#define GEN7_V_1_3
#endif
#if MOTHERBOARD == 78
#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 19
#define X_DIR_PIN 18
#define X_ENABLE_PIN 24
#define X_MIN_PIN 7
#define X_MAX_PIN -1
//y axis pins
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Y_MIN_PIN 5
#define Y_MAX_PIN -1
//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 -1
//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 SDPOWER -1
#define SDSS -1 // SCL pin of I2C header
#define LED_PIN -1
#ifdef GEN7_V_1_3
// Gen7 v1.3 removed the fan pin
#define FAN_PIN -1
#else
#define FAN_PIN 31
#endif
#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 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 MOTHERBOARD == 77
#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 stanard GEN7
#define X_DIR_PIN 20 //different from stanard GEN7
#define X_ENABLE_PIN 24
#define X_MIN_PIN 0
#define X_MAX_PIN -1
//y axis pins
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Y_MIN_PIN 1
#define Y_MAX_PIN -1
//z axis pins
#define Z_STEP_PIN 26
#define Z_DIR_PIN 25
#define Z_ENABLE_PIN 24
#define Z_MIN_PIN 2
#define Z_MAX_PIN -1
//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
//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
#define BLEN_C 2
#define BLEN_B 1
#define BLEN_A 0
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
#endif
#if MOTHERBOARD == 7 #if MOTHERBOARD == 7
#define KNOWN_BOARD #define KNOWN_BOARD

@ -504,7 +504,7 @@ void plan_buffer_line(float &x, float &y, float &z, float &e, float feed_rate, u
block->steps_z = labs(target[Z_AXIS]-position[Z_AXIS]); block->steps_z = labs(target[Z_AXIS]-position[Z_AXIS]);
block->steps_e = labs(target[E_AXIS]-position[E_AXIS]); block->steps_e = labs(target[E_AXIS]-position[E_AXIS]);
block->steps_e *= extrudemultiply; block->steps_e *= extrudemultiply;
block-?steps_e /= 100; block->steps_e /= 100;
block->step_event_count = max(block->steps_x, max(block->steps_y, max(block->steps_z, block->steps_e))); block->step_event_count = max(block->steps_x, max(block->steps_y, max(block->steps_z, block->steps_e)));
// Bail if this is a zero-length block // Bail if this is a zero-length block

@ -9,6 +9,8 @@
extern volatile int feedmultiply; extern volatile int feedmultiply;
extern volatile bool feedmultiplychanged; extern volatile bool feedmultiplychanged;
extern volatile int extrudemultiply;
extern long position[4]; extern long position[4];
extern CardReader card; extern CardReader card;

Loading…
Cancel
Save