Merge remote-tracking branch 'justblair/master' into Marlin_v1
This commit is contained in:
commit
cb0c84e075
58
Marlin/.Marlin.vsarduino.h
Normal file
58
Marlin/.Marlin.vsarduino.h
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
#define __AVR_ATmega2560__
|
||||||
|
#define __cplusplus
|
||||||
|
#define __builtin_va_list int
|
||||||
|
#define __attribute__(x)
|
||||||
|
#define __inline__
|
||||||
|
#define __asm__(x)
|
||||||
|
#define ARDUINO 23
|
||||||
|
extern "C" void __cxa_pure_virtual() {}
|
||||||
|
#include "C:\arduino-0023\libraries\LiquidCrystal\LiquidCrystal.h"
|
||||||
|
#include "C:\arduino-0023\libraries\LiquidCrystal\LiquidCrystal.cpp"
|
||||||
|
void enquecommand(const char *cmd);
|
||||||
|
void setup_photpin();
|
||||||
|
void setup_powerhold();
|
||||||
|
void suicide();
|
||||||
|
void setup();
|
||||||
|
void loop();
|
||||||
|
void get_command();
|
||||||
|
float code_value();
|
||||||
|
long code_value_long();
|
||||||
|
bool code_seen(char code_string[]);
|
||||||
|
bool code_seen(char code);
|
||||||
|
void process_commands();
|
||||||
|
void process_commands();
|
||||||
|
void FlushSerialRequestResend();
|
||||||
|
void ClearToSend();
|
||||||
|
void get_coordinates();
|
||||||
|
void get_arc_coordinates();
|
||||||
|
void prepare_move();
|
||||||
|
void prepare_arc_move(char isclockwise);
|
||||||
|
void manage_inactivity(byte debug);
|
||||||
|
void kill();
|
||||||
|
void lcdProgMemprint(const char *str);
|
||||||
|
int intround(const float &x);
|
||||||
|
void lcd_status(const char* message);
|
||||||
|
void lcd_statuspgm(const char* message);
|
||||||
|
FORCE_INLINE void clear();
|
||||||
|
void lcd_init();
|
||||||
|
void beep();
|
||||||
|
void beepshort();
|
||||||
|
void lcd_status();
|
||||||
|
void buttons_init();
|
||||||
|
void buttons_check();
|
||||||
|
char *ftostr3(const float &x);
|
||||||
|
char *itostr2(const uint8_t &x);
|
||||||
|
char *ftostr31(const float &x);
|
||||||
|
char *ftostr32(const float &x);
|
||||||
|
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);
|
||||||
|
void wd_init();
|
||||||
|
void wd_reset();
|
||||||
|
|
||||||
|
#include "C:\arduino-0023\hardware\arduino\cores\arduino\WProgram.h"
|
||||||
|
#include "C:\Users\Blair\Desktop\Marlin\Marlin\Marlin.pde"
|
||||||
|
#include "C:\Users\Blair\Desktop\Marlin\Marlin\ultralcd.pde"
|
||||||
|
#include "C:\Users\Blair\Desktop\Marlin\Marlin\watchdog.pde"
|
|
@ -254,28 +254,28 @@ void setup()
|
||||||
|
|
||||||
// Check startup - does nothing if bootloader sets MCUSR to 0
|
// Check startup - does nothing if bootloader sets MCUSR to 0
|
||||||
byte mcu = MCUSR;
|
byte mcu = MCUSR;
|
||||||
if(mcu & 1) SERIAL_ECHOLNPGM("PowerUp");
|
if(mcu & 1) SERIAL_ECHOLNPGM(MSG_POWERUP);
|
||||||
if(mcu & 2) SERIAL_ECHOLNPGM("External Reset");
|
if(mcu & 2) SERIAL_ECHOLNPGM(MSG_EXTERNAL_RESET);
|
||||||
if(mcu & 4) SERIAL_ECHOLNPGM("Brown out Reset");
|
if(mcu & 4) SERIAL_ECHOLNPGM(MSG_BROWNOUT_RESET);
|
||||||
if(mcu & 8) SERIAL_ECHOLNPGM("Watchdog Reset");
|
if(mcu & 8) SERIAL_ECHOLNPGM(MSG_WATCHDOG_RESET);
|
||||||
if(mcu & 32) SERIAL_ECHOLNPGM("Software Reset");
|
if(mcu & 32) SERIAL_ECHOLNPGM(MSG_SOFTWARE_RESET);
|
||||||
MCUSR=0;
|
MCUSR=0;
|
||||||
|
|
||||||
SERIAL_ECHOPGM("Marlin: ");
|
SERIAL_ECHOPGM(MSG_MARLIN);
|
||||||
SERIAL_ECHOLNPGM(VERSION_STRING);
|
SERIAL_ECHOLNPGM(VERSION_STRING);
|
||||||
#ifdef STRING_VERSION_CONFIG_H
|
#ifdef STRING_VERSION_CONFIG_H
|
||||||
#ifdef STRING_CONFIG_H_AUTHOR
|
#ifdef STRING_CONFIG_H_AUTHOR
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOPGM("Configuration.h: ");
|
SERIAL_ECHOPGM(MSG_CONFIGURATION_VER);
|
||||||
SERIAL_ECHOPGM(STRING_VERSION_CONFIG_H);
|
SERIAL_ECHOPGM(STRING_VERSION_CONFIG_H);
|
||||||
SERIAL_ECHOPGM(" | Author: ");
|
SERIAL_ECHOPGM(MSG_AUTHOR);
|
||||||
SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR);
|
SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOPGM("Free Memory:");
|
SERIAL_ECHOPGM(MSG_FREE_MEMORY);
|
||||||
SERIAL_ECHO(freeMemory());
|
SERIAL_ECHO(freeMemory());
|
||||||
SERIAL_ECHOPGM(" PlannerBufferBytes:");
|
SERIAL_ECHOPGM(MSG_PLANNER_BUFFER_BYTES);
|
||||||
SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE);
|
SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE);
|
||||||
for(int8_t i = 0; i < BUFSIZE; i++)
|
for(int8_t i = 0; i < BUFSIZE; i++)
|
||||||
{
|
{
|
||||||
|
@ -312,12 +312,12 @@ void loop()
|
||||||
if(strstr(cmdbuffer[bufindr],"M29") == NULL)
|
if(strstr(cmdbuffer[bufindr],"M29") == NULL)
|
||||||
{
|
{
|
||||||
card.write_command(cmdbuffer[bufindr]);
|
card.write_command(cmdbuffer[bufindr]);
|
||||||
SERIAL_PROTOCOLLNPGM("ok");
|
SERIAL_PROTOCOLLNPGM(MSG_OK);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
card.closefile();
|
card.closefile();
|
||||||
SERIAL_PROTOCOLLNPGM("Done saving file.");
|
SERIAL_PROTOCOLLNPGM(MSG_FILE_SAVED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -357,7 +357,7 @@ void get_command()
|
||||||
gcode_N = (strtol(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL, 10));
|
gcode_N = (strtol(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL, 10));
|
||||||
if(gcode_N != gcode_LastN+1 && (strstr(cmdbuffer[bufindw], "M110") == NULL) ) {
|
if(gcode_N != gcode_LastN+1 && (strstr(cmdbuffer[bufindw], "M110") == NULL) ) {
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORPGM("Line Number is not Last Line Number+1, Last Line:");
|
SERIAL_ERRORPGM(MSG_ERR_LINE_NO);
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
SERIAL_ERRORLN(gcode_LastN);
|
||||||
//Serial.println(gcode_N);
|
//Serial.println(gcode_N);
|
||||||
FlushSerialRequestResend();
|
FlushSerialRequestResend();
|
||||||
|
@ -374,7 +374,7 @@ void get_command()
|
||||||
|
|
||||||
if( (int)(strtod(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL)) != checksum) {
|
if( (int)(strtod(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL)) != checksum) {
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORPGM("checksum mismatch, Last Line:");
|
SERIAL_ERRORPGM(MSG_ERR_CHECKSUM_MISMATCH);
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
SERIAL_ERRORLN(gcode_LastN);
|
||||||
FlushSerialRequestResend();
|
FlushSerialRequestResend();
|
||||||
serial_count = 0;
|
serial_count = 0;
|
||||||
|
@ -385,7 +385,7 @@ void get_command()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORPGM("No Checksum with line number, Last Line:");
|
SERIAL_ERRORPGM(MSG_ERR_NO_CHECKSUM);
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
SERIAL_ERRORLN(gcode_LastN);
|
||||||
FlushSerialRequestResend();
|
FlushSerialRequestResend();
|
||||||
serial_count = 0;
|
serial_count = 0;
|
||||||
|
@ -400,7 +400,7 @@ void get_command()
|
||||||
if((strstr(cmdbuffer[bufindw], "*") != NULL))
|
if((strstr(cmdbuffer[bufindw], "*") != NULL))
|
||||||
{
|
{
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORPGM("No Line Number with checksum, Last Line:");
|
SERIAL_ERRORPGM(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM);
|
||||||
SERIAL_ERRORLN(gcode_LastN);
|
SERIAL_ERRORLN(gcode_LastN);
|
||||||
serial_count = 0;
|
serial_count = 0;
|
||||||
return;
|
return;
|
||||||
|
@ -417,7 +417,7 @@ void get_command()
|
||||||
if(card.saving)
|
if(card.saving)
|
||||||
break;
|
break;
|
||||||
#endif //SDSUPPORT
|
#endif //SDSUPPORT
|
||||||
SERIAL_PROTOCOLLNPGM("ok");
|
SERIAL_PROTOCOLLNPGM(MSG_OK);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -445,7 +445,7 @@ void get_command()
|
||||||
if(serial_char == '\n' || serial_char == '\r' || serial_char == ':' || serial_count >= (MAX_CMD_SIZE - 1)||n==-1)
|
if(serial_char == '\n' || serial_char == '\r' || serial_char == ':' || serial_count >= (MAX_CMD_SIZE - 1)||n==-1)
|
||||||
{
|
{
|
||||||
if(card.eof()){
|
if(card.eof()){
|
||||||
SERIAL_PROTOCOLLNPGM("Done printing file");
|
SERIAL_PROTOCOLLNPGM(MSG_FILE_PRINTED);
|
||||||
stoptime=millis();
|
stoptime=millis();
|
||||||
char time[30];
|
char time[30];
|
||||||
unsigned long t=(stoptime-starttime)/1000;
|
unsigned long t=(stoptime-starttime)/1000;
|
||||||
|
@ -559,7 +559,7 @@ void process_commands()
|
||||||
prepare_arc_move(false);
|
prepare_arc_move(false);
|
||||||
return;
|
return;
|
||||||
case 4: // G4 dwell
|
case 4: // G4 dwell
|
||||||
LCD_MESSAGEPGM("DWELL...");
|
LCD_MESSAGEPGM(MSG_DWELL);
|
||||||
codenum = 0;
|
codenum = 0;
|
||||||
if(code_seen('P')) codenum = code_value(); // milliseconds to wait
|
if(code_seen('P')) codenum = code_value(); // milliseconds to wait
|
||||||
if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait
|
if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait
|
||||||
|
@ -681,7 +681,7 @@ void process_commands()
|
||||||
switch( (int)code_value() )
|
switch( (int)code_value() )
|
||||||
{
|
{
|
||||||
case 17:
|
case 17:
|
||||||
LCD_MESSAGEPGM("No move.");
|
LCD_MESSAGEPGM(MSG_NO_MOVE);
|
||||||
enable_x();
|
enable_x();
|
||||||
enable_y();
|
enable_y();
|
||||||
enable_z();
|
enable_z();
|
||||||
|
@ -692,9 +692,9 @@ void process_commands()
|
||||||
|
|
||||||
#ifdef SDSUPPORT
|
#ifdef SDSUPPORT
|
||||||
case 20: // M20 - list SD card
|
case 20: // M20 - list SD card
|
||||||
SERIAL_PROTOCOLLNPGM("Begin file list");
|
SERIAL_PROTOCOLLNPGM(MSG_BEGIN_FILE_LIST);
|
||||||
card.ls();
|
card.ls();
|
||||||
SERIAL_PROTOCOLLNPGM("End file list");
|
SERIAL_PROTOCOLLNPGM(MSG_END_FILE_LIST);
|
||||||
break;
|
break;
|
||||||
case 21: // M21 - init SD card
|
case 21: // M21 - init SD card
|
||||||
|
|
||||||
|
@ -787,7 +787,7 @@ void process_commands()
|
||||||
tmp_extruder = code_value();
|
tmp_extruder = code_value();
|
||||||
if(tmp_extruder >= EXTRUDERS) {
|
if(tmp_extruder >= EXTRUDERS) {
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHO("M104 Invalid extruder ");
|
SERIAL_ECHO(MSG_M104_INVALID_EXTRUDER);
|
||||||
SERIAL_ECHOLN(tmp_extruder);
|
SERIAL_ECHOLN(tmp_extruder);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -804,7 +804,7 @@ void process_commands()
|
||||||
tmp_extruder = code_value();
|
tmp_extruder = code_value();
|
||||||
if(tmp_extruder >= EXTRUDERS) {
|
if(tmp_extruder >= EXTRUDERS) {
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHO("M105 Invalid extruder ");
|
SERIAL_ECHO(MSG_M105_INVALID_EXTRUDER);
|
||||||
SERIAL_ECHOLN(tmp_extruder);
|
SERIAL_ECHOLN(tmp_extruder);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -818,7 +818,7 @@ void process_commands()
|
||||||
#endif //TEMP_BED_PIN
|
#endif //TEMP_BED_PIN
|
||||||
#else
|
#else
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLNPGM("No thermistors - no temp");
|
SERIAL_ERRORLNPGM(MSG_ERR_NO_THERMISTORS);
|
||||||
#endif
|
#endif
|
||||||
#ifdef PIDTEMP
|
#ifdef PIDTEMP
|
||||||
SERIAL_PROTOCOLPGM(" @:");
|
SERIAL_PROTOCOLPGM(" @:");
|
||||||
|
@ -834,12 +834,12 @@ void process_commands()
|
||||||
tmp_extruder = code_value();
|
tmp_extruder = code_value();
|
||||||
if(tmp_extruder >= EXTRUDERS) {
|
if(tmp_extruder >= EXTRUDERS) {
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHO("M109 Invalid extruder ");
|
SERIAL_ECHO(MSG_M109_INVALID_EXTRUDER);
|
||||||
SERIAL_ECHOLN(tmp_extruder);
|
SERIAL_ECHOLN(tmp_extruder);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LCD_MESSAGEPGM("Heating...");
|
LCD_MESSAGEPGM(MSG_HEATING);
|
||||||
#ifdef AUTOTEMP
|
#ifdef AUTOTEMP
|
||||||
autotemp_enabled=false;
|
autotemp_enabled=false;
|
||||||
#endif
|
#endif
|
||||||
|
@ -905,14 +905,14 @@ void process_commands()
|
||||||
}
|
}
|
||||||
#endif //TEMP_RESIDENCY_TIME
|
#endif //TEMP_RESIDENCY_TIME
|
||||||
}
|
}
|
||||||
LCD_MESSAGEPGM("Heating done.");
|
LCD_MESSAGEPGM(MSG_HEATING_COMPLETE);
|
||||||
starttime=millis();
|
starttime=millis();
|
||||||
previous_millis_cmd = millis();
|
previous_millis_cmd = millis();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 190: // M190 - Wait for bed heater to reach target.
|
case 190: // M190 - Wait for bed heater to reach target.
|
||||||
#if TEMP_BED_PIN > -1
|
#if TEMP_BED_PIN > -1
|
||||||
LCD_MESSAGEPGM("Bed Heating.");
|
LCD_MESSAGEPGM(MSG_BED_HEATING);
|
||||||
if (code_seen('S')) setTargetBed(code_value());
|
if (code_seen('S')) setTargetBed(code_value());
|
||||||
codenum = millis();
|
codenum = millis();
|
||||||
while(isHeatingBed())
|
while(isHeatingBed())
|
||||||
|
@ -930,7 +930,7 @@ void process_commands()
|
||||||
}
|
}
|
||||||
manage_heater();
|
manage_heater();
|
||||||
}
|
}
|
||||||
LCD_MESSAGEPGM("Bed done.");
|
LCD_MESSAGEPGM(MSG_BED_DONE);
|
||||||
previous_millis_cmd = millis();
|
previous_millis_cmd = millis();
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -1005,7 +1005,7 @@ void process_commands()
|
||||||
disable_e2();
|
disable_e2();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
LCD_MESSAGEPGM("Partial Release");
|
LCD_MESSAGEPGM(MSG_PART_RELEASE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1021,7 +1021,7 @@ void process_commands()
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 115: // M115
|
case 115: // M115
|
||||||
SerialprintPGM("FIRMWARE_NAME:Marlin; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://www.mendel-parts.com PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1\n");
|
SerialprintPGM(MSG_M115_REPORT);
|
||||||
break;
|
break;
|
||||||
case 117: // M117 display message
|
case 117: // M117 display message
|
||||||
LCD_MESSAGE(cmdbuffer[bufindr]+5);
|
LCD_MESSAGE(cmdbuffer[bufindr]+5);
|
||||||
|
@ -1036,7 +1036,7 @@ void process_commands()
|
||||||
SERIAL_PROTOCOLPGM("E:");
|
SERIAL_PROTOCOLPGM("E:");
|
||||||
SERIAL_PROTOCOL(current_position[E_AXIS]);
|
SERIAL_PROTOCOL(current_position[E_AXIS]);
|
||||||
|
|
||||||
SERIAL_PROTOCOLPGM(" Count X:");
|
SERIAL_PROTOCOLPGM(MSG_COUNT_X);
|
||||||
SERIAL_PROTOCOL(float(st_get_position(X_AXIS))/axis_steps_per_unit[X_AXIS]);
|
SERIAL_PROTOCOL(float(st_get_position(X_AXIS))/axis_steps_per_unit[X_AXIS]);
|
||||||
SERIAL_PROTOCOLPGM("Y:");
|
SERIAL_PROTOCOLPGM("Y:");
|
||||||
SERIAL_PROTOCOL(float(st_get_position(Y_AXIS))/axis_steps_per_unit[Y_AXIS]);
|
SERIAL_PROTOCOL(float(st_get_position(Y_AXIS))/axis_steps_per_unit[Y_AXIS]);
|
||||||
|
@ -1047,27 +1047,27 @@ void process_commands()
|
||||||
break;
|
break;
|
||||||
case 119: // M119
|
case 119: // M119
|
||||||
#if (X_MIN_PIN > -1)
|
#if (X_MIN_PIN > -1)
|
||||||
SERIAL_PROTOCOLPGM("x_min:");
|
SERIAL_PROTOCOLPGM(MSG_X_MIN);
|
||||||
SERIAL_PROTOCOL(((READ(X_MIN_PIN)^X_ENDSTOPS_INVERTING)?"H ":"L "));
|
SERIAL_PROTOCOL(((READ(X_MIN_PIN)^X_ENDSTOPS_INVERTING)?"H ":"L "));
|
||||||
#endif
|
#endif
|
||||||
#if (X_MAX_PIN > -1)
|
#if (X_MAX_PIN > -1)
|
||||||
SERIAL_PROTOCOLPGM("x_max:");
|
SERIAL_PROTOCOLPGM(MSG_X_MAX);
|
||||||
SERIAL_PROTOCOL(((READ(X_MAX_PIN)^X_ENDSTOPS_INVERTING)?"H ":"L "));
|
SERIAL_PROTOCOL(((READ(X_MAX_PIN)^X_ENDSTOPS_INVERTING)?"H ":"L "));
|
||||||
#endif
|
#endif
|
||||||
#if (Y_MIN_PIN > -1)
|
#if (Y_MIN_PIN > -1)
|
||||||
SERIAL_PROTOCOLPGM("y_min:");
|
SERIAL_PROTOCOLPGM(MSG_Y_MIN);
|
||||||
SERIAL_PROTOCOL(((READ(Y_MIN_PIN)^Y_ENDSTOPS_INVERTING)?"H ":"L "));
|
SERIAL_PROTOCOL(((READ(Y_MIN_PIN)^Y_ENDSTOPS_INVERTING)?"H ":"L "));
|
||||||
#endif
|
#endif
|
||||||
#if (Y_MAX_PIN > -1)
|
#if (Y_MAX_PIN > -1)
|
||||||
SERIAL_PROTOCOLPGM("y_max:");
|
SERIAL_PROTOCOLPGM(MSG_Y_MAX);
|
||||||
SERIAL_PROTOCOL(((READ(Y_MAX_PIN)^Y_ENDSTOPS_INVERTING)?"H ":"L "));
|
SERIAL_PROTOCOL(((READ(Y_MAX_PIN)^Y_ENDSTOPS_INVERTING)?"H ":"L "));
|
||||||
#endif
|
#endif
|
||||||
#if (Z_MIN_PIN > -1)
|
#if (Z_MIN_PIN > -1)
|
||||||
SERIAL_PROTOCOLPGM("z_min:");
|
SERIAL_PROTOCOLPGM(MSG_Z_MIN);
|
||||||
SERIAL_PROTOCOL(((READ(Z_MIN_PIN)^Z_ENDSTOPS_INVERTING)?"H ":"L "));
|
SERIAL_PROTOCOL(((READ(Z_MIN_PIN)^Z_ENDSTOPS_INVERTING)?"H ":"L "));
|
||||||
#endif
|
#endif
|
||||||
#if (Z_MAX_PIN > -1)
|
#if (Z_MAX_PIN > -1)
|
||||||
SERIAL_PROTOCOLPGM("z_max:");
|
SERIAL_PROTOCOLPGM(MSG_Z_MAX);
|
||||||
SERIAL_PROTOCOL(((READ(Z_MAX_PIN)^Z_ENDSTOPS_INVERTING)?"H ":"L "));
|
SERIAL_PROTOCOL(((READ(Z_MAX_PIN)^Z_ENDSTOPS_INVERTING)?"H ":"L "));
|
||||||
#endif
|
#endif
|
||||||
SERIAL_PROTOCOLLN("");
|
SERIAL_PROTOCOLLN("");
|
||||||
|
@ -1144,7 +1144,8 @@ void process_commands()
|
||||||
if(code_seen('C')) Kc = code_value();
|
if(code_seen('C')) Kc = code_value();
|
||||||
#endif
|
#endif
|
||||||
updatePID();
|
updatePID();
|
||||||
SERIAL_PROTOCOL("ok p:");
|
SERIAL_PROTOCOL(MSG_OK);
|
||||||
|
SERIAL_PROTOCOL(" p:");
|
||||||
SERIAL_PROTOCOL(Kp);
|
SERIAL_PROTOCOL(Kp);
|
||||||
SERIAL_PROTOCOL(" i:");
|
SERIAL_PROTOCOL(" i:");
|
||||||
SERIAL_PROTOCOL(Ki/PID_dT);
|
SERIAL_PROTOCOL(Ki/PID_dT);
|
||||||
|
@ -1223,12 +1224,12 @@ void process_commands()
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHO("T");
|
SERIAL_ECHO("T");
|
||||||
SERIAL_ECHO(tmp_extruder);
|
SERIAL_ECHO(tmp_extruder);
|
||||||
SERIAL_ECHOLN("Invalid extruder");
|
SERIAL_ECHOLN(MSG_INVALID_EXTRUDER);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
active_extruder = tmp_extruder;
|
active_extruder = tmp_extruder;
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHO("Active Extruder: ");
|
SERIAL_ECHO(MSG_ACTIVE_EXTRUDER);
|
||||||
SERIAL_PROTOCOLLN((int)active_extruder);
|
SERIAL_PROTOCOLLN((int)active_extruder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1236,7 +1237,7 @@ void process_commands()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOPGM("Unknown command:\"");
|
SERIAL_ECHOPGM(MSG_UNKNOWN_COMMAND);
|
||||||
SERIAL_ECHO(cmdbuffer[bufindr]);
|
SERIAL_ECHO(cmdbuffer[bufindr]);
|
||||||
SERIAL_ECHOLNPGM("\"");
|
SERIAL_ECHOLNPGM("\"");
|
||||||
}
|
}
|
||||||
|
@ -1248,7 +1249,7 @@ void FlushSerialRequestResend()
|
||||||
{
|
{
|
||||||
//char cmdbuffer[bufindr][100]="Resend:";
|
//char cmdbuffer[bufindr][100]="Resend:";
|
||||||
MYSERIAL.flush();
|
MYSERIAL.flush();
|
||||||
SERIAL_PROTOCOLPGM("Resend:");
|
SERIAL_PROTOCOLPGM(MSG_RESEND);
|
||||||
SERIAL_PROTOCOLLN(gcode_LastN + 1);
|
SERIAL_PROTOCOLLN(gcode_LastN + 1);
|
||||||
ClearToSend();
|
ClearToSend();
|
||||||
}
|
}
|
||||||
|
@ -1260,7 +1261,7 @@ void ClearToSend()
|
||||||
if(fromsd[bufindr])
|
if(fromsd[bufindr])
|
||||||
return;
|
return;
|
||||||
#endif //SDSUPPORT
|
#endif //SDSUPPORT
|
||||||
SERIAL_PROTOCOLLNPGM("ok");
|
SERIAL_PROTOCOLLNPGM(MSG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_coordinates()
|
void get_coordinates()
|
||||||
|
@ -1370,8 +1371,8 @@ void kill()
|
||||||
|
|
||||||
if(PS_ON_PIN > -1) pinMode(PS_ON_PIN,INPUT);
|
if(PS_ON_PIN > -1) pinMode(PS_ON_PIN,INPUT);
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLNPGM("Printer halted. kill() called !!");
|
SERIAL_ERRORLNPGM(MSG_ERR_KILLED);
|
||||||
LCD_MESSAGEPGM("KILLED. ");
|
LCD_MESSAGEPGM(MSG_KILLED);
|
||||||
suicide();
|
suicide();
|
||||||
while(1); // Wait for reset
|
while(1); // Wait for reset
|
||||||
}
|
}
|
||||||
|
|
BIN
Marlin/Marlin.sdf
Normal file
BIN
Marlin/Marlin.sdf
Normal file
Binary file not shown.
20
Marlin/Marlin.sln
Normal file
20
Marlin/Marlin.sln
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Marlin", "Marlin.vcxproj", "{A6365572-B176-4C2F-9B18-A75B62059578}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{A6365572-B176-4C2F-9B18-A75B62059578}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{A6365572-B176-4C2F-9B18-A75B62059578}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{A6365572-B176-4C2F-9B18-A75B62059578}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{A6365572-B176-4C2F-9B18-A75B62059578}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
BIN
Marlin/Marlin.suo
Normal file
BIN
Marlin/Marlin.suo
Normal file
Binary file not shown.
117
Marlin/Marlin.vcxproj
Normal file
117
Marlin/Marlin.vcxproj
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{A6365572-B176-4C2F-9B18-A75B62059578}</ProjectGuid>
|
||||||
|
<RootNamespace>Marlin</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<IncludePath>C:\arduino-0023\hardware\arduino\cores\arduino;c:\arduino-0023\hardware\tools\avr\avr\include\;c:\arduino-0023\hardware\tools\avr\avr\include\avr\;c:\arduino-0023\hardware\tools\avr\avr\;c:\arduino-0023\hardware\tools\avr\lib\gcc\avr\4.3.2\include\;C:\arduino-0023\libraries\LiquidCrystal;C:\arduino-0023\libraries\LiquidCrystal\utility;</IncludePath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<IncludePath>C:\arduino-0023\hardware\arduino\cores\arduino;c:\arduino-0023\hardware\tools\avr\avr\include\;c:\arduino-0023\hardware\tools\avr\avr\include\avr\;c:\arduino-0023\hardware\tools\avr\avr\;c:\arduino-0023\hardware\tools\avr\lib\gcc\avr\4.3.2\include\;C:\arduino-0023\libraries\LiquidCrystal;C:\arduino-0023\libraries\LiquidCrystal\utility;</IncludePath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Marlin.pde" />
|
||||||
|
<None Include="ultralcd.pde" />
|
||||||
|
<None Include="watchdog.pde" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="cardreader.cpp" />
|
||||||
|
<ClCompile Include="MarlinSerial.cpp" />
|
||||||
|
<ClCompile Include="motion_control.cpp" />
|
||||||
|
<ClCompile Include="planner.cpp" />
|
||||||
|
<ClCompile Include="Sd2Card.cpp" />
|
||||||
|
<ClCompile Include="SdBaseFile.cpp" />
|
||||||
|
<ClCompile Include="SdFatUtil.cpp" />
|
||||||
|
<ClCompile Include="SdFile.cpp" />
|
||||||
|
<ClCompile Include="SdVolume.cpp" />
|
||||||
|
<ClCompile Include="stepper.cpp" />
|
||||||
|
<ClCompile Include="temperature.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="cardreader.h" />
|
||||||
|
<ClInclude Include="Configuration.h" />
|
||||||
|
<ClInclude Include="Configuration_adv.h" />
|
||||||
|
<ClInclude Include="EEPROMwrite.h" />
|
||||||
|
<ClInclude Include="fastio.h" />
|
||||||
|
<ClInclude Include="language.h" />
|
||||||
|
<ClInclude Include="Marlin.h" />
|
||||||
|
<ClInclude Include="MarlinSerial.h" />
|
||||||
|
<ClInclude Include="motion_control.h" />
|
||||||
|
<ClInclude Include="pins.h" />
|
||||||
|
<ClInclude Include="planner.h" />
|
||||||
|
<ClInclude Include="Sd2Card.h" />
|
||||||
|
<ClInclude Include="Sd2PinMap.h" />
|
||||||
|
<ClInclude Include="SdBaseFile.h" />
|
||||||
|
<ClInclude Include="SdFatConfig.h" />
|
||||||
|
<ClInclude Include="SdFatStructs.h" />
|
||||||
|
<ClInclude Include="SdFatUtil.h" />
|
||||||
|
<ClInclude Include="SdFile.h" />
|
||||||
|
<ClInclude Include="SdInfo.h" />
|
||||||
|
<ClInclude Include="SdVolume.h" />
|
||||||
|
<ClInclude Include="speed_lookuptable.h" />
|
||||||
|
<ClInclude Include="stepper.h" />
|
||||||
|
<ClInclude Include="temperature.h" />
|
||||||
|
<ClInclude Include="thermistortables.h" />
|
||||||
|
<ClInclude Include="ultralcd.h" />
|
||||||
|
<ClInclude Include="watchdog.h" />
|
||||||
|
<ClInclude Include="wiring.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
140
Marlin/Marlin.vcxproj.filters
Normal file
140
Marlin/Marlin.vcxproj.filters
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Marlin.pde" />
|
||||||
|
<None Include="ultralcd.pde" />
|
||||||
|
<None Include="watchdog.pde" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="cardreader.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="MarlinSerial.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="motion_control.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="planner.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Sd2Card.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SdBaseFile.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SdFatUtil.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SdFile.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SdVolume.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="stepper.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="temperature.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="cardreader.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Configuration.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Configuration_adv.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="EEPROMwrite.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="fastio.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="language.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Marlin.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="MarlinSerial.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="motion_control.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="pins.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="planner.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Sd2Card.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Sd2PinMap.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SdBaseFile.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SdFatConfig.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SdFatStructs.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SdFatUtil.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SdFile.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SdInfo.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SdVolume.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="speed_lookuptable.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="stepper.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="temperature.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="thermistortables.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="ultralcd.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="watchdog.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="wiring.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
3
Marlin/Marlin.vcxproj.user
Normal file
3
Marlin/Marlin.vcxproj.user
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
</Project>
|
|
@ -3,6 +3,8 @@
|
||||||
#include "ultralcd.h"
|
#include "ultralcd.h"
|
||||||
#include "stepper.h"
|
#include "stepper.h"
|
||||||
#include "temperature.h"
|
#include "temperature.h"
|
||||||
|
#include "language.h"
|
||||||
|
|
||||||
#ifdef SDSUPPORT
|
#ifdef SDSUPPORT
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,7 +77,7 @@ void CardReader::lsDive(const char *prepend,SdFile parent)
|
||||||
if(lsAction==LS_SerialPrint)
|
if(lsAction==LS_SerialPrint)
|
||||||
{
|
{
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOLN("Cannot open subdir");
|
SERIAL_ECHOLN(MSG_SD_CANT_OPEN_SUBDIR);
|
||||||
SERIAL_ECHOLN(lfilename);
|
SERIAL_ECHOLN(lfilename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -143,28 +145,28 @@ void CardReader::initsd()
|
||||||
{
|
{
|
||||||
//if (!card.init(SPI_HALF_SPEED,SDSS))
|
//if (!card.init(SPI_HALF_SPEED,SDSS))
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOLNPGM("SD init fail");
|
SERIAL_ECHOLNPGM(MSG_SD_INIT_FAIL);
|
||||||
}
|
}
|
||||||
else if (!volume.init(&card))
|
else if (!volume.init(&card))
|
||||||
{
|
{
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLNPGM("volume.init failed");
|
SERIAL_ERRORLNPGM(MSG_SD_VOL_INIT_FAIL);
|
||||||
}
|
}
|
||||||
else if (!root.openRoot(&volume))
|
else if (!root.openRoot(&volume))
|
||||||
{
|
{
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLNPGM("openRoot failed");
|
SERIAL_ERRORLNPGM(MSG_SD_OPENROOT_FAIL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cardOK = true;
|
cardOK = true;
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOLNPGM("SD card ok");
|
SERIAL_ECHOLNPGM(MSG_SD_CARD_OK);
|
||||||
}
|
}
|
||||||
curDir=&root;
|
curDir=&root;
|
||||||
if(!workDir.openRoot(&volume))
|
if(!workDir.openRoot(&volume))
|
||||||
{
|
{
|
||||||
SERIAL_ECHOLNPGM("workDir open failed");
|
SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,7 +175,7 @@ void CardReader::setroot()
|
||||||
curDir=&root;
|
curDir=&root;
|
||||||
if(!workDir.openRoot(&volume))
|
if(!workDir.openRoot(&volume))
|
||||||
{
|
{
|
||||||
SERIAL_ECHOLNPGM("workDir open failed");
|
SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void CardReader::release()
|
void CardReader::release()
|
||||||
|
@ -230,7 +232,7 @@ void CardReader::openFile(char* name,bool read)
|
||||||
SERIAL_ECHOLN(subdirname);
|
SERIAL_ECHOLN(subdirname);
|
||||||
if(!myDir.open(curDir,subdirname,O_READ))
|
if(!myDir.open(curDir,subdirname,O_READ))
|
||||||
{
|
{
|
||||||
SERIAL_PROTOCOLPGM("open failed, File: ");
|
SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
|
||||||
SERIAL_PROTOCOL(subdirname);
|
SERIAL_PROTOCOL(subdirname);
|
||||||
SERIAL_PROTOCOLLNPGM(".");
|
SERIAL_PROTOCOLLNPGM(".");
|
||||||
return;
|
return;
|
||||||
|
@ -260,18 +262,18 @@ void CardReader::openFile(char* name,bool read)
|
||||||
if (file.open(curDir, fname, O_READ))
|
if (file.open(curDir, fname, O_READ))
|
||||||
{
|
{
|
||||||
filesize = file.fileSize();
|
filesize = file.fileSize();
|
||||||
SERIAL_PROTOCOLPGM("File opened:");
|
SERIAL_PROTOCOLPGM(MSG_SD_FILE_OPENED);
|
||||||
SERIAL_PROTOCOL(fname);
|
SERIAL_PROTOCOL(fname);
|
||||||
SERIAL_PROTOCOLPGM(" Size:");
|
SERIAL_PROTOCOLPGM(MSG_SD_SIZE);
|
||||||
SERIAL_PROTOCOLLN(filesize);
|
SERIAL_PROTOCOLLN(filesize);
|
||||||
sdpos = 0;
|
sdpos = 0;
|
||||||
|
|
||||||
SERIAL_PROTOCOLLNPGM("File selected");
|
SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED);
|
||||||
LCD_MESSAGE(fname);
|
LCD_MESSAGE(fname);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SERIAL_PROTOCOLPGM("open failed, File: ");
|
SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
|
||||||
SERIAL_PROTOCOL(fname);
|
SERIAL_PROTOCOL(fname);
|
||||||
SERIAL_PROTOCOLLNPGM(".");
|
SERIAL_PROTOCOLLNPGM(".");
|
||||||
}
|
}
|
||||||
|
@ -280,14 +282,14 @@ void CardReader::openFile(char* name,bool read)
|
||||||
{ //write
|
{ //write
|
||||||
if (!file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC))
|
if (!file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC))
|
||||||
{
|
{
|
||||||
SERIAL_PROTOCOLPGM("open failed, File: ");
|
SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
|
||||||
SERIAL_PROTOCOL(fname);
|
SERIAL_PROTOCOL(fname);
|
||||||
SERIAL_PROTOCOLLNPGM(".");
|
SERIAL_PROTOCOLLNPGM(".");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
saving = true;
|
saving = true;
|
||||||
SERIAL_PROTOCOLPGM("Writing to file: ");
|
SERIAL_PROTOCOLPGM(MSG_SD_WRITE_TO_FILE);
|
||||||
SERIAL_PROTOCOLLN(name);
|
SERIAL_PROTOCOLLN(name);
|
||||||
LCD_MESSAGE(fname);
|
LCD_MESSAGE(fname);
|
||||||
}
|
}
|
||||||
|
@ -298,13 +300,13 @@ void CardReader::openFile(char* name,bool read)
|
||||||
void CardReader::getStatus()
|
void CardReader::getStatus()
|
||||||
{
|
{
|
||||||
if(cardOK){
|
if(cardOK){
|
||||||
SERIAL_PROTOCOLPGM("SD printing byte ");
|
SERIAL_PROTOCOLPGM(MSG_SD_PRINTING_BYTE);
|
||||||
SERIAL_PROTOCOL(sdpos);
|
SERIAL_PROTOCOL(sdpos);
|
||||||
SERIAL_PROTOCOLPGM("/");
|
SERIAL_PROTOCOLPGM("/");
|
||||||
SERIAL_PROTOCOLLN(filesize);
|
SERIAL_PROTOCOLLN(filesize);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
SERIAL_PROTOCOLLNPGM("Not SD printing");
|
SERIAL_PROTOCOLLNPGM(MSG_SD_NOT_PRINTING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void CardReader::write_command(char *buf)
|
void CardReader::write_command(char *buf)
|
||||||
|
@ -326,7 +328,7 @@ void CardReader::write_command(char *buf)
|
||||||
if (file.writeError)
|
if (file.writeError)
|
||||||
{
|
{
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERRORLNPGM("error writing to file");
|
SERIAL_ERRORLNPGM(MSG_SD_ERR_WRITE_TO_FILE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,7 +422,7 @@ void CardReader::chdir(const char * relpath)
|
||||||
if(!newfile.open(*parent,relpath, O_READ))
|
if(!newfile.open(*parent,relpath, O_READ))
|
||||||
{
|
{
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOPGM("Cannot enter subdir:");
|
SERIAL_ECHOPGM(MSG_SD_CANT_ENTER_SUBDIR);
|
||||||
SERIAL_ECHOLN(relpath);
|
SERIAL_ECHOLN(relpath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -14,73 +14,8 @@
|
||||||
|
|
||||||
// LCD Menu Messages
|
// LCD Menu Messages
|
||||||
|
|
||||||
|
// #define WELCOME_MSG "UltiMARLIN Ready."
|
||||||
#define WELCOME_MSG "RepRap Ready."
|
#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_PLA " Preheat PLA"
|
|
||||||
#define MSG_PREHEAT_ABS " Preheat ABS"
|
|
||||||
#define MSG_COOLDOWN " Cooldown"
|
|
||||||
#define MSG_EXTRUDE " Extrude"
|
|
||||||
#define MSG_MOVE_AXIS " Move Axis \x7E"
|
|
||||||
#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_XSTEPS " Xsteps/mm:"
|
|
||||||
#define MSG_YSTEPS " Ysteps/mm:"
|
|
||||||
#define MSG_ZSTEPS " Zsteps/mm:"
|
|
||||||
#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_INSERTED "Card inserted"
|
||||||
#define MSG_SD_REMOVED "Card removed"
|
#define MSG_SD_REMOVED "Card removed"
|
||||||
#define MSG_MAIN " Main \003"
|
#define MSG_MAIN " Main \003"
|
||||||
|
@ -91,7 +26,7 @@
|
||||||
#define MSG_PREHEAT " Preheat"
|
#define MSG_PREHEAT " Preheat"
|
||||||
#define MSG_COOLDOWN " Cooldown"
|
#define MSG_COOLDOWN " Cooldown"
|
||||||
#define MSG_EXTRUDE " Extrude"
|
#define MSG_EXTRUDE " Extrude"
|
||||||
#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_BED " \002Bed:"
|
#define MSG_BED " \002Bed:"
|
||||||
|
@ -132,22 +67,96 @@
|
||||||
#define MSG_REFRESH "\004Refresh"
|
#define MSG_REFRESH "\004Refresh"
|
||||||
#define MSG_WATCH " Watch \003"
|
#define MSG_WATCH " Watch \003"
|
||||||
#define MSG_PREPARE " Prepare \x7E"
|
#define MSG_PREPARE " Prepare \x7E"
|
||||||
|
#define MSG_PREPARE_ALT " Prepare \003"
|
||||||
#define MSG_CONTROL_ARROW " Control \x7E"
|
#define MSG_CONTROL_ARROW " Control \x7E"
|
||||||
#define MSG_TUNE " Tune \x7E"
|
#define MSG_TUNE " Tune \x7E"
|
||||||
#define MSG_STOP_PRINT " Stop Print \x7E"
|
#define MSG_STOP_PRINT " Stop Print \x7E"
|
||||||
#define MSG_CARD_MENU " Card Menu \x7E"
|
#define MSG_CARD_MENU " Card Menu \x7E"
|
||||||
#define MSG_NO_CARD " No Card"
|
#define MSG_NO_CARD " No Card"
|
||||||
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
|
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
|
||||||
|
#define MSG_DWELL "DWELL..."
|
||||||
|
#define MSG_NO_MOVE "No move."
|
||||||
|
#define MSG_PART_RELEASE "Partial Release"
|
||||||
|
#define MSG_KILLED "KILLED. "
|
||||||
|
#define MSG_PREHEAT_PLA " Preheat PLA"
|
||||||
|
#define MSG_PREHEAT_ABS " Preheat ABS"
|
||||||
|
#define MSG_STEPPER_RELEASED "Released."
|
||||||
|
|
||||||
|
|
||||||
|
// Serial Console Messages
|
||||||
|
|
||||||
|
#define MSG_Enqueing "enqueing \""
|
||||||
|
#define MSG_POWERUP "PowerUp"
|
||||||
|
#define MSG_EXTERNAL_RESET " External Reset"
|
||||||
|
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
||||||
|
#define MSG_WATCHDOG_RESET " Watchdog Reset"
|
||||||
|
#define MSG_SOFTWARE_RESET " Software Reset"
|
||||||
|
#define MSG_MARLIN "Marlin: "
|
||||||
|
#define MSG_AUTHOR " | Author: "
|
||||||
|
#define MSG_CONFIGURATION_VER " Last Updated: "
|
||||||
|
#define MSG_FREE_MEMORY " Free Memory: "
|
||||||
|
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
|
||||||
|
#define MSG_OK "ok"
|
||||||
|
#define MSG_FILE_SAVED "Done saving file."
|
||||||
|
#define MSG_ERR_LINE_NO "Line Number is not Last Line Number+1, Last Line:"
|
||||||
|
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line:"
|
||||||
|
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line:"
|
||||||
|
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No Line Number with checksum, Last Line:"
|
||||||
|
#define MSG_FILE_PRINTED "Done printing file"
|
||||||
|
#define MSG_BEGIN_FILE_LIST "Begin file list"
|
||||||
|
#define MSG_END_FILE_LIST "End file list"
|
||||||
|
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
|
||||||
|
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
|
||||||
|
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temp"
|
||||||
|
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
|
||||||
|
#define MSG_HEATING "Heating..."
|
||||||
|
#define MSG_HEATING_COMPLETE "Heating done."
|
||||||
|
#define MSG_BED_HEATING "Bed Heating."
|
||||||
|
#define MSG_BED_DONE "Bed done."
|
||||||
|
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://www.mendel-parts.com PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1\n"
|
||||||
|
#define MSG_COUNT_X " Count X:"
|
||||||
|
#define MSG_ERR_KILLED "Printer halted. kill() called !!"
|
||||||
|
#define MSG_RESEND "Resend:"
|
||||||
|
#define MSG_UNKNOWN_COMMAND "Unknown command:\""
|
||||||
|
#define MSG_ACTIVE_EXTRUDER "Active Extruder: "
|
||||||
|
#define MSG_INVALID_EXTRUDER "Invalid extruder"
|
||||||
|
#define MSG_X_MIN "x_min:"
|
||||||
|
#define MSG_X_MAX "x_max:"
|
||||||
|
#define MSG_Y_MIN "y_min:"
|
||||||
|
#define MSG_Y_MAX "y_max:"
|
||||||
|
#define MSG_Z_MIN "z_min:"
|
||||||
|
#define MSG_Z_MAX "z_max:"
|
||||||
|
|
||||||
|
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
|
||||||
|
#define MSG_SD_INIT_FAIL "SD init fail"
|
||||||
|
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
|
||||||
|
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
|
||||||
|
#define MSG_SD_CARD_OK "SD card ok"
|
||||||
|
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
|
||||||
|
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
|
||||||
|
#define MSG_SD_FILE_OPENED "File opened:"
|
||||||
|
#define MSG_SD_SIZE " Size:"
|
||||||
|
#define MSG_SD_FILE_SELECTED "File selected"
|
||||||
|
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
|
||||||
|
#define MSG_SD_PRINTING_BYTE "SD printing byte "
|
||||||
|
#define MSG_SD_NOT_PRINTING "Not SD printing"
|
||||||
|
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
|
||||||
|
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir:"
|
||||||
|
|
||||||
|
#define MSG_STEPPER_TO_HIGH "Steprate to high : "
|
||||||
|
#define MSG_ENDSTOPS_HIT "endstops hit: "
|
||||||
|
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
|
||||||
|
#define MSG_ERR_LONG_EXTRUDE_STOP " too long extrusion prevented"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
#if LANGUAGE_CHOICE == 2
|
||||||
#if LANGUAGE_CHOICE == 3
|
|
||||||
|
|
||||||
// LCD Menu Messages
|
// LCD Menu Messages
|
||||||
|
|
||||||
#define WELCOME_MSG "RepRap Ready."
|
#define WELCOME_MSG "UltiMARLIN Ready."
|
||||||
#define MSG_SD_INSERTED "Card Ready"
|
|
||||||
#define MSG_SD_REMOVED "Card Initiate"
|
#define MSG_SD_INSERTED "Card inserted"
|
||||||
|
#define MSG_SD_REMOVED "Card removed"
|
||||||
#define MSG_MAIN " Main \003"
|
#define MSG_MAIN " Main \003"
|
||||||
#define MSG_AUTOSTART " Autostart"
|
#define MSG_AUTOSTART " Autostart"
|
||||||
#define MSG_DISABLE_STEPPERS " Disable Steppers"
|
#define MSG_DISABLE_STEPPERS " Disable Steppers"
|
||||||
|
@ -156,7 +165,7 @@
|
||||||
#define MSG_PREHEAT " Preheat"
|
#define MSG_PREHEAT " Preheat"
|
||||||
#define MSG_COOLDOWN " Cooldown"
|
#define MSG_COOLDOWN " Cooldown"
|
||||||
#define MSG_EXTRUDE " Extrude"
|
#define MSG_EXTRUDE " Extrude"
|
||||||
#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_BED " \002Bed:"
|
#define MSG_BED " \002Bed:"
|
||||||
|
@ -197,143 +206,81 @@
|
||||||
#define MSG_REFRESH "\004Refresh"
|
#define MSG_REFRESH "\004Refresh"
|
||||||
#define MSG_WATCH " Watch \003"
|
#define MSG_WATCH " Watch \003"
|
||||||
#define MSG_PREPARE " Prepare \x7E"
|
#define MSG_PREPARE " Prepare \x7E"
|
||||||
|
#define MSG_PREPARE_ALT " Prepare \003"
|
||||||
#define MSG_CONTROL_ARROW " Control \x7E"
|
#define MSG_CONTROL_ARROW " Control \x7E"
|
||||||
#define MSG_TUNE " Tune \x7E"
|
#define MSG_TUNE " Tune \x7E"
|
||||||
#define MSG_STOP_PRINT " Stop Print \x7E"
|
#define MSG_STOP_PRINT " Stop Print \x7E"
|
||||||
#define MSG_CARD_MENU " Card Menu \x7E"
|
#define MSG_CARD_MENU " Card Menu \x7E"
|
||||||
#define MSG_NO_CARD " No Card"
|
#define MSG_NO_CARD " No Card"
|
||||||
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
|
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Something is wrong in the MenuStructure."
|
||||||
|
#define MSG_DWELL "DWELL..."
|
||||||
|
#define MSG_NO_MOVE "No move."
|
||||||
|
#define MSG_PART_RELEASE "Partial Release"
|
||||||
|
#define MSG_KILLED "KILLED. "
|
||||||
|
#define MSG_PREHEAT_PLA " Preheat PLA"
|
||||||
|
#define MSG_PREHEAT_ABS " Preheat ABS"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Serial Console Messages
|
||||||
|
|
||||||
|
#define MSG_Enqueing "enqueing \""
|
||||||
|
#define MSG_POWERUP "PowerUp"
|
||||||
|
#define MSG_EXTERNAL_RESET " External Reset"
|
||||||
|
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
||||||
|
#define MSG_WATCHDOG_RESET " Watchdog Reset"
|
||||||
|
#define MSG_SOFTWARE_RESET " Software Reset"
|
||||||
|
#define MSG_MARLIN "Marlin: "
|
||||||
|
#define MSG_AUTHOR " | Author: "
|
||||||
|
#define MSG_CONFIGURATION_VER " Last Updated: "
|
||||||
|
#define MSG_FREE_MEMORY " Free Memory: "
|
||||||
|
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
|
||||||
|
#define MSG_OK "ok"
|
||||||
|
#define MSG_FILE_SAVED "Done saving file."
|
||||||
|
#define MSG_ERR_LINE_NO "Line Number is not Last Line Number+1, Last Line:"
|
||||||
|
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line:"
|
||||||
|
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line:"
|
||||||
|
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No Line Number with checksum, Last Line:"
|
||||||
|
#define MSG_FILE_PRINTED "Done printing file"
|
||||||
|
#define MSG_BEGIN_FILE_LIST "Begin file list"
|
||||||
|
#define MSG_END_FILE_LIST "End file list"
|
||||||
|
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
|
||||||
|
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
|
||||||
|
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temp"
|
||||||
|
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
|
||||||
|
#define MSG_HEATING "Heating..."
|
||||||
|
#define MSG_HEATING_COMPLETE "Heating done."
|
||||||
|
#define MSG_BED_HEATING "Bed Heating."
|
||||||
|
#define MSG_BED_DONE "Bed done."
|
||||||
|
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://www.mendel-parts.com PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1\n"
|
||||||
|
#define MSG_COUNT_X " Count X:"
|
||||||
|
#define MSG_ERR_KILLED "Printer halted. kill() called !!"
|
||||||
|
#define MSG_RESEND "Resend:"
|
||||||
|
#define MSG_UNKNOWN_COMMAND "Unknown command:\""
|
||||||
|
#define MSG_ACTIVE_EXTRUDER "Active Extruder: "
|
||||||
|
#define MSG_INVALID_EXTRUDER "Invalid extruder"
|
||||||
|
#define MSG_X_MIN "x_min:"
|
||||||
|
#define MSG_X_MAX "x_max:"
|
||||||
|
#define MSG_Y_MIN "y_min:"
|
||||||
|
#define MSG_Y_MAX "y_max:"
|
||||||
|
#define MSG_Z_MIN "z_min:"
|
||||||
|
#define MSG_Z_MAX "z_max:"
|
||||||
|
|
||||||
|
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
|
||||||
|
#define MSG_SD_INIT_FAIL "SD init fail"
|
||||||
|
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
|
||||||
|
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
|
||||||
|
#define MSG_SD_CARD_OK "SD card ok"
|
||||||
|
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
|
||||||
|
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
|
||||||
|
#define MSG_SD_FILE_OPENED "File opened:"
|
||||||
|
#define MSG_SD_SIZE " Size:"
|
||||||
|
#define MSG_SD_FILE_SELECTED "File selected"
|
||||||
|
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
|
||||||
|
#define MSG_SD_PRINTING_BYTE "SD printing byte "
|
||||||
|
#define MSG_SD_NOT_PRINTING "Not SD printing"
|
||||||
|
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
|
||||||
|
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir:"
|
||||||
|
|
||||||
#endif
|
#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_MOVE_AXIS " Move Axis \x7E"
|
|
||||||
#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_XSTEPS " Xsteps/mm:"
|
|
||||||
#define MSG_YSTEPS " Ysteps/mm:"
|
|
||||||
#define MSG_ZSTEPS " Zsteps/mm:"
|
|
||||||
#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_MOVE_AXIS " Move Axis \x7E"
|
|
||||||
#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_XSTEPS " Xsteps/mm:"
|
|
||||||
#define MSG_YSTEPS " Ysteps/mm:"
|
|
||||||
#define MSG_ZSTEPS " Zsteps/mm:"
|
|
||||||
#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
|
#endif // ifndef LANGUAGE_H
|
||||||
|
|
|
@ -285,7 +285,7 @@
|
||||||
#define FAN_PIN 4 // IO pin. Buffer needed
|
#define FAN_PIN 4 // IO pin. Buffer needed
|
||||||
#endif
|
#endif
|
||||||
#define PS_ON_PIN 12
|
#define PS_ON_PIN 12
|
||||||
#define KILL_PIN -1
|
#define KILL_PIN 31
|
||||||
|
|
||||||
#define HEATER_0_PIN 10 // EXTRUDER 1
|
#define HEATER_0_PIN 10 // EXTRUDER 1
|
||||||
#if MOTHERBOARD == 33
|
#if MOTHERBOARD == 33
|
||||||
|
@ -322,7 +322,7 @@
|
||||||
#define BLEN_B 1
|
#define BLEN_B 1
|
||||||
#define BLEN_A 0
|
#define BLEN_A 0
|
||||||
|
|
||||||
#define SDCARDDETECT 31 // Ramps does not use this port
|
#define SDCARDDETECT -1 // Ramps does not use this port
|
||||||
|
|
||||||
//encoder rotation values
|
//encoder rotation values
|
||||||
#define encrot0 0
|
#define encrot0 0
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
#include "stepper.h"
|
#include "stepper.h"
|
||||||
#include "temperature.h"
|
#include "temperature.h"
|
||||||
#include "ultralcd.h"
|
#include "ultralcd.h"
|
||||||
|
#include "language.h"
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//=============================public variables ============================
|
//=============================public variables ============================
|
||||||
|
@ -469,13 +470,13 @@ void plan_buffer_line(const float &x, const float &y, const float &z, const floa
|
||||||
{
|
{
|
||||||
position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
|
position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOLNPGM(" cold extrusion prevented");
|
SERIAL_ECHOLNPGM(MSG_ERR_COLD_EXTRUDE_STOP);
|
||||||
}
|
}
|
||||||
if(labs(target[E_AXIS]-position[E_AXIS])>axis_steps_per_unit[E_AXIS]*EXTRUDE_MAXLENGTH)
|
if(labs(target[E_AXIS]-position[E_AXIS])>axis_steps_per_unit[E_AXIS]*EXTRUDE_MAXLENGTH)
|
||||||
{
|
{
|
||||||
position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
|
position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOLNPGM(" too long extrusion prevented");
|
SERIAL_ECHOLNPGM(MSG_ERR_LONG_EXTRUDE_STOP);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "planner.h"
|
#include "planner.h"
|
||||||
#include "temperature.h"
|
#include "temperature.h"
|
||||||
#include "ultralcd.h"
|
#include "ultralcd.h"
|
||||||
|
#include "language.h"
|
||||||
#include "speed_lookuptable.h"
|
#include "speed_lookuptable.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ void checkHitEndstops()
|
||||||
{
|
{
|
||||||
if( endstop_x_hit || endstop_y_hit || endstop_z_hit) {
|
if( endstop_x_hit || endstop_y_hit || endstop_z_hit) {
|
||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOPGM("endstops hit: ");
|
SERIAL_ECHOPGM(MSG_ENDSTOPS_HIT);
|
||||||
if(endstop_x_hit) {
|
if(endstop_x_hit) {
|
||||||
SERIAL_ECHOPAIR(" X:",(float)endstops_trigsteps[X_AXIS]/axis_steps_per_unit[X_AXIS]);
|
SERIAL_ECHOPAIR(" X:",(float)endstops_trigsteps[X_AXIS]/axis_steps_per_unit[X_AXIS]);
|
||||||
}
|
}
|
||||||
|
@ -254,7 +254,7 @@ FORCE_INLINE unsigned short calc_timer(unsigned short step_rate) {
|
||||||
timer = (unsigned short)pgm_read_word_near(table_address);
|
timer = (unsigned short)pgm_read_word_near(table_address);
|
||||||
timer -= (((unsigned short)pgm_read_word_near(table_address+2) * (unsigned char)(step_rate & 0x0007))>>3);
|
timer -= (((unsigned short)pgm_read_word_near(table_address+2) * (unsigned char)(step_rate & 0x0007))>>3);
|
||||||
}
|
}
|
||||||
if(timer < 100) { timer = 100; MYSERIAL.print("Steprate to high : "); MYSERIAL.println(step_rate); }//(20kHz this should never happen)
|
if(timer < 100) { timer = 100; MYSERIAL.print(MSG_STEPPER_TO_HIGH); MYSERIAL.println(step_rate); }//(20kHz this should never happen)
|
||||||
return timer;
|
return timer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -808,7 +808,7 @@ long st_get_position(uint8_t axis)
|
||||||
void finishAndDisableSteppers()
|
void finishAndDisableSteppers()
|
||||||
{
|
{
|
||||||
st_synchronize();
|
st_synchronize();
|
||||||
LCD_MESSAGEPGM("Released.");
|
LCD_MESSAGEPGM(MSG_STEPPER_RELEASED);
|
||||||
disable_x();
|
disable_x();
|
||||||
disable_y();
|
disable_y();
|
||||||
disable_z();
|
disable_z();
|
||||||
|
|
|
@ -412,7 +412,7 @@ void MainMenu::showStatus()
|
||||||
uint8_t percent=card.percentDone();
|
uint8_t percent=card.percentDone();
|
||||||
if(oldpercent!=percent ||force_lcd_update)
|
if(oldpercent!=percent ||force_lcd_update)
|
||||||
{
|
{
|
||||||
lcd.setCursor(7,2);
|
lcd.setCursor(10,2);
|
||||||
lcd.print(itostr3((int)percent));
|
lcd.print(itostr3((int)percent));
|
||||||
lcdprintPGM("%SD");
|
lcdprintPGM("%SD");
|
||||||
}
|
}
|
||||||
|
@ -535,7 +535,7 @@ void MainMenu::showAxisMove()
|
||||||
switch(i)
|
switch(i)
|
||||||
{
|
{
|
||||||
case ItemAM_exit:
|
case ItemAM_exit:
|
||||||
MENUITEM( lcdprintPGM(" Prepare \003") , BLOCK;status=Main_Menu;beepshort(); ) ;
|
MENUITEM( lcdprintPGM(MSG_PREPARE_ALT) , BLOCK;status=Main_Menu;beepshort(); ) ;
|
||||||
break;
|
break;
|
||||||
case ItemAM_X:
|
case ItemAM_X:
|
||||||
{
|
{
|
||||||
|
@ -811,7 +811,7 @@ void MainMenu::showTune()
|
||||||
{
|
{
|
||||||
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1896,7 +1896,19 @@ void MainMenu::showSD()
|
||||||
// }
|
// }
|
||||||
// }break;
|
// }break;
|
||||||
case 1:
|
case 1:
|
||||||
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(); ) ;
|
MENUITEM( lcd.print(" ");card.getWorkDirName();
|
||||||
|
if(card.filename[0]=='/') lcdprintPGM(MSG_REFRESH);
|
||||||
|
else {
|
||||||
|
lcd.print("\005");
|
||||||
|
lcd.print(card.filename);
|
||||||
|
lcd.print("/..");
|
||||||
|
} ,
|
||||||
|
BLOCK;
|
||||||
|
if(SDCARDDETECT == -1) card.initsd();
|
||||||
|
card.updir();
|
||||||
|
enforceupdate=true;
|
||||||
|
lineoffset=0;
|
||||||
|
beepshort(); ) ;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue