merged SBUBA82 and Justblair

This commit is contained in:
Erik van der Zalm 2012-02-21 20:26:59 +01:00
commit d298dd121f
15 changed files with 1520 additions and 75 deletions

View file

@ -26,7 +26,7 @@
// Gen7 v1.3 = 79 // Gen7 v1.3 = 79
// Teensylu = 8, // Teensylu = 8,
// Gen3+ =9 // Gen3+ =9
#define MOTHERBOARD 77 #define MOTHERBOARD 7
//=========================================================================== //===========================================================================
//=============================Thermal Settings ============================ //=============================Thermal Settings ============================
@ -44,13 +44,13 @@
// 6 is EPCOS 100k // 6 is EPCOS 100k
// 7 is 100k Honeywell thermistor 135-104LAG-J01 // 7 is 100k Honeywell thermistor 135-104LAG-J01
#define TEMP_SENSOR_0 6 #define TEMP_SENSOR_0 -1
#define TEMP_SENSOR_1 0 #define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0 #define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_BED 1
// Actual temperature must be close to target for this long before M109 returns success // Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 30 // (seconds) #define TEMP_RESIDENCY_TIME 10 // 30 // (seconds) 30 seconds was too long
#define TEMP_HYSTERESIS 3 // (C<>) range of +/- temperatures considered "close" to the target one #define TEMP_HYSTERESIS 3 // (C<>) range of +/- temperatures considered "close" to the target one
// The minimal temperature defines the temperature below which the heater will not be enabled It is used // The minimal temperature defines the temperature below which the heater will not be enabled It is used
@ -128,7 +128,7 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
#define DISABLE_E false // For all extruders #define DISABLE_E false // For all extruders
#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true #define INVERT_X_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false #define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true #define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
@ -142,22 +142,22 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
#define min_software_endstops false //If true, axis won't move to coordinates less than zero. #define min_software_endstops false //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 max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below.
#define X_MAX_LENGTH 205 #define X_MAX_LENGTH 175
#define Y_MAX_LENGTH 205 #define Y_MAX_LENGTH 185
#define Z_MAX_LENGTH 200 #define Z_MAX_LENGTH 90
//// MOVEMENT SETTINGS //// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #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 {1500, 1500, 80, 0} // {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)
// default settings // default settings
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,2560,760*1.1} // default steps per unit for ultimaker #define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1} // default steps per unit for ultimaker
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec) #define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. #define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves #define DEFAULT_ACCELERATION 1500 // 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts #define DEFAULT_RETRACT_ACCELERATION 1500 // 3000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts
// //
#define DEFAULT_XYJERK 20.0 // (mm/sec) #define DEFAULT_XYJERK 20.0 // (mm/sec)
@ -182,6 +182,13 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
//#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
// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT
// in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should
// be commented out otherwise
#define SDCARDDETECTINVERTED
#define ULTIPANEL #define ULTIPANEL
#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

BIN
Marlin/Debug/CL.read.1.tlog Normal file

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,2 @@
#v4.0:v100
Debug|Win32|C:\Users\Blair\Desktop\Marlin_v1\Marlin\|

1042
Marlin/Debug/Marlin.log Normal file

File diff suppressed because it is too large Load diff

View file

Binary file not shown.

BIN
Marlin/Debug/vc100.idb Normal file

Binary file not shown.

BIN
Marlin/Debug/vc100.pdb Normal file

Binary file not shown.

View file

@ -35,6 +35,7 @@
#include "cardreader.h" #include "cardreader.h"
#include "watchdog.h" #include "watchdog.h"
#include "EEPROMwrite.h" #include "EEPROMwrite.h"
#include "language.h"
#define VERSION_STRING "1.0.0 RC1" #define VERSION_STRING "1.0.0 RC1"

Binary file not shown.

318
Marlin/language.h Normal file
View file

