Merge remote branch 'origin/experimental' into experimental
This commit is contained in:
commit
edb91dd6fa
5 changed files with 182 additions and 140 deletions
|
|
@ -15,6 +15,7 @@
|
|||
// 1 is 100k thermistor
|
||||
// 2 is 200k thermistor
|
||||
// 3 is mendel-parts thermistor
|
||||
// 4 is 10k thermistor
|
||||
#define THERMISTORHEATER 1
|
||||
#define THERMISTORBED 1
|
||||
|
||||
|
|
@ -28,6 +29,8 @@ float axis_steps_per_unit[] = {80, 80, 3200/1.25,700};
|
|||
#define ENDSTOPPULLUPS 1 // 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.
|
||||
//If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here
|
||||
|
||||
// This determines the communication speed of the printer
|
||||
#define BAUDRATE 115200
|
||||
|
|
@ -41,10 +44,10 @@ const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the
|
|||
#include "thermistortables.h"
|
||||
|
||||
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
|
||||
const bool X_ENABLE_ON = 0;
|
||||
const bool Y_ENABLE_ON = 0;
|
||||
const bool Z_ENABLE_ON = 0;
|
||||
const bool E_ENABLE_ON = 0;
|
||||
#define X_ENABLE_ON 0
|
||||
#define Y_ENABLE_ON 0
|
||||
#define Z_ENABLE_ON 0
|
||||
#define E_ENABLE_ON 0
|
||||
|
||||
// Disables axis when it's not being used.
|
||||
const bool DISABLE_X = false;
|
||||
|
|
@ -60,9 +63,9 @@ const bool INVERT_E_DIR = false;
|
|||
|
||||
//// ENDSTOP SETTINGS:
|
||||
// Sets direction of endstops when homing; 1=MAX, -1=MIN
|
||||
const int X_HOME_DIR = -1;
|
||||
const int Y_HOME_DIR = -1;
|
||||
const int Z_HOME_DIR = -1;
|
||||
#define X_HOME_DIR -1
|
||||
#define Y_HOME_DIR -1
|
||||
#define Z_HOME_DIR -1
|
||||
|
||||
const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero.
|
||||
const bool max_software_endstops = true; //If true, axis won't move to coordinates greater than the defined lengths below.
|
||||
|
|
@ -73,6 +76,7 @@ const int Z_MAX_LENGTH = 100;
|
|||
//// MOVEMENT SETTINGS
|
||||
const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E
|
||||
float max_feedrate[] = {200000, 200000, 240, 500000};
|
||||
float homing_feedrate[] = {1500,1500,120};
|
||||
bool axis_relative_modes[] = {false, false, false, false};
|
||||
|
||||
// Min step delay in microseconds. If you are experiencing missing steps, try to raise the delay microseconds, but be aware this
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ int tt = 0, bt = 0;
|
|||
int temp_iState_max = 100 * PID_INTEGRAL_DRIVE_MAX / PID_IGAIN;
|
||||
#endif
|
||||
#ifdef SMOOTHING
|
||||
uint32_t nma = SMOOTHFACTOR * analogRead(TEMP_0_PIN);
|
||||
uint32_t nma = 0;
|
||||
#endif
|
||||
#ifdef WATCHPERIOD
|
||||
int watch_raw = -1000;
|
||||
|
|
@ -541,8 +541,7 @@ inline void process_commands()
|
|||
case 28: //G28 Home all Axis one at a time
|
||||
saved_feedrate = feedrate;
|
||||
for(int i=0; i < NUM_AXIS; i++) {
|
||||
destination[i] = 0;
|
||||
current_position[i] = 0;
|
||||
destination[i] = current_position[i];
|
||||
}
|
||||
feedrate = 0;
|
||||
|
||||
|
|
@ -552,7 +551,7 @@ inline void process_commands()
|
|||
if ((X_MIN_PIN > -1 && X_HOME_DIR==-1) || (X_MAX_PIN > -1 && X_HOME_DIR==1)){
|
||||
current_position[0] = 0;
|
||||
destination[0] = 1.5 * X_MAX_LENGTH * X_HOME_DIR;
|
||||
feedrate = max_start_speed_units_per_second[0] * 60;
|
||||
feedrate = homing_feedrate[0];
|
||||
prepare_move();
|
||||
|
||||
current_position[0] = 0;
|
||||
|
|
@ -562,8 +561,8 @@ inline void process_commands()
|
|||
destination[0] = 10 * X_HOME_DIR;
|
||||
prepare_move();
|
||||
|
||||
current_position[0] = 0;
|
||||
destination[0] = 0;
|
||||
current_position[0] = (X_HOME_DIR == -1) ? 0 : X_MAX_LENGTH;
|
||||
destination[0] = current_position[0];
|
||||
feedrate = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -572,7 +571,7 @@ inline void process_commands()
|
|||
if ((Y_MIN_PIN > -1 && Y_HOME_DIR==-1) || (Y_MAX_PIN > -1 && Y_HOME_DIR==1)){
|
||||
current_position[1] = 0;
|
||||
destination[1] = 1.5 * Y_MAX_LENGTH * Y_HOME_DIR;
|
||||
feedrate = max_start_speed_units_per_second[1] * 60;
|
||||
feedrate = homing_feedrate[1];
|
||||
prepare_move();
|
||||
|
||||
current_position[1] = 0;
|
||||
|
|
@ -582,8 +581,8 @@ inline void process_commands()
|
|||
destination[1] = 10 * Y_HOME_DIR;
|
||||
prepare_move();
|
||||
|
||||
current_position[1] = 0;
|
||||
destination[1] = 0;
|
||||
current_position[1] = (Y_HOME_DIR == -1) ? 0 : Y_MAX_LENGTH;
|
||||
destination[1] = current_position[1];
|
||||
feedrate = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -592,7 +591,7 @@ inline void process_commands()
|
|||
if ((Z_MIN_PIN > -1 && Z_HOME_DIR==-1) || (Z_MAX_PIN > -1 && Z_HOME_DIR==1)){
|
||||
current_position[2] = 0;
|
||||
destination[2] = 1.5 * Z_MAX_LENGTH * Z_HOME_DIR;
|
||||
feedrate = max_feedrate[2]/2;
|
||||
feedrate = homing_feedrate[2];
|
||||
prepare_move();
|
||||
|
||||
current_position[2] = 0;
|
||||
|
|
@ -602,8 +601,8 @@ inline void process_commands()
|
|||
destination[2] = 10 * Z_HOME_DIR;
|
||||
prepare_move();
|
||||
|
||||
current_position[2] = 0;
|
||||
destination[2] = 0;
|
||||
current_position[2] = (Z_HOME_DIR == -1) ? 0 : Z_MAX_LENGTH;
|
||||
destination[2] = current_position[2];
|
||||
feedrate = 0;
|
||||
|
||||
}
|
||||
|
|
@ -734,7 +733,9 @@ inline void process_commands()
|
|||
#endif
|
||||
break;
|
||||
case 140: // M140 set bed temp
|
||||
if (code_seen('S')) target_bed_raw = temp2analogBed(code_value());
|
||||
#if TEMP_1_PIN > -1 || defined BED_USES_AD595
|
||||
if (code_seen('S')) target_bed_raw = temp2analogBed(code_value());
|
||||
#endif
|
||||
break;
|
||||
case 105: // M105
|
||||
#if (TEMP_0_PIN > -1) || defined (HEATER_USES_MAX6675)|| defined HEATER_USES_AD595
|
||||
|
|
@ -1389,6 +1390,7 @@ void manage_heater()
|
|||
current_raw = read_max6675();
|
||||
#endif
|
||||
#ifdef SMOOTHING
|
||||
if (!nma) nma = SMOOTHFACTOR * current_raw;
|
||||
nma = (nma + current_raw) - (nma / SMOOTHFACTOR);
|
||||
current_raw = nma / SMOOTHFACTOR;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -179,53 +179,53 @@ pins
|
|||
#define DIO13_PWM NULL
|
||||
|
||||
|
||||
#define AIO0_PIN PINC0
|
||||
#define AIO0_RPORT PINC
|
||||
#define AIO0_WPORT PORTC
|
||||
#define AIO0_DDR DDRC
|
||||
#define AIO0_PWM NULL
|
||||
#define DIO14_PIN PINC0
|
||||
#define DIO14_RPORT PINC
|
||||
#define DIO14_WPORT PORTC
|
||||
#define DIO14_DDR DDRC
|
||||
#define DIO14_PWM NULL
|
||||
|
||||
#define AIO1_PIN PINC1
|
||||
#define AIO1_RPORT PINC
|
||||
#define AIO1_WPORT PORTC
|
||||
#define AIO1_DDR DDRC
|
||||
#define AIO1_PWM NULL
|
||||
#define DIO15_PIN PINC1
|
||||
#define DIO15_RPORT PINC
|
||||
#define DIO15_WPORT PORTC
|
||||
#define DIO15_DDR DDRC
|
||||
#define DIO15_PWM NULL
|
||||
|
||||
#define AIO2_PIN PINC2
|
||||
#define AIO2_RPORT PINC
|
||||
#define AIO2_WPORT PORTC
|
||||
#define AIO2_DDR DDRC
|
||||
#define AIO2_PWM NULL
|
||||
#define DIO16_PIN PINC2
|
||||
#define DIO16_RPORT PINC
|
||||
#define DIO16_WPORT PORTC
|
||||
#define DIO16_DDR DDRC
|
||||
#define DIO16_PWM NULL
|
||||
|
||||
#define AIO3_PIN PINC3
|
||||
#define AIO3_RPORT PINC
|
||||
#define AIO3_WPORT PORTC
|
||||
#define AIO3_DDR DDRC
|
||||
#define AIO3_PWM NULL
|
||||
#define DIO17_PIN PINC3
|
||||
#define DIO17_RPORT PINC
|
||||
#define DIO17_WPORT PORTC
|
||||
#define DIO17_DDR DDRC
|
||||
#define DIO17_PWM NULL
|
||||
|
||||
#define AIO4_PIN PINC4
|
||||
#define AIO4_RPORT PINC
|
||||
#define AIO4_WPORT PORTC
|
||||
#define AIO4_DDR DDRC
|
||||
#define AIO4_PWM NULL
|
||||
#define DIO18_PIN PINC4
|
||||
#define DIO18_RPORT PINC
|
||||
#define DIO18_WPORT PORTC
|
||||
#define DIO18_DDR DDRC
|
||||
#define DIO18_PWM NULL
|
||||
|
||||
#define AIO5_PIN PINC5
|
||||
#define AIO5_RPORT PINC
|
||||
#define AIO5_WPORT PORTC
|
||||
#define AIO5_DDR DDRC
|
||||
#define AIO5_PWM NULL
|
||||
#define DIO19_PIN PINC5
|
||||
#define DIO19_RPORT PINC
|
||||
#define DIO19_WPORT PORTC
|
||||
#define DIO19_DDR DDRC
|
||||
#define DIO19_PWM NULL
|
||||
|
||||
#define AIO6_PIN PINC6
|
||||
#define AIO6_RPORT PINC
|
||||
#define AIO6_WPORT PORTC
|
||||
#define AIO6_DDR DDRC
|
||||
#define AIO6_PWM NULL
|
||||
#define DIO20_PIN PINC6
|
||||
#define DIO20_RPORT PINC
|
||||
#define DIO20_WPORT PORTC
|
||||
#define DIO20_DDR DDRC
|
||||
#define DIO20_PWM NULL
|
||||
|
||||
#define AIO7_PIN PINC7
|
||||
#define AIO7_RPORT PINC
|
||||
#define AIO7_WPORT PORTC
|
||||
#define AIO7_DDR DDRC
|
||||
#define AIO7_PWM NULL
|
||||
#define DIO21_PIN PINC7
|
||||
#define DIO21_RPORT PINC
|
||||
#define DIO21_WPORT PORTC
|
||||
#define DIO21_DDR DDRC
|
||||
#define DIO21_PWM NULL
|
||||
|
||||
|
||||
|
||||
|
|
@ -1265,101 +1265,101 @@ pins
|
|||
#define DIO53_DDR DDRB
|
||||
#define DIO53_PWM NULL
|
||||
|
||||
#define AIO0_PIN PINF0
|
||||
#define AIO0_RPORT PINF
|
||||
#define AIO0_WPORT PORTF
|
||||
#define AIO0_DDR DDRF
|
||||
#define AIO0_PWM NULL
|
||||
#define DIO54_PIN PINF0
|
||||
#define DIO54_RPORT PINF
|
||||
#define DIO54_WPORT PORTF
|
||||
#define DIO54_DDR DDRF
|
||||
#define DIO54_PWM NULL
|
||||
|
||||
#define AIO1_PIN PINF1
|
||||
#define AIO1_RPORT PINF
|
||||
#define AIO1_WPORT PORTF
|
||||
#define AIO1_DDR DDRF
|
||||
#define AIO1_PWM NULL
|
||||
#define DIO55_PIN PINF1
|
||||
#define DIO55_RPORT PINF
|
||||
#define DIO55_WPORT PORTF
|
||||
#define DIO55_DDR DDRF
|
||||
#define DIO55_PWM NULL
|
||||
|
||||
#define AIO2_PIN PINF2
|
||||
#define AIO2_RPORT PINF
|
||||
#define AIO2_WPORT PORTF
|
||||
#define AIO2_DDR DDRF
|
||||
#define AIO2_PWM NULL
|
||||
#define DIO56_PIN PINF2
|
||||
#define DIO56_RPORT PINF
|
||||
#define DIO56_WPORT PORTF
|
||||
#define DIO56_DDR DDRF
|
||||
#define DIO56_PWM NULL
|
||||
|
||||
#define AIO3_PIN PINF3
|
||||
#define AIO3_RPORT PINF
|
||||
#define AIO3_WPORT PORTF
|
||||
#define AIO3_DDR DDRF
|
||||
#define AIO3_PWM NULL
|
||||
#define DIO57_PIN PINF3
|
||||
#define DIO57_RPORT PINF
|
||||
#define DIO57_WPORT PORTF
|
||||
#define DIO57_DDR DDRF
|
||||
#define DIO57_PWM NULL
|
||||
|
||||
#define AIO4_PIN PINF4
|
||||
#define AIO4_RPORT PINF
|
||||
#define AIO4_WPORT PORTF
|
||||
#define AIO4_DDR DDRF
|
||||
#define AIO4_PWM NULL
|
||||
#define DIO58_PIN PINF4
|
||||
#define DIO58_RPORT PINF
|
||||
#define DIO58_WPORT PORTF
|
||||
#define DIO58_DDR DDRF
|
||||
#define DIO58_PWM NULL
|
||||
|
||||
#define AIO5_PIN PINF5
|
||||
#define AIO5_RPORT PINF
|
||||
#define AIO5_WPORT PORTF
|
||||
#define AIO5_DDR DDRF
|
||||
#define AIO5_PWM NULL
|
||||
#define DIO59_PIN PINF5
|
||||
#define DIO59_RPORT PINF
|
||||
#define DIO59_WPORT PORTF
|
||||
#define DIO59_DDR DDRF
|
||||
#define DIO59_PWM NULL
|
||||
|
||||
#define AIO6_PIN PINF6
|
||||
#define AIO6_RPORT PINF
|
||||
#define AIO6_WPORT PORTF
|
||||
#define AIO6_DDR DDRF
|
||||
#define AIO6_PWM NULL
|
||||
#define DIO60_PIN PINF6
|
||||
#define DIO60_RPORT PINF
|
||||
#define DIO60_WPORT PORTF
|
||||
#define DIO60_DDR DDRF
|
||||
#define DIO60_PWM NULL
|
||||
|
||||
#define AIO7_PIN PINF7
|
||||
#define AIO7_RPORT PINF
|
||||
#define AIO7_WPORT PORTF
|
||||
#define AIO7_DDR DDRF
|
||||
#define AIO7_PWM NULL
|
||||
#define DIO61_PIN PINF7
|
||||
#define DIO61_RPORT PINF
|
||||
#define DIO61_WPORT PORTF
|
||||
#define DIO61_DDR DDRF
|
||||
#define DIO61_PWM NULL
|
||||
|
||||
#define AIO8_PIN PINK0
|
||||
#define AIO8_RPORT PINK
|
||||
#define AIO8_WPORT PORTK
|
||||
#define AIO8_DDR DDRK
|
||||
#define AIO8_PWM NULL
|
||||
#define DIO62_PIN PINK0
|
||||
#define DIO62_RPORT PINK
|
||||
#define DIO62_WPORT PORTK
|
||||
#define DIO62_DDR DDRK
|
||||
#define DIO62_PWM NULL
|
||||
|
||||
#define AIO9_PIN PINK1
|
||||
#define AIO9_RPORT PINK
|
||||
#define AIO9_WPORT PORTK
|
||||
#define AIO9_DDR DDRK
|
||||
#define AIO9_PWM NULL
|
||||
#define DIO63_PIN PINK1
|
||||
#define DIO63_RPORT PINK
|
||||
#define DIO63_WPORT PORTK
|
||||
#define DIO63_DDR DDRK
|
||||
#define DIO63_PWM NULL
|
||||
|
||||
#define AIO10_PIN PINK2
|
||||
#define AIO10_RPORT PINK
|
||||
#define AIO10_WPORT PORTK
|
||||
#define AIO10_DDR DDRK
|
||||
#define AIO10_PWM NULL
|
||||
#define DIO64_PIN PINK2
|
||||
#define DIO64_RPORT PINK
|
||||
#define DIO64_WPORT PORTK
|
||||
#define DIO64_DDR DDRK
|
||||
#define DIO64_PWM NULL
|
||||
|
||||
#define AIO11_PIN PINK3
|
||||
#define AIO11_RPORT PINK
|
||||
#define AIO11_WPORT PORTK
|
||||
#define AIO11_DDR DDRK
|
||||
#define AIO11_PWM NULL
|
||||
#define DIO65_PIN PINK3
|
||||
#define DIO65_RPORT PINK
|
||||
#define DIO65_WPORT PORTK
|
||||
#define DIO65_DDR DDRK
|
||||
#define DIO65_PWM NULL
|
||||
|
||||
#define AIO12_PIN PINK4
|
||||
#define AIO12_RPORT PINK
|
||||
#define AIO12_WPORT PORTK
|
||||
#define AIO12_DDR DDRK
|
||||
#define AIO12_PWM NULL
|
||||
#define DIO66_PIN PINK4
|
||||
#define DIO66_RPORT PINK
|
||||
#define DIO66_WPORT PORTK
|
||||
#define DIO66_DDR DDRK
|
||||
#define DIO66_PWM NULL
|
||||
|
||||
#define AIO13_PIN PINK5
|
||||
#define AIO13_RPORT PINK
|
||||
#define AIO13_WPORT PORTK
|
||||
#define AIO13_DDR DDRK
|
||||
#define AIO13_PWM NULL
|
||||
#define DIO67_PIN PINK5
|
||||
#define DIO67_RPORT PINK
|
||||
#define DIO67_WPORT PORTK
|
||||
#define DIO67_DDR DDRK
|
||||
#define DIO67_PWM NULL
|
||||
|
||||
#define AIO14_PIN PINK6
|
||||
#define AIO14_RPORT PINK
|
||||
#define AIO14_WPORT PORTK
|
||||
#define AIO14_DDR DDRK
|
||||
#define AIO14_PWM NULL
|
||||
#define DIO68_PIN PINK6
|
||||
#define DIO68_RPORT PINK
|
||||
#define DIO68_WPORT PORTK
|
||||
#define DIO68_DDR DDRK
|
||||
#define DIO68_PWM NULL
|
||||
|
||||
#define AIO15_PIN PINK7
|
||||
#define AIO15_RPORT PINK
|
||||
#define AIO15_WPORT PORTK
|
||||
#define AIO15_DDR DDRK
|
||||
#define AIO15_PWM NULL
|
||||
#define DIO69_PIN PINK7
|
||||
#define DIO69_RPORT PINK
|
||||
#define DIO69_WPORT PORTK
|
||||
#define DIO69_DDR DDRK
|
||||
#define DIO69_PWM NULL
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -246,6 +246,10 @@
|
|||
#define E_DIR_PIN 28
|
||||
#define E_ENABLE_PIN 24
|
||||
|
||||
#define E_1_STEP_PIN 36
|
||||
#define E_1_DIR_PIN 34
|
||||
#define E_1_ENABLE_PIN 30
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
|
|
|
|||
|
|
@ -130,6 +130,32 @@ const short temptable_3[NUMTEMPS_3][2] = {
|
|||
};
|
||||
|
||||
#endif
|
||||
#if (THERMISTORHEATER == 4) || (THERMISTORBED == 4) //10k thermistor
|
||||
|
||||
#define NUMTEMPS_4 20
|
||||
short temptable_4[NUMTEMPS_4][2] = {
|
||||
{1, 430},
|
||||
{54, 137},
|
||||
{107, 107},
|
||||
{160, 91},
|
||||
{213, 80},
|
||||
{266, 71},
|
||||
{319, 64},
|
||||
{372, 57},
|
||||
{425, 51},
|
||||
{478, 46},
|
||||
{531, 41},
|
||||
{584, 35},
|
||||
{637, 30},
|
||||
{690, 25},
|
||||
{743, 20},
|
||||
{796, 14},
|
||||
{849, 7},
|
||||
{902, 0},
|
||||
{955, -11},
|
||||
{1008, -35}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if THERMISTORHEATER == 1
|
||||
#define NUMTEMPS NUMTEMPS_1
|
||||
|
|
@ -140,6 +166,9 @@ const short temptable_3[NUMTEMPS_3][2] = {
|
|||
#elif THERMISTORHEATER == 3
|
||||
#define NUMTEMPS NUMTEMPS_3
|
||||
#define temptable temptable_3
|
||||
#elif THERMISTORHEATER == 4
|
||||
#define NUMTEMPS NUMTEMPS_4
|
||||
#define temptable temptable_4
|
||||
#elif defined HEATER_USES_THERMISTOR
|
||||
#error No heater thermistor table specified
|
||||
#endif
|
||||
|
|
@ -152,6 +181,9 @@ const short temptable_3[NUMTEMPS_3][2] = {
|
|||
#elif THERMISTORBED == 3
|
||||
#define BNUMTEMPS NUMTEMPS_3
|
||||
#define bedtemptable temptable_3
|
||||
#elif THERMISTORBED == 4
|
||||
#define BNUMTEMPS NUMTEMPS_4
|
||||
#define bedtemptable temptable_4
|
||||
#elif defined BED_USES_THERMISTOR
|
||||
#error No bed thermistor table specified
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue