Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 22 additions & 21 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
// Sanguinololu 1.2 and above = 62
// Ultimaker = 7,
// Teensylu = 8
#define MOTHERBOARD 7
#define MOTHERBOARD 33 //[SUMPOD specific, uses RAMPS1.3]

//===========================================================================
//=============================Thermal Settings ============================
Expand All @@ -44,14 +44,14 @@
// 6 is EPCOS 100k
// 7 is 100k Honeywell thermistor 135-104LAG-J01

//#define THERMISTORHEATER_0 3
#define THERMISTORHEATER_0 1
//#define THERMISTORHEATER_1 1
//#define THERMISTORHEATER_2 1

//#define HEATER_0_USES_THERMISTOR
#define HEATER_0_USES_THERMISTOR
//#define HEATER_1_USES_THERMISTOR
//#define HEATER_2_USES_THERMISTOR
#define HEATER_0_USES_AD595
//#define HEATER_0_USES_AD595
//#define HEATER_1_USES_AD595
//#define HEATER_2_USES_AD595

Expand Down Expand Up @@ -188,7 +188,7 @@ const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
// For optos H21LOB set to true, for Mendel-Parts newer optos TCST2103 set to false

#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
//#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
Expand All @@ -199,7 +199,7 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_Z true //[SUMPOD specific]
#define DISABLE_E false // For all extruders

// Inverting axis direction
Expand All @@ -217,33 +217,34 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th

//// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

#define min_software_endstops true //If true, axis won't move to coordinates less than zero.
#define max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below.
#define X_MAX_LENGTH 205
#define Y_MAX_LENGTH 205
#define Z_MAX_LENGTH 200
#define X_MAX_LENGTH 130 //[SUMPOD specific, CHANGE FOR YOUR SUMPOD]
#define Y_MAX_LENGTH 125 //[SUMPOD specific, CHANGE FOR YOUR SUMPOD]
#define Z_MAX_LENGTH 94.5 //[SUMPOD specific, CHANGE FOR YOUR SUMPOD]

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)
#define HOMING_FEEDRATE {20*60, 20*60, 3*60, 0} // set the homing speeds (mm/min) //[SUMPOD specific]

//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
#define X_HOME_RETRACT_MM 5
#define Y_HOME_RETRACT_MM 5
#define Z_HOME_RETRACT_MM 1
#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. //[SUMPOD specific]

#define AXIS_RELATIVE_MODES {false, false, false, false}

#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1} // default steps per unit for ultimaker
#define DEFAULT_AXIS_STEPS_PER_UNIT {106.76, 106.76, 800, 67.16} //[SUMPOD specific]
//#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1} // default steps per unit for ultimaker
//#define DEFAULT_AXIS_STEPS_PER_UNIT {40, 40, 3333.92, 360} //sells mendel with v9 extruder
//#define DEFAULT_AXIS_STEPS_PER_UNIT {80.3232, 80.8900, 2284.7651, 757.2218} // SAE Prusa w/ Wade extruder
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec)
Expand Down Expand Up @@ -320,13 +321,13 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
#define SD_FINISHED_RELEASECOMMAND "M84 X Y E" // no z because of layer shift.

//#define ULTIPANEL
#define ULTIPANEL //[SUMPOD specific]
#ifdef ULTIPANEL
//#define NEWPANEL //enable this if you have a click-encoder panel
#define SDSUPPORT
#define ULTRA_LCD
#define LCD_WIDTH 20
#define LCD_HEIGHT 4
#define NEWPANEL //[SUMPOD specific]
#define SDSUPPORT //[SUMPOD specific]
#define ULTRA_LCD //[SUMPOD specific]
#define LCD_WIDTH 16 //20 //[SUMPOD specific]
#define LCD_HEIGHT 2 //4 //[SUMPOD specific]
#else //no panel but just lcd
#ifdef ULTRA_LCD
#define LCD_WIDTH 16
Expand Down
7 changes: 2 additions & 5 deletions Marlin/Marlin.pde
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,7 @@