@ -0,0 +1,318 @@
#ifndef LANGUAGE_H
#define LANGUAGE_H
// Languages
// 1 Custom (For you to add your own messages)
// 2 English
// 3 French (Waiting translation)
// 4 German (Waiting translation)
// 5 Etc
#define LANGUAGE_CHOICE 1 // Pick your language from the list above
#if LANGUAGE_CHOICE == 1
// LCD Menu Messages
#define WELCOME_MSG "RepRap Ready."
#define MSG_SD_INSERTED "Card Ready"
#define MSG_SD_REMOVED "Card Initiate"
#define MSG_MAIN " Main \003"
#define MSG_AUTOSTART " Autostart"
#define MSG_DISABLE_STEPPERS " Disable Steppers"
#define MSG_AUTO_HOME " Auto Home"
#define MSG_SET_ORIGIN " Set Origin"
#define MSG_PREHEAT " Preheat"
#define MSG_COOLDOWN " Cooldown"
#define MSG_EXTRUDE " Extrude"
#define MSG_SPEED " Speed:"
#define MSG_NOZZLE " \002Nozzle:"
#define MSG_BED " \002Bed:"
#define MSG_FAN_SPEED " Fan speed:"
#define MSG_FLOW " Flow:"
#define MSG_CONTROL " Control \003"
#define MSG_MIN " \002 Min:"
#define MSG_MAX " \002 Max:"
#define MSG_FACTOR " \002 Fact:"
#define MSG_AUTOTEMP " Autotemp:"
#define MSG_ON "On "
#define MSG_OFF "Off"
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK " Vxy-jerk: "
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " VTrav min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_ESTEPS " Esteps/mm:"
#define MSG_MAIN_WIDE " Main \003"
#define MSG_TEMPERATURE_WIDE " Temperature \x7E"
#define MSG_MOTION_WIDE " Motion \x7E"
#define MSG_STORE_EPROM " Store EPROM"
#define MSG_LOAD_EPROM " Load EPROM"
#define MSG_RESTORE_FAILSAFE " Restore Failsafe"
#define MSG_REFRESH "\004Refresh"
#define MSG_WATCH " Watch \003"
#define MSG_PREPARE " Prepare \x7E"
#define MSG_CONTROL_ARROW " Control \x7E"
#define MSG_TUNE " Tune \x7E"
#define MSG_STOP_PRINT " Stop Print \x7E"
#define MSG_CARD_MENU " Card Menu \x7E"
#define MSG_NO_CARD " No Card"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
#endif
#if LANGUAGE_CHOICE == 2
// LCD Menu Messages
#define WELCOME_MSG "UltiMARLIN Ready."
#define MSG_SD_INSERTED "Card inserted"
#define MSG_SD_REMOVED "Card removed"
#define MSG_MAIN " Main \003"
#define MSG_AUTOSTART " Autostart"
#define MSG_DISABLE_STEPPERS " Disable Steppers"
#define MSG_AUTO_HOME " Auto Home"
#define MSG_SET_ORIGIN " Set Origin"
#define MSG_PREHEAT " Preheat"
#define MSG_COOLDOWN " Cooldown"
#define MSG_EXTRUDE " Extrude"
#define MSG_SPEED " Speed:"
#define MSG_NOZZLE " \002Nozzle:"
#define MSG_BED " \002Bed:"
#define MSG_FAN_SPEED " Fan speed:"
#define MSG_FLOW " Flow:"
#define MSG_CONTROL " Control \003"
#define MSG_MIN " \002 Min:"
#define MSG_MAX " \002 Max:"
#define MSG_FACTOR " \002 Fact:"
#define MSG_AUTOTEMP " Autotemp:"
#define MSG_ON "On "
#define MSG_OFF "Off"
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK " Vxy-jerk: "
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " VTrav min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_ESTEPS " Esteps/mm:"
#define MSG_MAIN_WIDE " Main \003"
#define MSG_TEMPERATURE_WIDE " Temperature \x7E"
#define MSG_MOTION_WIDE " Motion \x7E"
#define MSG_STORE_EPROM " Store EPROM"
#define MSG_LOAD_EPROM " Load EPROM"
#define MSG_RESTORE_FAILSAFE " Restore Failsafe"
#define MSG_REFRESH "\004Refresh"
#define MSG_WATCH " Watch \003"
#define MSG_PREPARE " Prepare \x7E"
#define MSG_CONTROL_ARROW " Control \x7E"
#define MSG_TUNE " Tune \x7E"
#define MSG_STOP_PRINT " Stop Print \x7E"
#define MSG_CARD_MENU " Card Menu \x7E"
#define MSG_NO_CARD " No Card"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
#endif
#if LANGUAGE_CHOICE == 3
// LCD Menu Messages
#define WELCOME_MSG "RepRap Ready."
#define MSG_SD_INSERTED "Card Ready"
#define MSG_SD_REMOVED "Card Initiate"
#define MSG_MAIN " Main \003"
#define MSG_AUTOSTART " Autostart"
#define MSG_DISABLE_STEPPERS " Disable Steppers"
#define MSG_AUTO_HOME " Auto Home"
#define MSG_SET_ORIGIN " Set Origin"
#define MSG_PREHEAT " Preheat"
#define MSG_COOLDOWN " Cooldown"
#define MSG_EXTRUDE " Extrude"
#define MSG_SPEED " Speed:"
#define MSG_NOZZLE " \002Nozzle:"
#define MSG_BED " \002Bed:"
#define MSG_FAN_SPEED " Fan speed:"
#define MSG_FLOW " Flow:"
#define MSG_CONTROL " Control \003"
#define MSG_MIN " \002 Min:"
#define MSG_MAX " \002 Max:"
#define MSG_FACTOR " \002 Fact:"
#define MSG_AUTOTEMP " Autotemp:"
#define MSG_ON "On "
#define MSG_OFF "Off"
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK " Vxy-jerk: "
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " VTrav min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_ESTEPS " Esteps/mm:"
#define MSG_MAIN_WIDE " Main \003"
#define MSG_TEMPERATURE_WIDE " Temperature \x7E"
#define MSG_MOTION_WIDE " Motion \x7E"
#define MSG_STORE_EPROM " Store EPROM"
#define MSG_LOAD_EPROM " Load EPROM"
#define MSG_RESTORE_FAILSAFE " Restore Failsafe"
#define MSG_REFRESH "\004Refresh"
#define MSG_WATCH " Watch \003"
#define MSG_PREPARE " Prepare \x7E"
#define MSG_CONTROL_ARROW " Control \x7E"
#define MSG_TUNE " Tune \x7E"
#define MSG_STOP_PRINT " Stop Print \x7E"
#define MSG_CARD_MENU " Card Menu \x7E"
#define MSG_NO_CARD " No Card"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
#endif
#if LANGUAGE_CHOICE == 4
// LCD Menu Messages
#define WELCOME_MSG "RepRap Ready."
#define MSG_SD_INSERTED "Card Ready"
#define MSG_SD_REMOVED "Card Initiate"
#define MSG_MAIN " Main \003"
#define MSG_AUTOSTART " Autostart"
#define MSG_DISABLE_STEPPERS " Disable Steppers"
#define MSG_AUTO_HOME " Auto Home"
#define MSG_SET_ORIGIN " Set Origin"
#define MSG_PREHEAT " Preheat"
#define MSG_COOLDOWN " Cooldown"
#define MSG_EXTRUDE " Extrude"
#define MSG_SPEED " Speed:"
#define MSG_NOZZLE " \002Nozzle:"
#define MSG_BED " \002Bed:"
#define MSG_FAN_SPEED " Fan speed:"
#define MSG_FLOW " Flow:"
#define MSG_CONTROL " Control \003"
#define MSG_MIN " \002 Min:"
#define MSG_MAX " \002 Max:"
#define MSG_FACTOR " \002 Fact:"
#define MSG_AUTOTEMP " Autotemp:"
#define MSG_ON "On "
#define MSG_OFF "Off"
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK " Vxy-jerk: "
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " VTrav min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_ESTEPS " Esteps/mm:"
#define MSG_MAIN_WIDE " Main \003"
#define MSG_TEMPERATURE_WIDE " Temperature \x7E"
#define MSG_MOTION_WIDE " Motion \x7E"
#define MSG_STORE_EPROM " Store EPROM"
#define MSG_LOAD_EPROM " Load EPROM"
#define MSG_RESTORE_FAILSAFE " Restore Failsafe"
#define MSG_REFRESH "\004Refresh"
#define MSG_WATCH " Watch \003"
#define MSG_PREPARE " Prepare \x7E"
#define MSG_CONTROL_ARROW " Control \x7E"
#define MSG_TUNE " Tune \x7E"
#define MSG_STOP_PRINT " Stop Print \x7E"
#define MSG_CARD_MENU " Card Menu \x7E"
#define MSG_NO_CARD " No Card"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
#endif
#if LANGUAGE_CHOICE == 5
// LCD Menu Messages
#define WELCOME_MSG "RepRap Ready."
#define MSG_SD_INSERTED "Card Ready"
#define MSG_SD_REMOVED "Card Initiate"
#define MSG_MAIN " Main \003"
#define MSG_AUTOSTART " Autostart"
#define MSG_DISABLE_STEPPERS " Disable Steppers"
#define MSG_AUTO_HOME " Auto Home"
#define MSG_SET_ORIGIN " Set Origin"
#define MSG_PREHEAT " Preheat"
#define MSG_COOLDOWN " Cooldown"
#define MSG_EXTRUDE " Extrude"
#define MSG_SPEED " Speed:"
#define MSG_NOZZLE " \002Nozzle:"
#define MSG_BED " \002Bed:"
#define MSG_FAN_SPEED " Fan speed:"
#define MSG_FLOW " Flow:"
#define MSG_CONTROL " Control \003"
#define MSG_MIN " \002 Min:"
#define MSG_MAX " \002 Max:"
#define MSG_FACTOR " \002 Fact:"
#define MSG_AUTOTEMP " Autotemp:"
#define MSG_ON "On "
#define MSG_OFF "Off"
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK " Vxy-jerk: "
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " VTrav min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_ESTEPS " Esteps/mm:"
#define MSG_MAIN_WIDE " Main \003"
#define MSG_TEMPERATURE_WIDE " Temperature \x7E"
#define MSG_MOTION_WIDE " Motion \x7E"
#define MSG_STORE_EPROM " Store EPROM"
#define MSG_LOAD_EPROM " Load EPROM"
#define MSG_RESTORE_FAILSAFE " Restore Failsafe"
#define MSG_REFRESH "\004Refresh"
#define MSG_WATCH " Watch \003"
#define MSG_PREPARE " Prepare \x7E"
#define MSG_CONTROL_ARROW " Control \x7E"
#define MSG_TUNE " Tune \x7E"
#define MSG_STOP_PRINT " Stop Print \x7E"
#define MSG_CARD_MENU " Card Menu \x7E"
#define MSG_NO_CARD " No Card"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
#endif
#endif // ifndef LANGUAGE_H

