summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Sprinter/Configuration.h14
-rw-r--r--Sprinter/Sd2PinMap.h2
-rw-r--r--Sprinter/fastio.h4
-rw-r--r--Sprinter/pins.h131
-rw-r--r--Sprinter/thermistortables.h122
5 files changed, 261 insertions, 12 deletions
diff --git a/Sprinter/Configuration.h b/Sprinter/Configuration.h
index 354e59d..aa676bd 100644
--- a/Sprinter/Configuration.h
+++ b/Sprinter/Configuration.h
@@ -9,6 +9,8 @@
// Gen6 = 5,
// Sanguinololu up to 1.1 = 6
// Sanguinololu 1.2 and above = 62
+// Gen 3 Plus = 21
+// gen 3 Monolithic Electronics = 22
#define MOTHERBOARD 3
//// Thermistor settings:
@@ -16,6 +18,8 @@
// 2 is 200k thermistor
// 3 is mendel-parts thermistor
// 4 is 10k thermistor
+// 5 is ParCan supplied 104GT-2 100K
+// 6 is EPCOS 100k
#define THERMISTORHEATER 1
#define THERMISTORBED 1
@@ -29,7 +33,7 @@ float axis_steps_per_unit[] = {80, 80, 3200/1.25,700};
//float axis_steps_per_unit[] = {104.987, 104.987, 4545.4544, 1487};
//// Endstop Settings
-#define ENDSTOPPULLUPS 1 // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
+#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the endstops
//If your axes are only moving in one direction, make sure the endstops are connected properly.
@@ -39,7 +43,7 @@ const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the
#define BAUDRATE 115200
// Comment out (using // at the start of the line) to disable SD support:
-#define SDSUPPORT 1
+#define SDSUPPORT
//// ADVANCED SETTINGS - to tweak parameters
@@ -91,7 +95,7 @@ bool axis_relative_modes[] = {false, false, false, false};
//#define STEP_DELAY_RATIO 0.25
// Comment this to disable ramp acceleration
-#define RAMP_ACCELERATION 1
+#define RAMP_ACCELERATION
//// Acceleration settings
#ifdef RAMP_ACCELERATION
@@ -111,7 +115,7 @@ char uuid[] = "00000000-0000-0000-0000-000000000000";
//// PID settings:
// Uncomment the following line to enable PID support. This is untested and could be disastrous. Be careful.
-//#define PIDTEMP 1
+//#define PIDTEMP
#ifdef PIDTEMP
#define PID_INTEGRAL_DRIVE_MAX 220
#define PID_PGAIN 180 //100 is 1.0
@@ -137,7 +141,7 @@ char uuid[] = "00000000-0000-0000-0000-000000000000";
#define DISABLE_CHECK_DURING_TRAVEL 1000
//// Temperature smoothing - only uncomment this if your temp readings are noisy (Gen6 without EvdZ's 5V hack)
-//#define SMOOTHING 1
+//#define SMOOTHING
//#define SMOOTHFACTOR 16 //best to use a power of two here - determines how many values are averaged together by the smoothing algorithm
//// Experimental watchdog and minimal temp
diff --git a/Sprinter/Sd2PinMap.h b/Sprinter/Sd2PinMap.h
index 4bd75a3..55518ed 100644
--- a/Sprinter/Sd2PinMap.h
+++ b/Sprinter/Sd2PinMap.h
@@ -117,7 +117,7 @@ static const pin_map_t digitalPinMap[] = {
{&DDRK, &PINK, &PORTK, 7} // K7 69
};
//------------------------------------------------------------------------------
-#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
+#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega1284P__)
// Sanguino
// Two Wire (aka I2C) ports
diff --git a/Sprinter/fastio.h b/Sprinter/fastio.h
index 1d28d05..73410cb 100644
--- a/Sprinter/fastio.h
+++ b/Sprinter/fastio.h
@@ -400,7 +400,7 @@ pins
#define PD7_PWM NULL
#endif /* _AVR_ATmega{168,328,328P}__ */
-#if defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__)
+#if defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__)
// UART
#define RXD DIO8
#define TXD DIO9
@@ -901,7 +901,7 @@ pins
#define PD7_WPORT PORTD
#define PD7_DDR DDRD
#define PD7_PWM &OCR2A
-#endif /* _AVR_ATmega{644,644P,644PA}__ */
+#endif /* _AVR_ATmega{644,644P,644PA,1284P}__ */
#if defined (__AVR_ATmega1280__) || defined (__AVR_ATmega2560__)
// UART
diff --git a/Sprinter/pins.h b/Sprinter/pins.h
index aeb747d..93b69ae 100644
--- a/Sprinter/pins.h
+++ b/Sprinter/pins.h
@@ -98,7 +98,7 @@
#if MOTHERBOARD == 1
#define KNOWN_BOARD 1
-#ifndef __AVR_ATmega644P__
+#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
@@ -148,7 +148,7 @@
#if MOTHERBOARD == 2
#define KNOWN_BOARD 1
-#ifndef __AVR_ATmega644P__
+#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
@@ -201,6 +201,129 @@
#endif
/****************************************************************************************
+* Gen3 PLUS
+*
+****************************************************************************************/
+#if MOTHERBOARD == 21
+#define KNOWN_BOARD 1
+
+#ifndef __AVR_ATmega644P__
+ #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
+#endif
+
+
+//x axis pins
+#define X_STEP_PIN 15
+#define X_DIR_PIN 18
+#define X_ENABLE_PIN 19
+#define X_MIN_PIN 20
+#define X_MAX_PIN -1
+
+//y axis pins
+#define Y_STEP_PIN 23
+#define Y_DIR_PIN 22
+#define Y_ENABLE_PIN 24
+#define Y_MIN_PIN 25
+#define Y_MAX_PIN -1
+
+//z axis pins
+#define Z_STEP_PIN 27
+#define Z_DIR_PIN 28
+#define Z_ENABLE_PIN 29
+#define Z_MIN_PIN 30
+#define Z_MAX_PIN -1
+
+#define E_DIR_PIN 21
+#define E_STEP_PIN 17
+#define E_ENABLE_PIN 13
+
+//heaters
+
+//pin for hot end heater
+#define HEATER_0_PIN 12
+
+//Pin for heated bed heater
+#define HEATER_1_PIN 5
+
+
+//pin for debugging.
+#define DEBUG_PIN -1
+
+//SD card pin
+
+#define SDSS 4
+
+#define SDPOWER -1
+#define FAN_PIN -1
+#define TEMP_0_PIN 0
+#define TEMP_1_PIN 5
+#define LED_PIN -1
+
+//pin for controlling the PSU.
+#define PS_ON_PIN 14
+
+#endif
+
+/****************************************************************************************
+* Gen3 Monolithic Electronics
+*
+****************************************************************************************/
+#if MOTHERBOARD == 22
+#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
+#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
+#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
+#define Z_ENABLE_PIN 29
+#define Z_MAX_PIN -1
+
+//extruder pins
+#define E_STEP_PIN 12
+#define E_DIR_PIN 17
+#define E_ENABLE_PIN 3
+#define HEATER_0_PIN 16
+#define TEMP_0_PIN 0
+
+#define FAN_PIN -1
+
+//bed pins
+#define HEATER_1_PIN -1
+#define TEMP_1_PIN -1
+
+
+#define SDSS -1
+#define SDPOWER -1
+#define LED_PIN -1
+
+//pin for controlling the PSU.
+#define PS_ON_PIN 14
+
+#endif
+
+
+/****************************************************************************************
* Arduino Mega pin assignment
*
****************************************************************************************/
@@ -376,7 +499,7 @@
#if MOTHERBOARD == 5
#define KNOWN_BOARD 1
-#ifndef __AVR_ATmega644P__
+#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
@@ -435,7 +558,7 @@
#endif
#if MOTHERBOARD == 6
#define KNOWN_BOARD 1
-#ifndef __AVR_ATmega644P__
+#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
diff --git a/Sprinter/thermistortables.h b/Sprinter/thermistortables.h
index de9aee6..67fb666 100644
--- a/Sprinter/thermistortables.h
+++ b/Sprinter/thermistortables.h
@@ -157,6 +157,116 @@ short temptable_4[NUMTEMPS_4][2] = {
};
#endif
+#if (THERMISTORHEATER == 5) || (THERMISTORBED == 5) //100k ParCan thermistor (104GT-2)
+
+#define NUMTEMPS_5 61
+const short temptable_5[NUMTEMPS_5][2] = {
+{1, 713},
+{18, 316},
+{35, 266},
+{52, 239},
+{69, 221},
+{86, 208},
+{103, 197},
+{120, 188},
+{137, 181},
+{154, 174},
+{171, 169},
+{188, 163},
+{205, 159},
+{222, 154},
+{239, 150},
+{256, 147},
+{273, 143},
+{290, 140},
+{307, 136},
+{324, 133},
+{341, 130},
+{358, 128},
+{375, 125},
+{392, 122},
+{409, 120},
+{426, 117},
+{443, 115},
+{460, 112},
+{477, 110},
+{494, 108},
+{511, 106},
+{528, 103},
+{545, 101},
+{562, 99},
+{579, 97},
+{596, 95},
+{613, 92},
+{630, 90},
+{647, 88},
+{664, 86},
+{681, 84},
+{698, 81},
+{715, 79},
+{732, 77},
+{749, 75},
+{766, 72},
+{783, 70},
+{800, 67},
+{817, 64},
+{834, 61},
+{851, 58},
+{868, 55},
+{885, 52},
+{902, 48},
+{919, 44},
+{936, 40},
+{953, 34},
+{970, 28},
+{987, 20},
+{1004, 8},
+{1021, 0}
+};
+#endif
+
+#if (THERMISTORHEATER == 6) || (THERMISTORBED == 6) // 100k Epcos thermistor
+#define NUMTEMPS_6 36
+const short temptable_6[NUMTEMPS_6][2] = {
+ {28, 250},
+ {31, 245},
+ {35, 240},
+ {39, 235},
+ {42, 230},
+ {44, 225},
+ {49, 220},
+ {53, 215},
+ {62, 210},
+ {73, 205},
+ {72, 200},
+ {94, 190},
+ {102, 185},
+ {116, 170},
+ {143, 160},
+ {183, 150},
+ {223, 140},
+ {270, 130},
+ {318, 120},
+ {383, 110},
+ {413, 105},
+ {439, 100},
+ {484, 95},
+ {513, 90},
+ {607, 80},
+ {664, 70},
+ {781, 60},
+ {810, 55},
+ {849, 50},
+ {914, 45},
+ {914, 40},
+ {935, 35},
+ {954, 30},
+ {970, 25},
+ {978, 22},
+ {1008, 3}
+};
+#endif
+
#if THERMISTORHEATER == 1
#define NUMTEMPS NUMTEMPS_1
#define temptable temptable_1
@@ -169,6 +279,12 @@ short temptable_4[NUMTEMPS_4][2] = {
#elif THERMISTORHEATER == 4
#define NUMTEMPS NUMTEMPS_4
#define temptable temptable_4
+#elif THERMISTORHEATER == 5
+#define NUMTEMPS NUMTEMPS_5
+#define temptable temptable_5
+#elif THERMISTORHEATER == 6
+#define NUMTEMPS NUMTEMPS_6
+#define temptable temptable_6
#elif defined HEATER_USES_THERMISTOR
#error No heater thermistor table specified
#endif
@@ -184,6 +300,12 @@ short temptable_4[NUMTEMPS_4][2] = {
#elif THERMISTORBED == 4
#define BNUMTEMPS NUMTEMPS_4
#define bedtemptable temptable_4
+#elif THERMISTORBED == 5
+#define BNUMTEMPS NUMTEMPS_5
+#define bedtemptable temptable_5
+#elif THERMISTORBED == 6
+#define BNUMTEMPS NUMTEMPS_6
+#define bedtemptable temptable_6
#elif defined BED_USES_THERMISTOR
#error No bed thermistor table specified
#endif