--- /dev/null
+/* Notice to developers: this file is intentionally included twice. */
+\r
+/*\r
+ CPU clock rate\r
+*/\r
+#ifndef F_CPU\r
+ #define F_CPU 16000000L\r
+#endif\r
+\r
+/*\r
+ other fallbacks for the Arduino IDE\r
+*/\r
+#define EXTRUDER\r
+#define GEN3\r
+\r
+#include "arduino.h"\r
+\r
+// controller index- bus is multidrop after all\r
+#define THIS_CONTROLLER_NUM 0\r
+\r
+//RS485 Interface pins\r
+#define RX_ENABLE_PIN DIO4\r
+#define TX_ENABLE_PIN AIO2\r
+\r
+// Control pins for the A3949 chips\r
+#define H1D DIO7\r
+#define H1E DIO5\r
+#define H2D DIO8\r
+#define H2E DIO6\r
+\r
+// PWM versions of the enable_pins\r
+#define H1E_PWM OCR0B\r
+#define H2E_PWM OCR0A\r
+\r
+//Step/Dir Pins from motherboard to extruder\r
+//IMPORTANT: Assumes that the step pin is on PCIE0\r
+#define E_STEP_PIN DIO10\r
+#define E_DIR_PIN DIO9\r
+\r
+//Trimpot is on AIO0, pin 23\r
+#define TRIM_POT AIO0\r
+#define TRIM_POT_CHANNEL 0\r
+\r
+//Read analog voltage from thermistor\r
+#define TEMP_PIN AIO3\r
+#define TEMP_PIN_CHANNEL 3\r
+\r
+//Read analog voltage from thermistor\r
+#define TEMP_BED_PIN AIO6\r
+#define TEMP_BED_PIN_CHANNEL 6\r
+\r
+\r
+#define REFERENCE REFERENCE_AVCC\r
+\r
+#define TEMP_THERMISTOR\r
+\r
+#define HEATER_PIN DIO11\r
+#define BED_PIN AIO1\r
+#define FAN_PIN DIO12\r
+\r
+// extruder settings\r
+#define TEMP_HYSTERESIS 5
+#define TEMP_RESIDENCY_TIME 60\r
+\r
+#ifdef DEFINE_TEMP_SENSOR\r
+DEFINE_TEMP_SENSOR(extruder, TT_THERMISTOR, TEMP_PIN_CHANNEL, THERMISTOR_EXTRUDER)\r
+DEFINE_TEMP_SENSOR(bed, TT_THERMISTOR, TEMP_BED_PIN_CHANNEL, THERMISTOR_EXTRUDER)\r
+// dummy temp sensor so analog_mask includes trim pot\r
+DEFINE_TEMP_SENSOR(noheater, TT_THERMISTOR, TRIM_POT_CHANNEL, 0)\r
+#endif\r
+\r
+#ifdef DEFINE_HEATER\r
+DEFINE_HEATER(extruder, DIO11)\r
+DEFINE_HEATER(bed, AIO1)\r
+#endif\r
+\r
+// list of PWM-able pins and corresponding timers\r
+// timer1 is used for step timing so don't use OC1A/OC1B (DIO9/DIO10)\r
+// OC0A DIO6\r
+// OC0B DIO5\r
+// OC1A DIO9\r
+// OC1B DIO10\r
+// OC2A DIO11\r
+// OC2B DIO3\r
+\r
+#define TH_COUNT 8\r
+#define PID_SCALE 1024L\r
+\r
+\r
+/*\r
+ Motors\r
+*/\r
+\r
+#define enable_motors() do { TCCR0A |= MASK(COM0A1) | MASK(COM0B1); } while (0)\r
+#define disable_motors() do { TCCR0A &= ~MASK(COM0A1) & ~MASK(COM0B1); } while (0)\r