View file

@ -308,7 +308,7 @@
#define SDPOWER -1 #define SDPOWER -1
#define SDSS 53 #define SDSS 53
#define LED_PIN 13 #define LED_PIN 13
#define FAN_PIN 4 #define FAN_PIN 9 // Uses HEATER_1 on Ramps Board
#define PS_ON_PIN 12 #define PS_ON_PIN 12
#define KILL_PIN -1 #define KILL_PIN -1
@ -321,6 +321,74 @@
#define HEATER_BED_PIN 8 // BED #define HEATER_BED_PIN 8 // BED
#define TEMP_BED_PIN 14 // ANALOG NUMBERING #define TEMP_BED_PIN 14 // ANALOG NUMBERING
#ifdef ULTRA_LCD
#ifdef NEWPANEL
//arduino pin which triggers an piezzo beeper
#define BEEPER 33 // Beeper on AUX-4
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
//buttons are directly attached using AUX-2
#define BTN_EN1 44
#define BTN_EN2 42
#define BTN_ENC 64 //the click
#define BLEN_C 2
#define BLEN_B 1
#define BLEN_A 0
#define SDCARDDETECT 31 // Ramps does not use this port
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
#else //old style panel with shift register
//arduino pin witch triggers an piezzo beeper
#define BEEPER 33 No Beeper added
//buttons are attached to a shift register
// Not wired this yet
//#define SHIFT_CLK 38
//#define SHIFT_LD 42
//#define SHIFT_OUT 40
//#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
//bits in the shift register that carry the buttons for:
// left up center down right red
#define BL_LE 7
#define BL_UP 6
#define BL_MI 5
#define BL_DW 4
#define BL_RI 3
#define BL_ST 2
#define BLEN_B 1
#define BLEN_A 0
#endif
#endif //ULTRA_LCD
#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default #else // RAMPS_V_1_1 or RAMPS_V_1_2 as default