#define VERSION_STRING "1.0.0 Beta 1"


#define VERSION_STRING "1.0.0 Beta 1 - SUMPOD"


// look here for descriptions of gcodes: http://linuxcnc.org/handbook/gcode/g-code.html
Expand Down Expand Up @@ -616,7 +614,6 @@ FORCE_INLINE void process_commands()
st_synchronize();
for(int8_t i=0; i < NUM_AXIS; i++) {
if(code_seen(axis_codes[i])) {
current_position[i] = code_value()+add_homeing[i];
if(i == E_AXIS) {
current_position[i] = code_value();
plan_set_e_position(current_position[E_AXIS]);
Expand Down Expand Up @@ -1121,7 +1118,7 @@ FORCE_INLINE void process_commands()
}
break;

case 302: // finish all moves
case 302: // allow cold extrude
{
allow_cold_extrudes(true);
}
Expand Down
2 changes: 1 addition & 1 deletion Marlin/cardreader.pde
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ void CardReader::initsd()
cardOK = false;
if(root.isOpen())
root.close();
if (!card.init(SPI_FULL_SPEED,SDSS))
if (!card.init(SPI_HALF_SPEED,SDSS)) //[SUMPOD, half speed to make adafruit.com sd shield work]
{
//if (!card.init(SPI_HALF_SPEED,SDSS))
SERIAL_ECHO_START;
Expand Down
51 changes: 39 additions & 12 deletions Marlin/pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -239,20 +239,20 @@
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_MIN_PIN 3
#define X_MAX_PIN 2 //2 //Max endstops default to disabled "-1", set to commented value to enable.
#define X_MIN_PIN -1 //3 //[SUMPOD specific]
#define X_MAX_PIN 2 //2 //[SUMPOD specific] //Max endstops default to disabled "-1", set to commented value to enable.

#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15 //15
#define Y_MIN_PIN -1 //14 //[SUMPOD specific]
#define Y_MAX_PIN 15 //15 //[SUMPOD specific]

#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19 //19
#define Z_MIN_PIN -1 //18 //[SUMPOD specific]
#define Z_MAX_PIN 19 //19 //[SUMPOD specific]

#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
Expand All @@ -265,19 +265,46 @@
#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13
#define FAN_PIN 4
#define FAN_PIN 10 //[SUMPOD specific]
#define PS_ON_PIN 12
#define KILL_PIN -1

#define HEATER_0_PIN 10 // EXTRUDER 1
#define HEATER_1_PIN 9 // EXTRUDER 2
#define HEATER_2_PIN -1 // EXTRUDER 2
#define HEATER_0_PIN 9 // EXTRUDER 1 //[SUMPOD specific]
#define HEATER_1_PIN -1 // EXTRUDER 2 //[SUMPOD specific]
#define HEATER_2_PIN -1 // EXTRUDER 3 //[SUMPOD specific]
#define TEMP_0_PIN 13 // ANALOG NUMBERING
#define TEMP_1_PIN 15 // ANALOG NUMBERING
#define TEMP_1_PIN -1 // ANALOG NUMBERING
#define TEMP_2_PIN -1 // ANALOG NUMBERING
#define HEATER_BED_PIN 8 // BED
#define HEATER_BED_PIN 11 // BED //[SUMPOD specific]
#define TEMP_BED_PIN 14 // ANALOG NUMBERING

//extra for SUMPOD LCD + click encoder + buzzer
#define LCD_PINS_RS 16 //[SUMPOD specific]
#define LCD_PINS_ENABLE 17 //[SUMPOD specific]
#define LCD_PINS_D4 23 //[SUMPOD specific]
#define LCD_PINS_D5 25 //[SUMPOD specific]
#define LCD_PINS_D6 27 //[SUMPOD specific]
#define LCD_PINS_D7 29 //[SUMPOD specific]

//beeper
#define BEEPER 59 //AUX-2 //[SUMPOD specific]

//encoder pins are directly attached
#define BTN_EN1 42 //AUX-2 //[SUMPOD specific]
#define BTN_EN2 44 //AUX-2 //[SUMPOD specific]
#define BTN_ENC 64 //AUX-2 (the click) //[SUMPOD specific]

#define BLEN_A 0
#define BLEN_B 1
#define BLEN_C 2

//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1

#define SDCARDDETECT 49 //[SUMPOD specific]

#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default

Expand Down
4 changes: 3 additions & 1 deletion Marlin/planner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ void getHighESpeed()
}
#endif

void check_axes_activity() {
bool check_axes_activity() {
unsigned char x_active = 0;
unsigned char y_active = 0;
unsigned char z_active = 0;
Expand All @@ -432,6 +432,8 @@ void check_axes_activity() {
if((DISABLE_Y) && (y_active == 0)) disable_y();
if((DISABLE_Z) && (z_active == 0)) disable_z();
if((DISABLE_E) && (e_active == 0)) { disable_e0();disable_e1();disable_e2(); }

return( (x_active != 0) || (y_active != 0) || (z_active != 0) || (e_active != 0) );
}


Expand Down
2 changes: 1 addition & 1 deletion Marlin/planner.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ void plan_set_e_position(const float &e);



void check_axes_activity();
bool check_axes_activity();
uint8_t movesplanned(); //return the nr of buffered moves

extern unsigned long minsegmenttime;
Expand Down
4 changes: 2 additions & 2 deletions Marlin/temperature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -768,8 +768,8 @@ ISR(TIMER0_COMPB_vect)
}
if(current_raw[e] <= minttemp[e]) {
target_raw[e] = 0;
min_temp_error(e);
kill();
//min_temp_error(e); //[SUMPOD specific] when milling no temperature sensor is attached ==> no kill for mintemp
//kill();
}
}

Expand Down
15 changes: 9 additions & 6 deletions Marlin/ultralcd.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

#define CLICKED (buttons&EN_C)
#define BLOCK {blocking=millis()+blocktime;}
#define CARDINSERTED (READ(SDCARDDETECT)==0)
#define CARDINSERTED (READ(SDCARDDETECT)!=0) //[SUMPOD specific, changed for adafruit.com sd shield]

#else

Expand All @@ -50,7 +50,7 @@
#define blocktime 500
#define lcdslow 5

enum MainStatus{Main_Status, Main_Menu, Main_Prepare, Main_Control, Main_SD,Sub_TempControl,Sub_MotionControl};
enum MainStatus{Main_Status, Main_Menu, Main_Prepare, Main_Control, Main_SD,Sub_TempControl,Sub_MotionControl,Sub_MoveAxes};

class MainMenu{
public:
Expand All @@ -67,22 +67,23 @@
void showControl();
void showControlMotion();
void showControlTemp();
void showMoveAxes();
void showSD();
bool force_lcd_update;
int lastencoderpos;
long lastencoderpos;
int8_t lineoffset;
int8_t lastlineoffset;

bool linechanging;
int linechanging;

bool tune;

private:
FORCE_INLINE void updateActiveLines(const uint8_t &maxlines,volatile int &encoderpos)
FORCE_INLINE void updateActiveLines(const uint8_t &maxlines,volatile long &encoderpos)
{
if(linechanging) return; // an item is changint its value, do not switch lines hence
lastlineoffset=lineoffset;
int curencoderpos=encoderpos;
long curencoderpos=encoderpos;
force_lcd_update=false;
if( (abs(curencoderpos-lastencoderpos)<lcdslow) )
{
Expand Down Expand Up @@ -159,5 +160,7 @@ char *itostr31(const int &xx);
char *itostr3(const int &xx);
char *itostr4(const int &xx);
char *ftostr51(const float &x);
char *ftostr52(const float &x);

#endif //ULTRALCD

Loading