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