View file

@ -29,10 +29,17 @@
#define BLOCK {blocking=millis()+blocktime;} #define BLOCK {blocking=millis()+blocktime;}
#if (SDCARDDETECT > -1) #if (SDCARDDETECT > -1)
{ {
#define CARDINSERTED (READ(SDCARDDETECT)==0)
#ifdef SDCARDDETECTINVERTED
#define CARDINSERTED (READ(SDCARDDETECT)!=0)
#else
#define CARDINSERTED (READ(SDCARDDETECT)==0)
} }
#endif #endif
#endif //SDCARDTETECTINVERTED
#else #else
//atomatic, do not change //atomatic, do not change

View file

@ -122,7 +122,7 @@ void lcd_init()
lcd.createChar(3,uplevel); lcd.createChar(3,uplevel);
lcd.createChar(4,refresh); lcd.createChar(4,refresh);
lcd.createChar(5,folder); lcd.createChar(5,folder);
LCD_MESSAGEPGM("UltiMarlin ready."); LCD_MESSAGEPGM(WELCOME_MSG);
} }
@ -476,25 +476,25 @@ void MainMenu::showPrepare()
switch(i) switch(i)
{ {
case ItemP_exit: case ItemP_exit:
MENUITEM( lcdprintPGM(" Main \003") , BLOCK;status=Main_Menu;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_MAIN) , BLOCK;status=Main_Menu;beepshort(); ) ;
break; break;
case ItemP_autostart: case ItemP_autostart:
MENUITEM( lcdprintPGM(" Autostart") , BLOCK;card.lastnr=0;card.setroot();card.checkautostart(true);beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_AUTOSTART) , BLOCK;card.lastnr=0;card.setroot();card.checkautostart(true);beepshort(); ) ;
break; break;
case ItemP_disstep: case ItemP_disstep:
MENUITEM( lcdprintPGM(" Disable Steppers") , BLOCK;enquecommand("M84");beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_DISABLE_STEPPERS) , BLOCK;enquecommand("M84");beepshort(); ) ;
break; break;
case ItemP_home: case ItemP_home:
MENUITEM( lcdprintPGM(" Auto Home") , BLOCK;enquecommand("G28 X0 Y0 Z0");beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_AUTO_HOME) , BLOCK;enquecommand("G28 X-105 Y-105 Z0");beepshort(); ) ;
break; break;
case ItemP_origin: case ItemP_origin:
MENUITEM( lcdprintPGM(" Set Origin") , BLOCK;enquecommand("G92 X0 Y0 Z0");beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_SET_ORIGIN) , BLOCK;enquecommand("G92 X0 Y0 Z0");beepshort(); ) ;
break; break;
case ItemP_preheat: case ItemP_preheat:
MENUITEM( lcdprintPGM(" Preheat") , BLOCK;setTargetHotend0(227);setTargetBed(105);beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_PREHEAT) , BLOCK;setTargetHotend0(170);setTargetBed(70);beepshort(); ) ;
break; break;
case ItemP_cooldown: case ItemP_cooldown:
MENUITEM( lcdprintPGM(" Cooldown") , BLOCK;setTargetHotend0(0);setTargetBed(0);beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_COOLDOWN) , BLOCK;setTargetHotend0(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(); ) ;
@ -690,13 +690,13 @@ void MainMenu::showTune()
switch(i) switch(i)
{ {
case ItemT_exit: case ItemT_exit:
MENUITEM( lcdprintPGM(" Main \003") , BLOCK;status=Main_Menu;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_MAIN) , BLOCK;status=Main_Menu;beepshort(); ) ;
break; break;
case ItemT_speed: case ItemT_speed:
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Speed:"); lcd.setCursor(0,line);lcdprintPGM(MSG_SPEED);
lcd.setCursor(13,line);lcd.print(ftostr3(feedmultiply)); lcd.setCursor(13,line);lcd.print(ftostr3(feedmultiply));
} }
@ -731,7 +731,7 @@ void MainMenu::showTune()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" \002Nozzle:"); lcd.setCursor(0,line);lcdprintPGM(MSG_NOZZLE);
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetHotend0()))); lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetHotend0())));
} }
@ -765,7 +765,7 @@ void MainMenu::showTune()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" \002Bed:"); lcd.setCursor(0,line);lcdprintPGM(MSG_BED);
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetBed()))); lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetBed())));
} }
@ -836,7 +836,7 @@ void MainMenu::showTune()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Flow:"); lcd.setCursor(0,line);lcdprintPGM(MSG_FLOW);
lcd.setCursor(13,line);lcd.print(itostr4(axis_steps_per_unit[3])); lcd.setCursor(13,line);lcd.print(itostr4(axis_steps_per_unit[3]));
} }
@ -917,13 +917,13 @@ void MainMenu::showControlTemp()
switch(i) switch(i)
{ {
case ItemCT_exit: case ItemCT_exit:
MENUITEM( lcdprintPGM(" Control \003") , BLOCK;status=Main_Control;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_CONTROL) , BLOCK;status=Main_Control;beepshort(); ) ;
break; break;
case ItemCT_nozzle: case ItemCT_nozzle:
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" \002Nozzle:"); lcd.setCursor(0,line);lcdprintPGM(MSG_NOZZLE);
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetHotend0()))); lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetHotend0())));
} }
@ -958,7 +958,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" \002 Min:"); lcd.setCursor(0,line);lcdprintPGM(MSG_MIN);
lcd.setCursor(13,line);lcd.print(ftostr3(autotemp_min)); lcd.setCursor(13,line);lcd.print(ftostr3(autotemp_min));
} }
@ -992,7 +992,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" \002 Max:"); lcd.setCursor(0,line);lcdprintPGM(MSG_MAX);
lcd.setCursor(13,line);lcd.print(ftostr3(autotemp_max)); lcd.setCursor(13,line);lcd.print(ftostr3(autotemp_max));
} }
@ -1026,7 +1026,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" \002 Fact:"); lcd.setCursor(0,line);lcdprintPGM(MSG_FACTOR);
lcd.setCursor(13,line);lcd.print(ftostr32(autotemp_factor)); lcd.setCursor(13,line);lcd.print(ftostr32(autotemp_factor));
} }
@ -1060,12 +1060,12 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Autotemp:"); lcd.setCursor(0,line);lcdprintPGM(MSG_AUTOTEMP);
lcd.setCursor(13,line); lcd.setCursor(13,line);
if(autotemp_enabled) if(autotemp_enabled)
lcdprintPGM("On"); lcdprintPGM(MSG_ON);
else else
lcdprintPGM("Off"); lcdprintPGM(MSG_OFF);
} }
if((activeline!=line) ) if((activeline!=line) )
@ -1076,9 +1076,9 @@ void MainMenu::showControlTemp()
autotemp_enabled=!autotemp_enabled; autotemp_enabled=!autotemp_enabled;
lcd.setCursor(13,line); lcd.setCursor(13,line);
if(autotemp_enabled) if(autotemp_enabled)
lcdprintPGM("On "); lcdprintPGM(MSG_ON);
else else
lcdprintPGM("Off"); lcdprintPGM(MSG_OFF);
BLOCK; BLOCK;
} }
@ -1089,7 +1089,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" \002Bed:"); lcd.setCursor(0,line);lcdprintPGM(MSG_BED);
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetBed()))); lcd.setCursor(13,line);lcd.print(ftostr3(intround(degTargetBed())));
} }
@ -1123,7 +1123,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Fan speed:"); lcd.setCursor(0,line);lcdprintPGM(MSG_FAN_SPEED);
lcd.setCursor(13,line);lcd.print(ftostr3(fanpwm)); lcd.setCursor(13,line);lcd.print(ftostr3(fanpwm));
} }
@ -1193,7 +1193,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" PID-I: "); lcd.setCursor(0,line);lcdprintPGM(MSG_PID_I);
lcd.setCursor(13,line);lcd.print(ftostr51(Ki/PID_dT)); lcd.setCursor(13,line);lcd.print(ftostr51(Ki/PID_dT));
} }
@ -1228,7 +1228,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" PID-D: "); lcd.setCursor(0,line);lcdprintPGM(MSG_PID_D);
lcd.setCursor(13,line);lcd.print(itostr4(Kd*PID_dT)); lcd.setCursor(13,line);lcd.print(itostr4(Kd*PID_dT));
} }
@ -1265,7 +1265,7 @@ void MainMenu::showControlTemp()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" PID-C: "); lcd.setCursor(0,line);lcdprintPGM(MSG_PID_C);
lcd.setCursor(13,line);lcd.print(itostr3(Kc)); lcd.setCursor(13,line);lcd.print(itostr3(Kc));
} }
@ -1331,13 +1331,13 @@ void MainMenu::showControlMotion()
switch(i) switch(i)
{ {
case ItemCM_exit: case ItemCM_exit:
MENUITEM( lcdprintPGM(" Control \003") , BLOCK;status=Main_Control;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_CONTROL) , BLOCK;status=Main_Control;beepshort(); ) ;
break; break;
case ItemCM_acc: case ItemCM_acc:
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Acc:"); lcd.setCursor(0,line);lcdprintPGM(MSG_ACC);
lcd.setCursor(13,line);lcd.print(itostr3(acceleration/100));lcdprintPGM("00"); lcd.setCursor(13,line);lcd.print(itostr3(acceleration/100));lcdprintPGM("00");
} }
@ -1371,7 +1371,7 @@ void MainMenu::showControlMotion()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Vxy-jerk: "); lcd.setCursor(0,line);lcdprintPGM(MSG_VXY_JERK);
lcd.setCursor(13,line);lcd.print(itostr3(max_xy_jerk)); lcd.setCursor(13,line);lcd.print(itostr3(max_xy_jerk));
} }
@ -1410,11 +1410,11 @@ void MainMenu::showControlMotion()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Vmax "); lcd.setCursor(0,line);lcdprintPGM(MSG_VMAX);
if(i==ItemCM_vmaxx)lcdprintPGM("x:"); if(i==ItemCM_vmaxx)lcdprintPGM(MSG_X);
if(i==ItemCM_vmaxy)lcdprintPGM("y:"); if(i==ItemCM_vmaxy)lcdprintPGM(MSG_Y);
if(i==ItemCM_vmaxz)lcdprintPGM("z:"); if(i==ItemCM_vmaxz)lcdprintPGM(MSG_Z);
if(i==ItemCM_vmaxe)lcdprintPGM("e:"); if(i==ItemCM_vmaxe)lcdprintPGM(MSG_E);
lcd.setCursor(13,line);lcd.print(itostr3(max_feedrate[i-ItemCM_vmaxx])); lcd.setCursor(13,line);lcd.print(itostr3(max_feedrate[i-ItemCM_vmaxx]));
} }
@ -1450,7 +1450,7 @@ void MainMenu::showControlMotion()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Vmin:"); lcd.setCursor(0,line);lcdprintPGM(MSG_VMIN);
lcd.setCursor(13,line);lcd.print(itostr3(minimumfeedrate)); lcd.setCursor(13,line);lcd.print(itostr3(minimumfeedrate));
} }
@ -1485,7 +1485,7 @@ void MainMenu::showControlMotion()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" VTrav min:"); lcd.setCursor(0,line);lcdprintPGM(MSG_VTRAV_MIN);
lcd.setCursor(13,line);lcd.print(itostr3(mintravelfeedrate)); lcd.setCursor(13,line);lcd.print(itostr3(mintravelfeedrate));
} }
@ -1525,10 +1525,10 @@ void MainMenu::showControlMotion()
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Amax "); lcd.setCursor(0,line);lcdprintPGM(" Amax ");
if(i==ItemCM_amaxx)lcdprintPGM("x:"); if(i==ItemCM_amaxx)lcdprintPGM(MSG_X);
if(i==ItemCM_amaxy)lcdprintPGM("y:"); if(i==ItemCM_amaxy)lcdprintPGM(MSG_Y);
if(i==ItemCM_amaxz)lcdprintPGM("z:"); if(i==ItemCM_amaxz)lcdprintPGM(MSG_Z);
if(i==ItemCM_amaxe)lcdprintPGM("e:"); if(i==ItemCM_amaxe)lcdprintPGM(MSG_E);
lcd.setCursor(13,line);lcd.print(itostr3(max_acceleration_units_per_sq_second[i-ItemCM_amaxx]/100));lcdprintPGM("00"); lcd.setCursor(13,line);lcd.print(itostr3(max_acceleration_units_per_sq_second[i-ItemCM_amaxx]/100));lcdprintPGM("00");
} }
@ -1562,7 +1562,7 @@ void MainMenu::showControlMotion()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" A-retract:"); lcd.setCursor(0,line);lcdprintPGM(MSG_A_RETRACT);
lcd.setCursor(13,line);lcd.print(ftostr3(retract_acceleration/100));lcdprintPGM("00"); lcd.setCursor(13,line);lcd.print(ftostr3(retract_acceleration/100));lcdprintPGM("00");
} }
@ -1712,7 +1712,7 @@ void MainMenu::showControlMotion()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" E steps/mm:"); lcd.setCursor(0,line);lcdprintPGM(MSG_ESTEPS);
lcd.setCursor(13,line);lcd.print(itostr4(axis_steps_per_unit[3])); lcd.setCursor(13,line);lcd.print(itostr4(axis_steps_per_unit[3]));
} }
@ -1769,19 +1769,19 @@ void MainMenu::showControl()
switch(i) switch(i)
{ {
case ItemC_exit: case ItemC_exit:
MENUITEM( lcdprintPGM(" Main \003") , BLOCK;status=Main_Menu;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_MAIN_WIDE) , BLOCK;status=Main_Menu;beepshort(); ) ;
break; break;
case ItemC_temp: case ItemC_temp:
MENUITEM( lcdprintPGM(" Temperature \x7E") , BLOCK;status=Sub_TempControl;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_TEMPERATURE_WIDE) , BLOCK;status=Sub_TempControl;beepshort(); ) ;
break; break;
case ItemC_move: case ItemC_move:
MENUITEM( lcdprintPGM(" Motion \x7E") , BLOCK;status=Sub_MotionControl;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_MOTION_WIDE) , BLOCK;status=Sub_MotionControl;beepshort(); ) ;
break; break;
case ItemC_store: case ItemC_store:
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Store EPROM"); lcd.setCursor(0,line);lcdprintPGM(MSG_STORE_EPROM);
} }
if((activeline==line) && CLICKED) if((activeline==line) && CLICKED)
{ {
@ -1795,7 +1795,7 @@ void MainMenu::showControl()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Load EPROM"); lcd.setCursor(0,line);lcdprintPGM(MSG_LOAD_EPROM);
} }
if((activeline==line) && CLICKED) if((activeline==line) && CLICKED)
{ {
@ -1809,7 +1809,7 @@ void MainMenu::showControl()
{ {
if(force_lcd_update) if(force_lcd_update)
{ {
lcd.setCursor(0,line);lcdprintPGM(" Restore Failsafe"); lcd.setCursor(0,line);lcdprintPGM(MSG_RESTORE_FAILSAFE);
} }
if((activeline==line) && CLICKED) if((activeline==line) && CLICKED)
{ {
@ -1856,7 +1856,7 @@ void MainMenu::showSD()
switch(i) switch(i)
{ {
case 0: case 0:
MENUITEM( lcdprintPGM(" Main \003") , BLOCK;status=Main_Menu;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_MAIN) , BLOCK;status=Main_Menu;beepshort(); ) ;
break; break;
// case 1: // case 1:
// { // {
@ -1887,7 +1887,7 @@ void MainMenu::showSD()
// } // }
// }break; // }break;
case 1: case 1:
MENUITEM( lcd.print(" ");card.getWorkDirName();if(card.filename[0]=='/') lcdprintPGM("\004Refresh");else {lcd.print("\005");lcd.print(card.filename);lcd.print("/..");} , BLOCK;card.updir();enforceupdate=true;lineoffset=0;beepshort(); ) ; MENUITEM( lcd.print(" ");card.getWorkDirName();if(card.filename[0]=='/') lcdprintPGM(MSG_REFRESH);else {lcd.print("\005");lcd.print(card.filename);lcd.print("/..");} , BLOCK;card.updir();enforceupdate=true;lineoffset=0;beepshort(); ) ;
break; break;
default: default:
@ -1974,14 +1974,14 @@ void MainMenu::showMainMenu()
switch(line) switch(line)
{ {
case ItemM_watch: case ItemM_watch:
MENUITEM( lcdprintPGM(" Watch \003") , BLOCK;status=Main_Status;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_WATCH) , BLOCK;status=Main_Status;beepshort(); ) ;
break; break;
case ItemM_prepare: case ItemM_prepare:
MENUITEM( if(!tune) lcdprintPGM(" Prepare \x7E");else lcdprintPGM(" Tune \x7E"); , BLOCK;status=Main_Prepare;beepshort(); ) ; MENUITEM( if(!tune) lcdprintPGM(MSG_PREPARE);else lcdprintPGM(MSG_TUNE); , BLOCK;status=Main_Prepare;beepshort(); ) ;
break; break;
case ItemM_control: case ItemM_control:
MENUITEM( lcdprintPGM(" Control \x7E") , BLOCK;status=Main_Control;beepshort(); ) ; MENUITEM( lcdprintPGM(MSG_CONTROL_ARROW) , BLOCK;status=Main_Control;beepshort(); ) ;
break; break;
#ifdef SDSUPPORT #ifdef SDSUPPORT
case ItemM_file: case ItemM_file:
@ -1996,13 +1996,13 @@ void MainMenu::showMainMenu()
#endif #endif
{ {
if(card.sdprinting) if(card.sdprinting)
lcdprintPGM(" Stop Print \x7E"); lcdprintPGM(MSG_STOP_PRINT);
else else
lcdprintPGM(" Card Menu \x7E"); lcdprintPGM(MSG_CARD_MENU);
} }
else else
{ {
lcdprintPGM(" No Card"); lcdprintPGM(MSG_NO_CARD);
} }
} }
#ifdef CARDINSERTED #ifdef CARDINSERTED
@ -2022,7 +2022,7 @@ void MainMenu::showMainMenu()
#endif #endif
default: default:
SERIAL_ERROR_START; SERIAL_ERROR_START;
SERIAL_ERRORLNPGM("Something is wrong in the MenuStructure."); SERIAL_ERRORLNPGM(MSG_SERIAL_ERROR_MENU_STRUCTURE);
break; break;
} }
} }
@ -2043,12 +2043,12 @@ void MainMenu::update()
if(CARDINSERTED) if(CARDINSERTED)
{ {
card.initsd(); card.initsd();
LCD_MESSAGEPGM("Card inserted"); LCD_MESSAGEPGM(MSG_SD_INSERTED);
} }
else else
{ {
card.release(); card.release();
LCD_MESSAGEPGM("Card removed"); LCD_MESSAGEPGM(MSG_SD_REMOVED);
} }
} }
#endif #endif