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