Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1
This commit is contained in:
commit
e3821bd86f
@ -197,7 +197,16 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
|
|||||||
//#define ULTRA_LCD //general lcd support, also 16x2
|
//#define ULTRA_LCD //general lcd support, also 16x2
|
||||||
//#define SDSUPPORT // Enable SD Card Support in Hardware Console
|
//#define SDSUPPORT // Enable SD Card Support in Hardware Console
|
||||||
|
|
||||||
#define ULTIPANEL
|
//#define ULTIMAKERCONTROLLER //as available from the ultimaker online store.
|
||||||
|
//#define ULTIPANEL //the ultipanel as on thingiverse
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef ULTIMAKERCONTROLLER //automatic expansion
|
||||||
|
#define ULTIPANEL
|
||||||
|
#define NEWPANEL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
// #define NEWPANEL //enable this if you have a click-encoder panel
|
// #define NEWPANEL //enable this if you have a click-encoder panel
|
||||||
#define SDSUPPORT
|
#define SDSUPPORT
|
||||||
|
@ -609,7 +609,7 @@ void process_commands()
|
|||||||
feedrate = 0.0;
|
feedrate = 0.0;
|
||||||
home_all_axis = !((code_seen(axis_codes[0])) || (code_seen(axis_codes[1])) || (code_seen(axis_codes[2])));
|
home_all_axis = !((code_seen(axis_codes[0])) || (code_seen(axis_codes[1])) || (code_seen(axis_codes[2])));
|
||||||
#ifdef QUICK_HOME
|
#ifdef QUICK_HOME
|
||||||
if( code_seen(axis_codes[X_AXIS]) && code_seen(axis_codes[Y_AXIS]) ) //first diagonal move
|
if((home_all_axis)||( code_seen(axis_codes[X_AXIS]) && code_seen(axis_codes[Y_AXIS])) ) //first diagonal move
|
||||||
{
|
{
|
||||||
current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0;
|
current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0;
|
||||||
|
|
||||||
@ -1100,6 +1100,12 @@ void process_commands()
|
|||||||
|
|
||||||
SERIAL_PROTOCOLLN("");
|
SERIAL_PROTOCOLLN("");
|
||||||
break;
|
break;
|
||||||
|
case 120: // M120
|
||||||
|
enable_endstops(false) ;
|
||||||
|
break;
|
||||||
|
case 121: // M121
|
||||||
|
enable_endstops(true) ;
|
||||||
|
break;
|
||||||
case 119: // M119
|
case 119: // M119
|
||||||
#if (X_MIN_PIN > -1)
|
#if (X_MIN_PIN > -1)
|
||||||
SERIAL_PROTOCOLPGM(MSG_X_MIN);
|
SERIAL_PROTOCOLPGM(MSG_X_MIN);
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
#define MSG_MOVE_AXIS " Move Axis \x7E"
|
#define MSG_MOVE_AXIS " Move Axis \x7E"
|
||||||
#define MSG_SPEED " Speed:"
|
#define MSG_SPEED " Speed:"
|
||||||
#define MSG_NOZZLE " \002Nozzle:"
|
#define MSG_NOZZLE " \002Nozzle:"
|
||||||
|
#define MSG_NOZZLE1 " \002Nozzle2:"
|
||||||
|
#define MSG_NOZZLE2 " \002Nozzle3:"
|
||||||
#define MSG_BED " \002Bed:"
|
#define MSG_BED " \002Bed:"
|
||||||
#define MSG_FAN_SPEED " Fan speed:"
|
#define MSG_FAN_SPEED " Fan speed:"
|
||||||
#define MSG_FLOW " Flow:"
|
#define MSG_FLOW " Flow:"
|
||||||
@ -174,6 +176,8 @@
|
|||||||
#define MSG_MOVE_AXIS " Achsen verfahren \x7E"
|
#define MSG_MOVE_AXIS " Achsen verfahren \x7E"
|
||||||
#define MSG_SPEED " Geschw:"
|
#define MSG_SPEED " Geschw:"
|
||||||
#define MSG_NOZZLE " \002Duese:"
|
#define MSG_NOZZLE " \002Duese:"
|
||||||
|
#define MSG_NOZZLE1 " \002Duese2:"
|
||||||
|
#define MSG_NOZZLE2 " \002Duese3:"
|
||||||
#define MSG_BED " \002Bett:"
|
#define MSG_BED " \002Bett:"
|
||||||
#define MSG_FAN_SPEED " Luefter geschw.:"
|
#define MSG_FAN_SPEED " Luefter geschw.:"
|
||||||
#define MSG_FLOW " Fluss:"
|
#define MSG_FLOW " Fluss:"
|
||||||
|
@ -729,10 +729,18 @@
|
|||||||
#define LCD_PINS_D7 19
|
#define LCD_PINS_D7 19
|
||||||
|
|
||||||
//encoder rotation values
|
//encoder rotation values
|
||||||
|
#ifndef ULTIMAKERCONTROLLER
|
||||||
#define encrot0 0
|
#define encrot0 0
|
||||||
#define encrot1 2
|
#define encrot1 2
|
||||||
#define encrot2 3
|
#define encrot2 3
|
||||||
#define encrot3 1
|
#define encrot3 1
|
||||||
|
#else
|
||||||
|
#define encrot0 0
|
||||||
|
#define encrot1 1
|
||||||
|
#define encrot2 3
|
||||||
|
#define encrot3 2
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SDCARDDETECT -1
|
#define SDCARDDETECT -1
|
||||||
//bits in the shift register that carry the buttons for:
|
//bits in the shift register that carry the buttons for:
|
||||||
|
@ -85,7 +85,7 @@ volatile char count_direction[NUM_AXIS] = { 1, 1, 1, 1};
|
|||||||
#ifdef ENDSTOPS_ONLY_FOR_HOMING
|
#ifdef ENDSTOPS_ONLY_FOR_HOMING
|
||||||
#define CHECK_ENDSTOPS if(check_endstops)
|
#define CHECK_ENDSTOPS if(check_endstops)
|
||||||
#else
|
#else
|
||||||
#define CHECK_ENDSTOPS
|
#define CHECK_ENDSTOPS if(check_endstops)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// intRes = intIn1 * intIn2 >> 16
|
// intRes = intIn1 * intIn2 >> 16
|
||||||
|
@ -710,7 +710,7 @@ void max_temp_error(uint8_t e) {
|
|||||||
disable_heater();
|
disable_heater();
|
||||||
if(IsStopped() == false) {
|
if(IsStopped() == false) {
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLN(e);
|
SERIAL_ERRORLN((int)e);
|
||||||
SERIAL_ERRORLNPGM(": Extruder switched off. MAXTEMP triggered !");
|
SERIAL_ERRORLNPGM(": Extruder switched off. MAXTEMP triggered !");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -719,13 +719,15 @@ void min_temp_error(uint8_t e) {
|
|||||||
disable_heater();
|
disable_heater();
|
||||||
if(IsStopped() == false) {
|
if(IsStopped() == false) {
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLN(e);
|
SERIAL_ERRORLN((int)e);
|
||||||
SERIAL_ERRORLNPGM(": Extruder switched off. MINTEMP triggered !");
|
SERIAL_ERRORLNPGM(": Extruder switched off. MINTEMP triggered !");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void bed_max_temp_error(void) {
|
void bed_max_temp_error(void) {
|
||||||
|
#if HEATER_BED_PIN > -1
|
||||||
WRITE(HEATER_BED_PIN, 0);
|
WRITE(HEATER_BED_PIN, 0);
|
||||||
|
#endif
|
||||||
if(IsStopped() == false) {
|
if(IsStopped() == false) {
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLNPGM("Temperature heated bed switched off. MAXTEMP triggered !!");
|
SERIAL_ERRORLNPGM("Temperature heated bed switched off. MAXTEMP triggered !!");
|
||||||
|
@ -129,6 +129,8 @@ FORCE_INLINE bool isCoolingBed() {
|
|||||||
#define setTargetHotend1(_celsius) setTargetHotend((_celsius), 1)
|
#define setTargetHotend1(_celsius) setTargetHotend((_celsius), 1)
|
||||||
#define isHeatingHotend1() isHeatingHotend(1)
|
#define isHeatingHotend1() isHeatingHotend(1)
|
||||||
#define isCoolingHotend1() isCoolingHotend(1)
|
#define isCoolingHotend1() isCoolingHotend(1)
|
||||||
|
#else
|
||||||
|
#define setTargetHotend1(_celsius) do{}while(0)
|
||||||
#endif
|
#endif
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
#define degHotend2() degHotend(2)
|
#define degHotend2() degHotend(2)
|
||||||
@ -136,6 +138,8 @@ FORCE_INLINE bool isCoolingBed() {
|
|||||||
#define setTargetHotend2(_celsius) setTargetHotend((_celsius), 2)
|
#define setTargetHotend2(_celsius) setTargetHotend((_celsius), 2)
|
||||||
#define isHeatingHotend2() isHeatingHotend(2)
|
#define isHeatingHotend2() isHeatingHotend(2)
|
||||||
#define isCoolingHotend2() isCoolingHotend(2)
|
#define isCoolingHotend2() isCoolingHotend(2)
|
||||||
|
#else
|
||||||
|
#define setTargetHotend2(_celsius) do{}while(0)
|
||||||
#endif
|
#endif
|
||||||
#if EXTRUDERS > 3
|
#if EXTRUDERS > 3
|
||||||
#error Invalid number of extruders
|
#error Invalid number of extruders
|
||||||
|
@ -95,6 +95,7 @@ FORCE_INLINE void clear()
|
|||||||
void lcd_init()
|
void lcd_init()
|
||||||
{
|
{
|
||||||
//beep();
|
//beep();
|
||||||
|
|
||||||
byte Degree[8] =
|
byte Degree[8] =
|
||||||
{
|
{
|
||||||
B01100,
|
B01100,
|
||||||
@ -322,6 +323,8 @@ void MainMenu::showStatus()
|
|||||||
lcd.setCursor(0,0);lcdprintPGM("\002---/---\001 ");
|
lcd.setCursor(0,0);lcdprintPGM("\002---/---\001 ");
|
||||||
#if defined BED_USES_THERMISTOR || defined BED_USES_AD595
|
#if defined BED_USES_THERMISTOR || defined BED_USES_AD595
|
||||||
lcd.setCursor(10,0);lcdprintPGM("B---/---\001 ");
|
lcd.setCursor(10,0);lcdprintPGM("B---/---\001 ");
|
||||||
|
#elif EXTRUDERS > 1
|
||||||
|
lcd.setCursor(10,0);lcdprintPGM("\002---/---\001 ");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,6 +359,23 @@ void MainMenu::showStatus()
|
|||||||
lcd.print(ftostr3(targetBed));
|
lcd.print(ftostr3(targetBed));
|
||||||
oldtargetBed=targetBed;
|
oldtargetBed=targetBed;
|
||||||
}
|
}
|
||||||
|
#elif EXTRUDERS > 1
|
||||||
|
static int olddegHotEnd1=-1;
|
||||||
|
static int oldtargetHotEnd1=-1;
|
||||||
|
int tHotEnd1=intround(degHotend1());
|
||||||
|
if((tHotEnd1!=olddegHotEnd1)||force_lcd_update)
|
||||||
|
{
|
||||||
|
lcd.setCursor(11,0);
|
||||||
|
lcd.print(ftostr3(tHotEnd1));
|
||||||
|
olddegHotEnd1=tHotEnd1;
|
||||||
|
}
|
||||||
|
int ttHotEnd1=intround(degTargetHotend1());
|
||||||
|
if((ttHotEnd1!=oldtargetHotEnd1)||force_lcd_update)
|
||||||
|
{
|
||||||
|
lcd.setCursor(15,0);
|
||||||
|
lcd.print(ftostr3(ttHotEnd1));
|
||||||
|
oldtargetHotEnd1=ttHotEnd1;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
//starttime=2;
|
//starttime=2;
|
||||||
static uint16_t oldtime=0;
|
static uint16_t oldtime=0;
|
||||||
@ -430,10 +450,7 @@ void MainMenu::showStatus()
|
|||||||
if(force_lcd_update) //initial display of content
|
if(force_lcd_update) //initial display of content
|
||||||
{
|
{
|
||||||
encoderpos=feedmultiply;
|
encoderpos=feedmultiply;
|
||||||
lcd.setCursor(0,0);lcdprintPGM("\002123/567\001 ");
|
lcd.setCursor(0,0);lcdprintPGM("\002---/---\001 ");
|
||||||
#if defined BED_USES_THERMISTOR || defined BED_USES_AD595
|
|
||||||
lcd.setCursor(10,0);lcdprintPGM("B123/567\001 ");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int tHotEnd0=intround(degHotend0());
|
int tHotEnd0=intround(degHotend0());
|
||||||
@ -520,7 +537,7 @@ void MainMenu::showPrepare()
|
|||||||
beepshort(); );
|
beepshort(); );
|
||||||
break;
|
break;
|
||||||
case ItemP_cooldown:
|
case ItemP_cooldown:
|
||||||
MENUITEM( lcdprintPGM(MSG_COOLDOWN) , BLOCK;setTargetHotend0(0);setTargetBed(0);beepshort(); ) ;
|
MENUITEM( lcdprintPGM(MSG_COOLDOWN) , BLOCK;setTargetHotend0(0);setTargetHotend1(0);setTargetHotend2(0);setTargetBed(0);beepshort(); ) ;
|
||||||
break;
|
break;
|
||||||
// case ItemP_extrude:
|
// case ItemP_extrude:
|
||||||
// MENUITEM( lcdprintPGM(" Extrude") , BLOCK;enquecommand("G92 E0");enquecommand("G1 F700 E50");beepshort(); ) ;
|
// MENUITEM( lcdprintPGM(" Extrude") , BLOCK;enquecommand("G92 E0");enquecommand("G1 F700 E50");beepshort(); ) ;
|
||||||
@ -923,12 +940,18 @@ void MainMenu::showTune()
|
|||||||
//
|
//
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
ItemCT_exit,ItemCT_nozzle,
|
ItemCT_exit,ItemCT_nozzle0,
|
||||||
#ifdef AUTOTEMP
|
#ifdef AUTOTEMP
|
||||||
ItemCT_autotempactive,
|
ItemCT_autotempactive,
|
||||||
ItemCT_autotempmin,ItemCT_autotempmax,ItemCT_autotempfact,
|
ItemCT_autotempmin,ItemCT_autotempmax,ItemCT_autotempfact,
|
||||||
#endif
|
#endif
|
||||||
#if (HEATER_BED_PIN > -1)
|
#if EXTRUDERS > 1
|
||||||
|
ItemCT_nozzle1,
|
||||||
|
#endif
|
||||||
|
#if EXTRUDERS > 2
|
||||||
|
ItemCT_nozzle2,
|
||||||
|
#endif
|
||||||
|
#if defined BED_USES_THERMISTOR || BED_USES_AD595
|
||||||
ItemCT_bed,
|
ItemCT_bed,
|
||||||
#endif
|
#endif
|
||||||
ItemCT_fan,
|
ItemCT_fan,
|
||||||
@ -946,7 +969,7 @@ void MainMenu::showControlTemp()
|
|||||||
case ItemCT_exit:
|
case ItemCT_exit:
|
||||||
MENUITEM( lcdprintPGM(MSG_CONTROL) , BLOCK;status=Main_Control;beepshort(); ) ;
|
MENUITEM( lcdprintPGM(MSG_CONTROL) , BLOCK;status=Main_Control;beepshort(); ) ;
|
||||||
break;
|
break;
|
||||||
case ItemCT_nozzle:
|
case ItemCT_nozzle0:
|
||||||
{
|
{
|
||||||
if(force_lcd_update)
|
if(force_lcd_update)
|
||||||
{
|
{
|
||||||
@ -980,6 +1003,78 @@ void MainMenu::showControlTemp()
|
|||||||
}
|
}
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
|
#if EXTRUDERS > 1
|
||||||
|
case ItemCT_nozzle1:
|
||||||
|
{
|
||||||
|
if(force_lcd_update)
|
||||||
|
{
|
||||||
|
lcd.setCursor(0,line);lcdprintPGM(MSG_NOZZLE1);
|
||||||
|
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetHotend1())));
|
||||||
|
}
|
||||||
|
|
||||||
|
if((activeline!=line) )
|
||||||
|
break;
|
||||||
|
|
||||||
|
if(CLICKED)
|
||||||
|
{
|
||||||
|
linechanging=!linechanging;
|
||||||
|
if(linechanging)
|
||||||
|
{
|
||||||
|
encoderpos=intround(degTargetHotend1());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setTargetHotend1(encoderpos);
|
||||||
|
encoderpos=activeline*lcdslow;
|
||||||
|
beepshort();
|
||||||
|
}
|
||||||
|
BLOCK;
|
||||||
|
}
|
||||||
|
if(linechanging)
|
||||||
|
{
|
||||||
|
if(encoderpos<0) encoderpos=0;
|
||||||
|
if(encoderpos>260) encoderpos=260;
|
||||||
|
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
||||||
|
}
|
||||||
|
|
||||||
|
}break;
|
||||||
|
#endif
|
||||||
|
#if EXTRUDERS > 2
|
||||||
|
case ItemCT_nozzle2:
|
||||||
|
{
|
||||||
|
if(force_lcd_update)
|
||||||
|
{
|
||||||
|
lcd.setCursor(0,line);lcdprintPGM(MSG_NOZZLE2);
|
||||||
|
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetHotend2())));
|
||||||
|
}
|
||||||
|
|
||||||
|
if((activeline!=line) )
|
||||||
|
break;
|
||||||
|
|
||||||
|
if(CLICKED)
|
||||||
|
{
|
||||||
|
linechanging=!linechanging;
|
||||||
|
if(linechanging)
|
||||||
|
{
|
||||||
|
encoderpos=intround(degTargetHotend2());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setTargetHotend1(encoderpos);
|
||||||
|
encoderpos=activeline*lcdslow;
|
||||||
|
beepshort();
|
||||||
|
}
|
||||||
|
BLOCK;
|
||||||
|
}
|
||||||
|
if(linechanging)
|
||||||
|
{
|
||||||
|
if(encoderpos<0) encoderpos=0;
|
||||||
|
if(encoderpos>260) encoderpos=260;
|
||||||
|
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));
|
||||||
|
}
|
||||||
|
|
||||||
|
}break;
|
||||||
|
#endif
|
||||||
#ifdef AUTOTEMP
|
#ifdef AUTOTEMP
|
||||||
case ItemCT_autotempmin:
|
case ItemCT_autotempmin:
|
||||||
{
|
{
|
||||||
@ -1111,7 +1206,7 @@ void MainMenu::showControlTemp()
|
|||||||
|
|
||||||
}break;
|
}break;
|
||||||
#endif //autotemp
|
#endif //autotemp
|
||||||
#if (HEATER_BED_PIN > -1)
|
#if defined BED_USES_THERMISTOR || BED_USES_AD595
|
||||||
case ItemCT_bed:
|
case ItemCT_bed:
|
||||||
{
|
{
|
||||||
if(force_lcd_update)
|
if(force_lcd_update)
|
||||||
@ -2080,6 +2175,7 @@ void MainMenu::update()
|
|||||||
{
|
{
|
||||||
force_lcd_update=true;
|
force_lcd_update=true;
|
||||||
oldcardstatus=CARDINSERTED;
|
oldcardstatus=CARDINSERTED;
|
||||||
|
lcd_init(); // to maybe revive the lcd if static electricty killed it.
|
||||||
//Serial.println("echo: SD CHANGE");
|
//Serial.println("echo: SD CHANGE");
|
||||||
if(CARDINSERTED)
|
if(CARDINSERTED)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user