Repetier-Firmware-4-Davinci/src/ArduinoDUE/Repetier/pins.h

1428 wiersze
40 KiB
C

#ifndef PINS_H
#define PINS_H
/*
The board assignment defines the capabilities of the motherboard and the used pins.
Each board definition follows the following scheme:
CPU_ARCH
ARCH_AVR for AVR based boards
ARCH_ARM for all arm based boards
STEPPER_CURRENT_CONTROL
CURRENT_CONTROL_MANUAL 1 // mechanical poti, default if not defined
CURRENT_CONTROL_DIGIPOT 2 // Use a digipot like RAMBO does
CURRENT_CONTROL_LTC2600 3 // Use LTC2600 like Foltyn 3D Master
CURRENT_CONTROL_ALLIGATOR 4 //Use External DAC like Alligator
*/
#define ARCH_AVR 1
#define ARCH_ARM 2
#define CPU_ARCH ARCH_ARM
#define CURRENT_CONTROL_MANUAL 1 // mechanical poti, default if not defined
#define CURRENT_CONTROL_DIGIPOT 2 // Use a digipot like RAMBO does
#define CURRENT_CONTROL_LTC2600 3 // Use LTC2600 like Foltyn 3D Master
#define CURRENT_CONTROL_ALLIGATOR 4 //Use External DAC like Alligator
/*
arm does not have a eeprom build in. Therefore boards can add a
eeprom. Board definition must set the right type of eeprom
*/
#define EEPROM_NONE 0
#define EEPROM_I2C 1
#define EEPROM_SPI_ALLIGATOR 2
#define EEPROM_SDCARD 3
#if MOTHERBOARD == 401
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
/*****************************************************************
* Arduino Due Pin Assignments
******************************************************************/
#define ORIG_X_STEP_PIN 54
#define ORIG_X_DIR_PIN 55
#define ORIG_X_MIN_PIN 3
#define ORIG_X_MAX_PIN 2
#define ORIG_X_ENABLE_PIN 38
#define ORIG_Y_STEP_PIN 60
#define ORIG_Y_DIR_PIN 61
#define ORIG_Y_MIN_PIN 14
#define ORIG_Y_MAX_PIN 15
#define ORIG_Y_ENABLE_PIN 56
#define ORIG_Z_STEP_PIN 46
#define ORIG_Z_DIR_PIN 48
#define ORIG_Z_MIN_PIN 18
#define ORIG_Z_MAX_PIN 19
#define ORIG_Z_ENABLE_PIN 62
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 10
// Due analog pin #
#define TEMP_0_PIN 11
#define HEATER_1_PIN 8
// Due analog pin #
#define TEMP_1_PIN 12
#define HEATER_2_PIN 9
// Due analog pin #
#define TEMP_2_PIN 13
#define ORIG_E0_STEP_PIN 26
#define ORIG_E0_DIR_PIN 28
#define ORIG_E0_ENABLE_PIN 24
#define ORIG_E1_STEP_PIN 36
#define ORIG_E1_DIR_PIN 34
#define ORIG_E1_ENABLE_PIN 40
#define SDPOWER -1
// 10 if using HW SPI. 53 if using SW SPI
#define SDSS 53
#define LED_PIN 13
#define ORIG_FAN_PIN -1
#define ORIG_PS_ON_PIN 12
#define KILL_PIN -1
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
// 20 or 70
#define SDA_PIN 20
// 21 or 71
#define SCL_PIN 21
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values, these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 64 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE EEPROM_I2C
#endif
// RADDS Board
// http://www.dr-henschke.de/RADDS_due.html
#if MOTHERBOARD == 402
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
/*****************************************************************
* Arduino Due Pin Assignments
******************************************************************/
#define ORIG_X_STEP_PIN 24
#define ORIG_X_DIR_PIN 23
#define ORIG_X_MIN_PIN 28
#define ORIG_X_MAX_PIN 34
#define ORIG_X_ENABLE_PIN 26
#define ORIG_Y_STEP_PIN 17
#define ORIG_Y_DIR_PIN 16
#define ORIG_Y_MIN_PIN 30
#define ORIG_Y_MAX_PIN 36
#define ORIG_Y_ENABLE_PIN 22
#define ORIG_Z_STEP_PIN 2
#define ORIG_Z_DIR_PIN 3
#define ORIG_Z_MIN_PIN 32
#define ORIG_Z_MAX_PIN 38
#define ORIG_Z_ENABLE_PIN 15
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 13
// Due analog pin #54
#define TEMP_0_PIN 7
#define HEATER_1_PIN 7
#define TEMP_1_PIN 3
// Due analog pin #58
#define HEATER_2_PIN 12
// Due analog pin #55
#define TEMP_2_PIN 6
#define HEATER_3_PIN 11
// Due analog pin #56
#define TEMP_3_PIN 5
// Due analog pin #57
#define TEMP_4_PIN 4
// Dua analog pin #59 = A5 -> AD 2
#define THERMOCOUPLE_0_PIN 2
// There are no more analog pins freely available.
// You can use direction and enable pin from extruder 0 socket as they are also
// analog pins. Then you need to move the stepper driver to a different socket.
// Direction pin of extruder 0
#define THERMOCOUPLE_1_PIN 1
// Step pin of extruder 0
#define THERMOCOUPLE_2_PIN 0
// Enable pin of extruder 0
#define THERMOCOUPLE_3_PIN 10
#define ORIG_E0_STEP_PIN 61
#define ORIG_E0_DIR_PIN 60
#define ORIG_E0_ENABLE_PIN 62
#define ORIG_E1_STEP_PIN 64
#define ORIG_E1_DIR_PIN 63
#define ORIG_E1_ENABLE_PIN 65
#define ORIG_E2_STEP_PIN 51
#define ORIG_E2_DIR_PIN 53
#define ORIG_E2_ENABLE_PIN 49
// Extra driver on extension board
// Might require pin 66 high for some drivers!
#define ORIG_E3_STEP_PIN 35
#define ORIG_E3_DIR_PIN 33
#define ORIG_E3_ENABLE_PIN 37
// Extra driver on extension port
// Might require pin 25 high for some drivers!
#define ORIG_E4_STEP_PIN 29
#define ORIG_E4_DIR_PIN 27
#define ORIG_E4_ENABLE_PIN 31
#define EXTENSION_BOARD_MS1 67
#define EXTENSION_BOARD_MS2 68
#define EXTENSION_BOARD_MS3 69
// 66 -> not connected
// 25 -> not connected
// To set microstepping on startup set START_GCODE to e.g.
// "M42 P67 S255\nM42 P68 S255\nM42 P69 S255"
#define SDSUPPORT 1
#define SDPOWER -1
// 4,10,52 if using HW SPI.
#define SDSS 4
#define ORIG_SDCARDDETECT 14
#define SDCARDDETECTINVERTED 0
#define LED_PIN -1
#define ORIG_FAN_PIN 9
#define ORIG_FAN2_PIN 8
//Davinci 0 Specific
#define ORIG_PS_ON_PIN -1//40
#define KILL_PIN -1
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
// 20 or 70
#define SDA_PIN 20
// 21 or 71
#define SCL_PIN 21
// Servo pins: 5,6 und 39
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,
#define E4_PINS ORIG_E4_STEP_PIN,ORIG_E4_DIR_PIN,ORIG_E4_ENABLE_PIN,
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 64 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE 1
#endif
/****************************************************************************/
// RAMPS-FD Board
//
#if MOTHERBOARD == 403 || MOTHERBOARD == 404
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
#if MOTHERBOARD == 403
#define HEATER_PINS_INVERTED 1 // only old boards had the output inverted
#else
#define HEATER_PINS_INVERTED 0
#endif
/*****************************************************************
* Arduino Due Pin Assignments
******************************************************************/
#define ORIG_X_STEP_PIN 63
#define ORIG_X_DIR_PIN 62
#define ORIG_X_MIN_PIN 22
#define ORIG_X_MAX_PIN 30
#define ORIG_X_ENABLE_PIN 48
#define ORIG_Y_STEP_PIN 65
#define ORIG_Y_DIR_PIN 64
#define ORIG_Y_MIN_PIN 24
#define ORIG_Y_MAX_PIN 38
#define ORIG_Y_ENABLE_PIN 46
#define ORIG_Z_STEP_PIN 67
#define ORIG_Z_DIR_PIN 66
#define ORIG_Z_MIN_PIN 26
#define ORIG_Z_MAX_PIN 34
#define ORIG_Z_ENABLE_PIN 44
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 8
// Due analog pin #54
#define TEMP_0_PIN 7
#define HEATER_1_PIN 9
// Due analog pin #55
#define TEMP_1_PIN 6
#define HEATER_2_PIN 10
// Due analog pin #56
#define TEMP_2_PIN 5
#define HEATER_3_PIN 11
// Due analog pin #57
#define TEMP_3_PIN 4
// Due analog pin #58
#define TEMP_4_PIN 3
#define ORIG_E0_STEP_PIN 36
#define ORIG_E0_DIR_PIN 28
#define ORIG_E0_ENABLE_PIN 42
#define ORIG_E1_STEP_PIN 43
#define ORIG_E1_DIR_PIN 41
#define ORIG_E1_ENABLE_PIN 39
#define ORIG_E2_STEP_PIN 32
#define ORIG_E2_DIR_PIN 47
#define ORIG_E2_ENABLE_PIN 45
//#define SDSUPPORT false
#define SDPOWER -1
// 4,10,52 if using HW SPI.
#define SDSS 4
//#define SDSS -1
//#define ORIG_SDCARDDETECT -1
#define SDCARDDETECTINVERTED false
#define LED_PIN -1
#define ORIG_FAN_PIN 12
#define ORIG_FAN2_PIN 2
#define ORIG_PS_ON_PIN 53
#define KILL_PIN -1
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
// 20 or 70
#define SDA_PIN 20
// 21 or 71
#define SCL_PIN 21
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 64 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE 1
#endif
/*****************************************************************
* Felix Printers Due Board
* http://www.felixprinters.com
******************************************************************/
#if MOTHERBOARD == 405
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
/*****************************************************************
* Arduino Due Pin Assignments
******************************************************************/
#define ORIG_X_STEP_PIN 24
#define ORIG_X_DIR_PIN 23
#define ORIG_X_MIN_PIN 34
#define ORIG_X_MAX_PIN 34
#define ORIG_X_ENABLE_PIN 26
#define ORIG_Y_STEP_PIN 17
#define ORIG_Y_DIR_PIN 16
#define ORIG_Y_MIN_PIN 30
#define ORIG_Y_MAX_PIN 30
#define ORIG_Y_ENABLE_PIN 22
#define ORIG_Z_STEP_PIN 2
#define ORIG_Z_DIR_PIN 3
#define ORIG_Z_MIN_PIN 32
#define ORIG_Z_MAX_PIN 32
#define ORIG_Z_ENABLE_PIN 15
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 8
#define TEMP_0_PIN 6
#define HEATER_1_PIN 7
#define TEMP_1_PIN 7
#define HEATER_2_PIN 9
#define TEMP_2_PIN 5
#define HEATER_3_PIN -1
#define TEMP_3_PIN -1 // Due analog pin #56
#define TEMP_4_PIN -1 // Due analog pin #57
#define THERMOCOUPLE_0_PIN -1 // Dua analog pin #59 = A5 -> AD 2
#define ORIG_E0_STEP_PIN 61
#define ORIG_E0_DIR_PIN 60
#define ORIG_E0_ENABLE_PIN 62
#define ORIG_E1_STEP_PIN 64
#define ORIG_E1_DIR_PIN 63
#define ORIG_E1_ENABLE_PIN 65
#define ORIG_E2_STEP_PIN -1
#define ORIG_E2_DIR_PIN -1
#define ORIG_E2_ENABLE_PIN -1
#define ORIG_E3_STEP_PIN -1
#define ORIG_E3_DIR_PIN -1
#define ORIG_E3_ENABLE_PIN -1
#define ORIG_E4_STEP_PIN -1
#define ORIG_E4_DIR_PIN -1
#define ORIG_E4_ENABLE_PIN -1
#define SDSUPPORT 1
#define SDPOWER -1
// 4,10,52 if using HW SPI.
#define SDSS 4
#define ORIG_SDCARDDETECT 14
#define SDCARDDETECTINVERTED 1
#define LED_PIN -1
#define ORIG_FAN_PIN 11
#define ORIG_FAN2_PIN -1
#define ORIG_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 SDA_PIN 20 // 20 or 70
#define SCL_PIN 21 // 21 or 71
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,
#define E4_PINS ORIG_E4_STEP_PIN,ORIG_E4_DIR_PIN,ORIG_E4_ENABLE_PIN,
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 64 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE 1
#endif
/*****************************************************************
* BAM&DICE Due Board with Arduino Due
* http://www.2printbeta.de
******************************************************************/
#if MOTHERBOARD == 406
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
#define STEPPER_CURRENT_CONTROL CURRENT_CONTROL_MANUAL
/*****************************************************************
* Arduino Due Pin Assignments
******************************************************************/
#define ORIG_X_STEP_PIN 54
#define ORIG_X_DIR_PIN 55
#define ORIG_X_MIN_PIN 3
#define ORIG_X_MAX_PIN 2
#define ORIG_X_ENABLE_PIN 38
#define ORIG_Y_STEP_PIN 60
#define ORIG_Y_DIR_PIN 61
#define ORIG_Y_MIN_PIN 43
#define ORIG_Y_MAX_PIN 45
#define ORIG_Y_ENABLE_PIN 56
#define ORIG_Z_STEP_PIN 46
#define ORIG_Z_DIR_PIN 48
#define ORIG_Z_MIN_PIN 40
#define ORIG_Z_MAX_PIN 42
#define ORIG_Z_ENABLE_PIN 62
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 10
// Due analog pin - SAM addressing (not arduino)
#define TEMP_0_PIN 11
#define HEATER_1_PIN 8
// Due analog pin - SAM addressing (not arduino)
#define TEMP_1_PIN 12
#define HEATER_2_PIN -1
#define TEMP_2_PIN -1
#define HEATER_3_PIN -1
#define TEMP_3_PIN -1
#define HEATER_4_PIN -1
#define TEMP_4_PIN -1
#define ORIG_E0_STEP_PIN 26
#define ORIG_E0_DIR_PIN 28
#define ORIG_E0_ENABLE_PIN 24
#define ORIG_E1_STEP_PIN 36
#define ORIG_E1_DIR_PIN 34
#define ORIG_E1_ENABLE_PIN 30
#define SDSUPPORT true
#define SDPOWER -1
// 4,10,52 if using HW SPI.
#define SDSS 53
//#define SDSS -1
//#define SDCARDDETECT -1
#define SDCARDDETECTINVERTED 0
#define LED_PIN 13
#define ORIG_FAN_PIN 9
#define ORIG_PS_ON_PIN -1
#define KILL_PIN 41
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
// 20 or 70
#define SDA_PIN 20
// 21 or 71
#define SCL_PIN 21
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define TWI_CLOCK_FREQ 100000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 128 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE EEPROM_I2C
#endif
#if MOTHERBOARD == 408
#ifndef __SAM3X8E__
#erro oops! Be sure to have 'due Arduino' selected from the 'tools-> Boards menu'.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
/*****************************************************************
* Arduino Due pin assignments
******************************************************************/
#define ORIG_X_STEP_PIN 54
#define ORIG_X_DIR_PIN 55
#define ORIG_X_MIN_PIN 3
#define ORIG_X_MAX_PIN 2
#define ORIG_X_ENABLE_PIN 38
#define ORIG_Y_STEP_PIN 60
#define ORIG_Y_DIR_PIN 61
#define ORIG_Y_MIN_PIN 14
#define ORIG_Y_MAX_PIN 15
#define ORIG_Y_ENABLE_PIN 56
#define ORIG_Z_STEP_PIN 46
#define ORIG_Z_DIR_PIN 48
#define ORIG_Z_MIN_PIN 18
#define ORIG_Z_MAX_PIN 19
#define ORIG_Z_ENABLE_PIN 62
//Note that in due A0 pins on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 10
// Because analog pin #
#define TEMP_0_PIN 11
#define HEATER_1_PIN 8
// Because analog pin #
#define TEMP_1_PIN 12
#define HEATER_2_PIN 9
// Because analog pin #
#define TEMP_2_PIN 13
#define ORIG_E0_STEP_PIN 26
#define ORIG_E0_DIR_PIN 28
#define ORIG_E0_ENABLE_PIN 24
#define ORIG_E1_STEP_PIN 36
#define ORIG_E1_DIR_PIN 34
#define ORIG_E1_ENABLE_PIN 30
#define SDPOWER -1
// 10 if using HW spi. 53 if using SW SPI
#define SDSS 53
#define LED_PIN 13
#define ORIG_FAN_PIN 9
#define ORIG_PS_ON_PIN 12
#define KILL_PIN -1
#define SUICIDE_PIN -1// Pin that has to be turned right after the start, to keep the power flowing.
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define TWI_CLOCK_FREQ 100000
// 20 or 70
#define SDA_PIN -1
// 21 or 71
#define SCL_PIN -1
#define EEPROM_AVAILABLE EEPROM_NONE
#endif
// Ultratronics Board (experimental, use with care probably even not working!)
// http://www.reprapworld.com
#if MOTHERBOARD == 409
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
#define ORIG_X_STEP_PIN 35
#define ORIG_X_DIR_PIN 34
#define ORIG_X_MIN_PIN 31
#define ORIG_X_MAX_PIN 30
#define ORIG_X_ENABLE_PIN 37
#define ORIG_Y_STEP_PIN 22
#define ORIG_Y_DIR_PIN 23
#define ORIG_Y_MIN_PIN 12
#define ORIG_Y_MAX_PIN 11
#define ORIG_Y_ENABLE_PIN 9
#define ORIG_Z_STEP_PIN 25
#define ORIG_Z_DIR_PIN 26
#define ORIG_Z_MIN_PIN 29
#define ORIG_Z_MAX_PIN 28
#define ORIG_Z_ENABLE_PIN 24
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
#define HEATER_0_PIN 3
// Due analog pin A0 = channel 7
#define TEMP_0_PIN 7
#define HEATER_1_PIN 2
// Due analog pin A1 = channel 6
#define TEMP_1_PIN 6
// Due analog pin #58
#define HEATER_2_PIN 8
// Due analog pin A2 = channel 5
#define TEMP_2_PIN 5
#define HEATER_3_PIN 6
// Due analog pin A3 = channel 4
#define TEMP_3_PIN 4
#define HEATER_4_PIN 9
// Due analog pin A4 = channel 3
#define TEMP_4_PIN 3
// Dua analog pin #59 = A5 -> AD 2
#define THERMOCOUPLE_0_PIN 65
#define THERMOCOUPLE_1_PIN 52
#define THERMOCOUPLE_2_PIN 51
#define THERMOCOUPLE_3_PIN 50
#define ORIG_E0_STEP_PIN 47
#define ORIG_E0_DIR_PIN 46
#define ORIG_E0_ENABLE_PIN 48
#define ORIG_E1_STEP_PIN 44
#define ORIG_E1_DIR_PIN 36
#define ORIG_E1_ENABLE_PIN 45
#define ORIG_E2_STEP_PIN 42
#define ORIG_E2_DIR_PIN 41
#define ORIG_E2_ENABLE_PIN 43
#define ORIG_E3_STEP_PIN 39
#define ORIG_E3_DIR_PIN 38
#define ORIG_E3_ENABLE_PIN 40
#define SDSUPPORT -1
#define SDPOWER -1
// 4,10,52 if using HW SPI.
#define SDSS 59
#define MOSI_PIN 75
#define MISO_PIN 74
#define SCK_PIN 76
#define ORIG_SDCARDDETECT 60
#define SDCARDDETECTINVERTED 0
#define LED_PIN -1
#define ORIG_FAN_PIN 5
#define ORIG_FAN2_PIN -1
#define ORIG_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.
// 20 or 70
#define SDA_PIN 70
//21 or 71
#define SCL_PIN 71
// Servo pins: 5,6 und 39
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,TEMP_0_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,TEMP_2_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,TEMP_3_PIN,
#define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,TEMP_4_PIN,
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 64 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
// Ultronics has no eeprom for storing changeable data
// as a solution you can use sd card. But this requires always
// the same sd card when powering up the printer
//#define EEPROM_AVAILABLE EEPROM_NONE
#define EEPROM_AVAILABLE EEPROM_SDCARD
#endif
/*****************************************************************
* DUE3DOM Board
* http://www.due3dom.pl
******************************************************************/
#if MOTHERBOARD == 410
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
#define ORIG_X_STEP_PIN 2
#define ORIG_X_DIR_PIN 3
#define ORIG_X_MIN_PIN 38
#define ORIG_X_MAX_PIN 36
#define ORIG_X_ENABLE_PIN 22
#define ORIG_Y_STEP_PIN 17
#define ORIG_Y_DIR_PIN 16
#define ORIG_Y_MIN_PIN 34
#define ORIG_Y_MAX_PIN 32
#define ORIG_Y_ENABLE_PIN 26
#define ORIG_Z_STEP_PIN 61
#define ORIG_Z_DIR_PIN 60
#define ORIG_Z_MIN_PIN 30
#define ORIG_Z_MAX_PIN 28
#define ORIG_Z_ENABLE_PIN 15
#define ORIG_E0_STEP_PIN 64
#define ORIG_E0_DIR_PIN 63
#define ORIG_E0_ENABLE_PIN 62
#define ORIG_E1_STEP_PIN 51
#define ORIG_E1_DIR_PIN 53
#define ORIG_E1_ENABLE_PIN 65
#define ORIG_E2_STEP_PIN 24
#define ORIG_E2_DIR_PIN 23
#define ORIG_E2_ENABLE_PIN 49
// hotend1 heater
#define HEATER_0_PIN 7
// bed heater
#define HEATER_1_PIN 39
// hotend2 heater
#define HEATER_2_PIN 8
// hotend1 thermistor
#define TEMP_0_PIN 7
// bed thermistor
#define TEMP_1_PIN 6
// hotend2 thermistor
#define TEMP_2_PIN 5
// thermo fan thermistor
#define TEMP_3_PIN 2
#define THERMOCOUPLE_0_PIN 3
#define THERMOCOUPLE_1_PIN 4
// print fan
#define ORIG_FAN_PIN 11
// hotend1 cooler
#define ORIG_FAN2_PIN 9
// hotend2 cooler / thermo fan / board fan
#define FAN_THERMO_PIN 12
#define SDSUPPORT 1
#define SDPOWER -1
#define SDSS 4
#define ORIG_SDCARDDETECT 14
#define SDCARDDETECTINVERTED 0
#define LED_PIN -1
#define ORIG_PS_ON_PIN 40
#define KILL_PIN -1
#define SUICIDE_PIN -1
#define SDA_PIN 20
#define SCL_PIN 21
//servo pins 5, 6, 13
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 64 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE 1
#endif
//End DUE3DOM Board
/*****************************************************************
* DUE3DOM MINI Board
* http://www.due3dom.pl
******************************************************************/
#if MOTHERBOARD == 411
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
#define ORIG_X_STEP_PIN 17
#define ORIG_X_DIR_PIN 16
#define ORIG_X_MIN_PIN 38
// on expansion port
#define ORIG_X_MAX_PIN 36
#define ORIG_X_ENABLE_PIN 22
#define ORIG_Y_STEP_PIN 2
#define ORIG_Y_DIR_PIN 3
#define ORIG_Y_MIN_PIN 34
// on expansion port
#define ORIG_Y_MAX_PIN 32
#define ORIG_Y_ENABLE_PIN 26
#define ORIG_Z_STEP_PIN 64
#define ORIG_Z_DIR_PIN 63
#define ORIG_Z_MIN_PIN 30
// on expansion port
#define ORIG_Z_MAX_PIN 28
#define ORIG_Z_ENABLE_PIN 15
#define ORIG_E0_STEP_PIN 61
#define ORIG_E0_DIR_PIN 60
#define ORIG_E0_ENABLE_PIN 62
// on expansion port
#define ORIG_E1_STEP_PIN -1
// on expansion port
#define ORIG_E1_DIR_PIN -1
// on expansion port
#define ORIG_E1_ENABLE_PIN -1
// on expansion port
#define ORIG_E2_STEP_PIN -1
// on expansion port
#define ORIG_E2_DIR_PIN -1
// on expansion port
#define ORIG_E2_ENABLE_PIN -1
// hotend1 heater
#define HEATER_0_PIN 13
// bed heater
#define HEATER_1_PIN 7
// on expansion port
#define HEATER_2_PIN -1
// hotend1 thermistor
#define TEMP_0_PIN 7
// bed thermistor
#define TEMP_1_PIN 6
// thermo fan thermistor
#define TEMP_2_PIN 5
// onboard thermistor NTC100K Beta3950
#define TEMP_3_PIN 2
// on expansion port
#define THERMOCOUPLE_0_PIN 3
// on expansion port
#define THERMOCOUPLE_1_PIN 4
#define SDSUPPORT 1
#define SDPOWER -1
#define SDSS 4
#define ORIG_SDCARDDETECT 14
#define SDCARDDETECTINVERTED 0
#define LED_PIN -1
// hotend1 cooler
#define ORIG_FAN_PIN 9
// print fan
#define ORIG_FAN2_PIN 11
// thermo fan
#define FAN_THERMO_PIN 12
// 4-pin header FAN0 - only for 4-pin fans !!!
#define FAN_BOARD_PIN 8
#define ORIG_PS_ON_PIN 40
#define KILL_PIN -1
#define SUICIDE_PIN -1
#define SDA_PIN 20
#define SCL_PIN 21
//servo pins 5, 6, 13
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 64 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 7 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE 1
#endif
//End DUE3DOM MINI Board
/*****************************************************************
* Alligator Board rev2
* http://www.3dartists.org/
******************************************************************/
//
#if MOTHERBOARD == 501
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Alligator 3D Printer Board R2' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
#define SPI_CHAN_DAC 1
#define STEPPER_CURRENT_CONTROL CURRENT_CONTROL_ALLIGATOR
/*****************************************************************
* Arduino Due Pin Assignments
******************************************************************/
// PB24
#define ORIG_X_STEP_PIN 96
// PB25
#define ORIG_X_DIR_PIN 2
// PC2
#define ORIG_X_MIN_PIN 34
// PC1
#define ORIG_X_MAX_PIN 33
// PA15, motor RESET pin
#define ORIG_X_ENABLE_PIN 24
// PC10
#define X_MS1_PIN 99
#define X_MS2_PIN -1
// PB22
#define ORIG_Y_STEP_PIN 94
// PB23
#define ORIG_Y_DIR_PIN 95
// PC5
#define ORIG_Y_MIN_PIN 37
// PC3
#define ORIG_Y_MAX_PIN 35
// PA15, motor RESET pin
#define ORIG_Y_ENABLE_PIN 24
// PC29
#define Y_MS1_PIN 10
#define Y_MS2_PIN -1
// PC27
#define ORIG_Z_STEP_PIN 98
// PC28
#define ORIG_Z_DIR_PIN 3
// PC7
#define ORIG_Z_MIN_PIN 39
// PC6
#define ORIG_Z_MAX_PIN 38
// PA15, motor RESET pin
#define ORIG_Z_ENABLE_PIN 24
// PC19
#define Z_MS1_PIN 44
#define Z_MS2_PIN -1
// PB26 , motor X-Y-Z-E0 motor FAULT
#define MOTOR_FAULT_PIN 22
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
// PA1
#define HEATER_0_PIN 68
// PA24, analog pin
#define TEMP_0_PIN 6
// PA0
#define HEATER_1_PIN 69
// PA16
#define TEMP_1_PIN 7
// PC22 on piggy
#define HEATER_2_PIN 8
// PA6, analog on piggy
#define TEMP_2_PIN 3
// PC21 on piggy
#define HEATER_3_PIN 9
// PA22, analog pin on piggy
#define TEMP_3_PIN 4
// PC20 on piggy
#define HEATER_4_PIN 97
// PA23 analog pin on piggy
#define TEMP_4_PIN 5
// PA15, motor RESET pin
#define ORIG_MOTOR_RESET 24
// PC25
#define ORIG_E0_STEP_PIN 5
// PC26
#define ORIG_E0_DIR_PIN 4
// PA15, motor RESET pin
#define ORIG_E0_ENABLE_PIN 24
// PC18
#define E0_MS1_PIN 45
#define E0_MS2_PIN -1
// PD3 on piggy
#define ORIG_E1_STEP_PIN 28
// PD2 on piggy
#define ORIG_E1_DIR_PIN 27
// PA15, motor RESET pin
#define ORIG_E1_ENABLE_PIN 24
#define E1_MS1_PIN -1
#define E1_MS2_PIN -1
// PD7 on piggy
#define ORIG_E2_STEP_PIN 11
// PD6 on piggy
#define ORIG_E2_DIR_PIN 29
// PA15, motor RESET pin
#define ORIG_E2_ENABLE_PIN 24
#define E2_MS_PIN -1
// PD9 on piggy
#define ORIG_E3_STEP_PIN 30
// PD8 on piggy
#define ORIG_E3_DIR_PIN 12
// PA15, motor RESET pin
#define ORIG_E3_ENABLE_PIN 24
#define E3_MS_PIN -1
#define SDSUPPORT true
#define SDPOWER -1
// PA28
#define SDSS 77
// PA29
#define ORIG_SDCARDDETECT 87
#define SDCARDDETECTINVERTED 0
#define LED_PIN -1
// PA5
#define ORIG_FAN_PIN 92
// PA7
#define ORIG_FAN2_PIN 31
#define ORIG_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 SDA_PIN -1 // i2c not used
#define SCL_PIN -1 // i2c not used
// PC4
#define CASE_LIGHTS_PIN 36
// PB20
#define EXP_VOLTAGE_LEVEL_PIN 65
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,
//** DAC for motor vfref current
// PB14
#define DAC0_SYNC 53
// PC24
#define DAC1_SYNC 6
//** EEPROM **
//64K SPI
#define SPI_CHAN_EEPROM1 2
// PD0
#define SPI_EEPROM1_CS 25
//2K SPI
// PD1
#define SPI_EEPROM2_CS 26
//** FLASH SPI**/
//32Mb
//PA14
#define SPI_FLASH_CS 23
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 32 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 10 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE EEPROM_SPI_ALLIGATOR //EEPROM_SPI_ALLIGATOR
#endif
// End Alligator Board
/*****************************************************************
* Alligator Board rev1
* http://www.3dartists.org/
******************************************************************/
//
#if MOTHERBOARD == 500
#ifndef __SAM3X8E__
#error Oops! Make sure you have 'Alligator 3D Printer Board R1' selected from the 'Tools -> Boards' menu.
#endif
#define KNOWN_BOARD
#define CPU_ARCH ARCH_ARM
#define SPI_CHAN_DAC 1
#define STEPPER_CURRENT_CONTROL CURRENT_CONTROL_DAC
/*****************************************************************
* Arduino Due Pin Assignments
******************************************************************/
// PB24
#define ORIG_X_STEP_PIN 96
// PB25
#define ORIG_X_DIR_PIN 2
// PC2
#define ORIG_X_MIN_PIN 34
// PC1
#define ORIG_X_MAX_PIN 33
// PA15, motor RESET pin
#define ORIG_X_ENABLE_PIN 24
// PB22
#define ORIG_Y_STEP_PIN 94
// PB23
#define ORIG_Y_DIR_PIN 95
// PC5
#define ORIG_Y_MIN_PIN 37
// PC3
#define ORIG_Y_MAX_PIN 35
// PA15, motor RESET pin
#define ORIG_Y_ENABLE_PIN 24
// PC27
#define ORIG_Z_STEP_PIN 98
// PC28
#define ORIG_Z_DIR_PIN 3
// PC7
#define ORIG_Z_MIN_PIN 39
// PC6
#define ORIG_Z_MAX_PIN 38
// PA15, motor RESET pin
#define ORIG_Z_ENABLE_PIN 24
// Note that on the Due pin A0 on the board is channel 2 on the ARM chip
// PA1
#define HEATER_0_PIN 68
// PA4, analog pin
#define TEMP_0_PIN 2
// PA0
#define HEATER_1_PIN 69
// PA6, analog pn
#define TEMP_1_PIN 3
#define HEATER_2_PIN -1 // PC22 on piggy
#define TEMP_2_PIN -1 // PA3 analog pin on piggy
#define HEATER_3_PIN -1 // PC21 on piggy
#define TEMP_3_PIN -1 // PA2, analog pin on piggy
#define HEATER_4_PIN -1 // PC20 on piggy
#define TEMP_4_PIN -1 //PB12, analog pin on piggy
#define ORIG_ENABLE_PIN 24
// PC25
#define ORIG_E0_STEP_PIN 5
// PC26
#define ORIG_E0_DIR_PIN 4
#define ORIG_E0_ENABLE_PIN 24
#define ORIG_E1_STEP_PIN -1 // PD3 on piggy
#define ORIG_E1_DIR_PIN -1 // PD2 on piggy
#define ORIG_E1_ENABLE_PIN -1
#define ORIG_E2_STEP_PIN -1 // PD7 on piggy
#define ORIG_E2_DIR_PIN -1 // PD6 on piggy
#define ORIG_E2_ENABLE_PIN -1
#define ORIG_E3_STEP_PIN -1 // PD9 on piggy
#define ORIG_E3_DIR_PIN -1 // PD8 on piggy
#define ORIG_E3_ENABLE_PIN -1
#define SDSUPPORT true
#define SDPOWER -1
// PA28
#define SDSS 77
// PA29
#define ORIG_SDCARDDETECT 87
#define SDCARDDETECTINVERTED false
#define LED_PIN -1
//92(orig) // PA5
#define ORIG_FAN_PIN 92
//31(orig) // PA7
#define ORIG_FAN2_PIN 31
#define ORIG_PS_ON_PIN -1
#define KILL_PIN ORIG_X_MIN_PIN
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
#define HEAT_OFF_INT_PIN 50
#define SDA_PIN -1 // i2c not used
#define SCL_PIN -1 // i2c not used
//PC9
#define CASE_LIGHTS_PIN 41
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
#define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,
//** DAC for motor vfref current
#define DAC0_SYNC 53 // PB14
#define DAC1_SYNC 53 // PB14
//** EEPROM **
//64K SPI
#define SPI_CHAN_EEPROM1 2
#define SPI_EEPROM1_CS 25 // PD0
//2K SPI
#define SPI_EEPROM2_CS 26 // PD1
//** FLASH SPI**/
//32Mb
#define SPI_FLASH_CS 23 //PA14
#define TWI_CLOCK_FREQ 400000
// see eeprom device data sheet for the following values these are for 24xx256
#define EEPROM_SERIAL_ADDR 0x50 // 7 bit i2c address (without R/W bit)
#define EEPROM_PAGE_SIZE 32 // page write buffer size
#define EEPROM_PAGE_WRITE_TIME 10 // page write time in milliseconds (docs say 5ms but that is too short)
// specify size of eeprom address register
// TWI_MMR_IADRSZ_1_BYTE for 1 byte, or TWI_MMR_IADRSZ_2_BYTE for 2 byte
#define EEPROM_ADDRSZ_BYTES TWI_MMR_IADRSZ_2_BYTE
#define EEPROM_AVAILABLE EEPROM_SPI_ALLIGATOR
#endif
#if MOTHERBOARD == 999
#define KNOWN_BOARD
#include "userpins.h"
//Davinci 0 Specific
#else
#define LIGHT_PIN -1
#define BADGE_LIGHT_PIN -1
//#define TOP_SENSOR_PIN -1
//#define FIL_SENSOR1_PIN -1
//#define FIL_SENSOR2_PIN -1
#endif
#ifndef SDSSORIG
#define SDSSORIG -1
#endif
#ifndef STEPPER_CURRENT_CONTROL // Set default stepper current control if not set yet.
#define STEPPER_CURRENT_CONTROL CURRENT_CONTROL_MANUAL
#endif
#ifndef FAN_BOARD_PIN
#define FAN_BOARD_PIN -1
#endif
#if NUM_EXTRUDER < 2
#undef E1_PINS
#define E1_PINS
//Davinci Specific, second extruder pins are in sensitive pins
#define HEATER_2_PIN -1
#define TEMP_2_PIN -1
#endif
#if NUM_EXTRUDER < 3
#undef E2_PINS
#define E2_PINS
#endif
#ifndef HEATER_PINS_INVERTED
#define HEATER_PINS_INVERTED 0
#endif
//Available chip select pins for HW SPI are 4 10 52
#if (SDSS == 4) || (SDSS == 10) || (SDSS == 52) || (SDSS == 77)
#if (SDSS == 10)
#define SPI_PIN 77
#define SPI_CHAN 0
#else
#if (SDSS == 52)
#define SPI_PIN 86
#define SPI_CHAN 2
#else // SDSS == 4
#if (SDSS == 4)
#define SPI_PIN 87
#define SPI_CHAN 1
#else //SDSS == 77
#define SPI_PIN 77
#define SPI_CHAN 0
#endif
#endif
#endif
#define MOSI_PIN 75
#define MISO_PIN 74
#define SCK_PIN 76
//#define DUE_SOFTWARE_SPI
//Davinci Specific, SD Card pins are defined in Userpins.h
#else
#if MOTHERBOARD != 999
#define DUE_SOFTWARE_SPI
/* could be any pin with software */
#ifndef MOSI_PIN
#define MOSI_PIN 51
#endif
#ifndef MISO_PIN
#define MISO_PIN 50
#endif
#ifndef SCK_PIN
#define SCK_PIN 52
#endif
#endif
#endif
// Original pin assignmats to be used in configuration tool
#define X_STEP_PIN ORIG_X_STEP_PIN
#define X_DIR_PIN ORIG_X_DIR_PIN
#define X_ENABLE_PIN ORIG_X_ENABLE_PIN
#define X_MIN_PIN ORIG_X_MIN_PIN
#define X_MAX_PIN ORIG_X_MAX_PIN
#define Y_STEP_PIN ORIG_Y_STEP_PIN
#define Y_DIR_PIN ORIG_Y_DIR_PIN
#define Y_ENABLE_PIN ORIG_Y_ENABLE_PIN
#define Y_MIN_PIN ORIG_Y_MIN_PIN
#define Y_MAX_PIN ORIG_Y_MAX_PIN
#define Z_STEP_PIN ORIG_Z_STEP_PIN
#define Z_DIR_PIN ORIG_Z_DIR_PIN
#define Z_ENABLE_PIN ORIG_Z_ENABLE_PIN
#define Z_MIN_PIN ORIG_Z_MIN_PIN
#define Z_MAX_PIN ORIG_Z_MAX_PIN
#define E0_STEP_PIN ORIG_E0_STEP_PIN
#define E0_DIR_PIN ORIG_E0_DIR_PIN
#define E0_ENABLE_PIN ORIG_E0_ENABLE_PIN
#define E1_STEP_PIN ORIG_E1_STEP_PIN
#define E1_DIR_PIN ORIG_E1_DIR_PIN
#define E1_ENABLE_PIN ORIG_E1_ENABLE_PIN
#define E2_STEP_PIN ORIG_E2_STEP_PIN
#define E2_DIR_PIN ORIG_E2_DIR_PIN
#define E2_ENABLE_PIN ORIG_E2_ENABLE_PIN
#define E3_STEP_PIN ORIG_E3_STEP_PIN
#define E3_DIR_PIN ORIG_E3_DIR_PIN
#define E3_ENABLE_PIN ORIG_E3_ENABLE_PIN
#define E4_STEP_PIN ORIG_E4_STEP_PIN
#define E4_DIR_PIN ORIG_E4_DIR_PIN
#define E4_ENABLE_PIN ORIG_E4_ENABLE_PIN
#define E5_STEP_PIN ORIG_E5_STEP_PIN
#define E5_DIR_PIN ORIG_E5_DIR_PIN
#define E5_ENABLE_PIN ORIG_E5_ENABLE_PIN
#ifndef FAN_PIN
#define FAN_PIN ORIG_FAN_PIN
#endif
#ifdef ORIG_FAN2_PIN
#define FAN2_PIN ORIG_FAN2_PIN
#endif
#define PS_ON_PIN ORIG_PS_ON_PIN
#ifndef ORIG_SDCARDDETECT
#define ORIG_SDCARDDETECT -1
#endif
#define SDCARDDETECT ORIG_SDCARDDETECT
//Davinci Specific, sensitive pins need second extruder pins
#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, LED_PIN, ORIG_PS_ON_PIN, \
HEATER_0_PIN, HEATER_1_PIN, HEATER_2_PIN,FAN_PIN, E0_PINS E1_PINS E2_PINS TEMP_0_PIN, TEMP_1_PIN, TEMP_2_PIN, SDSS }
#endif