chiark / gitweb /
Added more defines to the language.h file so that nowe most of the text strings are...
authorBlair Thompson <mail@justblair.co.uk>
Sat, 3 Mar 2012 15:51:47 +0000 (15:51 +0000)
committerBlair Thompson <mail@justblair.co.uk>
Sat, 3 Mar 2012 15:51:47 +0000 (15:51 +0000)
12 files changed:
Marlin/.Marlin.vsarduino.h [new file with mode: 0644]
Marlin/Marlin.pde
Marlin/Marlin.sdf [new file with mode: 0644]
Marlin/Marlin.sln [new file with mode: 0644]
Marlin/Marlin.suo [new file with mode: 0644]
Marlin/Marlin.vcxproj [new file with mode: 0644]
Marlin/Marlin.vcxproj.filters [new file with mode: 0644]
Marlin/Marlin.vcxproj.user [new file with mode: 0644]
Marlin/cardreader.cpp
Marlin/language.h
Marlin/planner.cpp
Marlin/stepper.cpp

diff --git a/Marlin/.Marlin.vsarduino.h b/Marlin/.Marlin.vsarduino.h
new file mode 100644 (file)
index 0000000..d292597
--- /dev/null
@@ -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"
index f417ae5b8cbeb3d2519762e69b930f9d1ec8a148..5f585e62f55ee97acb115563547643361bb0e8c3 100644 (file)
@@ -254,28 +254,28 @@ void setup()
 
   // Check startup - does nothing if bootloader sets MCUSR to 0
   byte mcu = MCUSR;
-  if(mcu & 1) SERIAL_ECHOLNPGM("PowerUp");
-  if(mcu & 2) SERIAL_ECHOLNPGM("External Reset");
-  if(mcu & 4) SERIAL_ECHOLNPGM("Brown out Reset");
-  if(mcu & 8) SERIAL_ECHOLNPGM("Watchdog Reset");
-  if(mcu & 32) SERIAL_ECHOLNPGM("Software Reset");
+  if(mcu & 1) SERIAL_ECHOLNPGM(MSG_POWERUP);
+  if(mcu & 2) SERIAL_ECHOLNPGM(MSG_EXTERNAL_RESET);
+  if(mcu & 4) SERIAL_ECHOLNPGM(MSG_BROWNOUT_RESET);
+  if(mcu & 8) SERIAL_ECHOLNPGM(MSG_WATCHDOG_RESET);
+  if(mcu & 32) SERIAL_ECHOLNPGM(MSG_SOFTWARE_RESET);
   MCUSR=0;
 
-  SERIAL_ECHOPGM("Marlin: ");
+  SERIAL_ECHOPGM(MSG_MARLIN);
   SERIAL_ECHOLNPGM(VERSION_STRING);
   #ifdef STRING_VERSION_CONFIG_H
     #ifdef STRING_CONFIG_H_AUTHOR
       SERIAL_ECHO_START;
-      SERIAL_ECHOPGM("Configuration.h: ");
+      SERIAL_ECHOPGM(MSG_CONFIGURATION_VER);
       SERIAL_ECHOPGM(STRING_VERSION_CONFIG_H);
-      SERIAL_ECHOPGM(" | Author: ");
+      SERIAL_ECHOPGM(MSG_AUTHOR);
       SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR);
     #endif
   #endif
   SERIAL_ECHO_START;
-  SERIAL_ECHOPGM("Free Memory:");
+  SERIAL_ECHOPGM(MSG_FREE_MEMORY);
   SERIAL_ECHO(freeMemory());
-  SERIAL_ECHOPGM(" PlannerBufferBytes:");
+  SERIAL_ECHOPGM(MSG_PLANNER_BUFFER_BYTES);
   SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE);
   for(int8_t i = 0; i < BUFSIZE; i++)
   {
@@ -312,12 +312,12 @@ void loop()
        if(strstr(cmdbuffer[bufindr],"M29") == NULL)
        {
          card.write_command(cmdbuffer[bufindr]);
-         SERIAL_PROTOCOLLNPGM("ok");
+         SERIAL_PROTOCOLLNPGM(MSG_OK);
        }
        else
        {
          card.closefile();
-         SERIAL_PROTOCOLLNPGM("Done saving file.");
+         SERIAL_PROTOCOLLNPGM(MSG_FILE_SAVED);
        }
       }
       else
@@ -357,7 +357,7 @@ void get_command()
           gcode_N = (strtol(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL, 10));
           if(gcode_N != gcode_LastN+1 && (strstr(cmdbuffer[bufindw], "M110") == NULL) ) {
             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.println(gcode_N);
             FlushSerialRequestResend();
@@ -374,7 +374,7 @@ void get_command()
 
             if( (int)(strtod(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL)) != checksum) {
               SERIAL_ERROR_START;
-              SERIAL_ERRORPGM("checksum mismatch, Last Line:");
+              SERIAL_ERRORPGM(MSG_ERR_CHECKSUM_MISMATCH);
               SERIAL_ERRORLN(gcode_LastN);
               FlushSerialRequestResend();
               serial_count = 0;
@@ -385,7 +385,7 @@ void get_command()
           else 
           {
             SERIAL_ERROR_START;
-            SERIAL_ERRORPGM("No Checksum with line number, Last Line:");
+            SERIAL_ERRORPGM(MSG_ERR_NO_CHECKSUM);
             SERIAL_ERRORLN(gcode_LastN);
             FlushSerialRequestResend();
             serial_count = 0;
@@ -400,7 +400,7 @@ void get_command()
           if((strstr(cmdbuffer[bufindw], "*") != NULL))
           {
             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_count = 0;
             return;
@@ -417,7 +417,7 @@ void get_command()
             if(card.saving)
               break;
            #endif //SDSUPPORT
-            SERIAL_PROTOCOLLNPGM("ok"); 
+            SERIAL_PROTOCOLLNPGM(MSG_OK); 
             break;
           default:
             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(card.eof()){
-        SERIAL_PROTOCOLLNPGM("Done printing file");
+        SERIAL_PROTOCOLLNPGM(MSG_FILE_PRINTED);
         stoptime=millis();
         char time[30];
         unsigned long t=(stoptime-starttime)/1000;
@@ -559,7 +559,7 @@ void process_commands()
       prepare_arc_move(false);
       return;
     case 4: // G4 dwell
-      LCD_MESSAGEPGM("DWELL...");
+      LCD_MESSAGEPGM(MSG_DWELL);
       codenum = 0;
       if(code_seen('P')) codenum = code_value(); // milliseconds to wait
       if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait
@@ -681,7 +681,7 @@ void process_commands()
     switch( (int)code_value() ) 
     {
     case 17:
-        LCD_MESSAGEPGM("No move.");
+        LCD_MESSAGEPGM(MSG_NO_MOVE);
         enable_x(); 
         enable_y(); 
         enable_z(); 
@@ -692,9 +692,9 @@ void process_commands()
 
 #ifdef SDSUPPORT
     case 20: // M20 - list SD card
-      SERIAL_PROTOCOLLNPGM("Begin file list");
+      SERIAL_PROTOCOLLNPGM(MSG_BEGIN_FILE_LIST);
       card.ls();
-      SERIAL_PROTOCOLLNPGM("End file list");
+      SERIAL_PROTOCOLLNPGM(MSG_END_FILE_LIST);
       break;
     case 21: // M21 - init SD card
       
@@ -787,7 +787,7 @@ void process_commands()
         tmp_extruder = code_value();
         if(tmp_extruder >= EXTRUDERS) {
           SERIAL_ECHO_START;
-          SERIAL_ECHO("M104 Invalid extruder ");
+          SERIAL_ECHO(MSG_M104_INVALID_EXTRUDER);
           SERIAL_ECHOLN(tmp_extruder);
           break;
         }
@@ -804,7 +804,7 @@ void process_commands()
         tmp_extruder = code_value();
         if(tmp_extruder >= EXTRUDERS) {
           SERIAL_ECHO_START;
-          SERIAL_ECHO("M105 Invalid extruder ");
+          SERIAL_ECHO(MSG_M105_INVALID_EXTRUDER);
           SERIAL_ECHOLN(tmp_extruder);
           break;
         }
@@ -818,7 +818,7 @@ void process_commands()
         #endif //TEMP_BED_PIN
       #else
         SERIAL_ERROR_START;
-        SERIAL_ERRORLNPGM("No thermistors - no temp");
+        SERIAL_ERRORLNPGM(MSG_ERR_NO_THERMISTORS);
       #endif
       #ifdef PIDTEMP
         SERIAL_PROTOCOLPGM(" @:");
@@ -834,12 +834,12 @@ void process_commands()
         tmp_extruder = code_value();
         if(tmp_extruder >= EXTRUDERS) {
           SERIAL_ECHO_START;
-          SERIAL_ECHO("M109 Invalid extruder ");
+          SERIAL_ECHO(MSG_M109_INVALID_EXTRUDER);
           SERIAL_ECHOLN(tmp_extruder);
           break;
         }
       }
-      LCD_MESSAGEPGM("Heating...");   
+      LCD_MESSAGEPGM(MSG_HEATING);   
       #ifdef AUTOTEMP
         autotemp_enabled=false;
       #endif
@@ -905,14 +905,14 @@ void process_commands()
           }
         #endif //TEMP_RESIDENCY_TIME
         }
-        LCD_MESSAGEPGM("Heating done.");
+        LCD_MESSAGEPGM(MSG_HEATING_COMPLETE);
         starttime=millis();
         previous_millis_cmd = millis();
       }
       break;
     case 190: // M190 - Wait for bed heater to reach target.
     #if TEMP_BED_PIN > -1
-        LCD_MESSAGEPGM("Bed Heating.");
+        LCD_MESSAGEPGM(MSG_BED_HEATING);
         if (code_seen('S')) setTargetBed(code_value());
         codenum = millis(); 
         while(isHeatingBed()) 
@@ -930,7 +930,7 @@ void process_commands()
           }
           manage_heater();
         }
-        LCD_MESSAGEPGM("Bed done.");
+        LCD_MESSAGEPGM(MSG_BED_DONE);
         previous_millis_cmd = millis();
     #endif
         break;
@@ -1005,7 +1005,7 @@ void process_commands()
               disable_e2();
             }
           #endif 
-          LCD_MESSAGEPGM("Partial Release");
+          LCD_MESSAGEPGM(MSG_PART_RELEASE);
         }
       }
       break;
@@ -1021,7 +1021,7 @@ void process_commands()
       }
       break;
     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;
     case 117: // M117 display message
       LCD_MESSAGE(cmdbuffer[bufindr]+5);
@@ -1036,7 +1036,7 @@ void process_commands()
       SERIAL_PROTOCOLPGM("E:");      
       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_PROTOCOLPGM("Y:");
       SERIAL_PROTOCOL(float(st_get_position(Y_AXIS))/axis_steps_per_unit[Y_AXIS]);
@@ -1047,27 +1047,27 @@ void process_commands()
       break;
     case 119: // M119
       #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 "));
       #endif
       #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 "));
       #endif
       #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 "));
       #endif
       #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 "));
       #endif
       #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 "));
       #endif
       #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 "));
       #endif
       SERIAL_PROTOCOLLN("");
@@ -1144,7 +1144,8 @@ void process_commands()
         if(code_seen('C')) Kc = code_value();
         #endif
         updatePID();
-        SERIAL_PROTOCOL("ok p:");
+        SERIAL_PROTOCOL(MSG_OK);
+               SERIAL_PROTOCOL(" p:");
         SERIAL_PROTOCOL(Kp);
         SERIAL_PROTOCOL(" i:");
         SERIAL_PROTOCOL(Ki/PID_dT);
@@ -1223,12 +1224,12 @@ void process_commands()
       SERIAL_ECHO_START;
       SERIAL_ECHO("T");
       SERIAL_ECHO(tmp_extruder);
-      SERIAL_ECHOLN("Invalid extruder");
+      SERIAL_ECHOLN(MSG_INVALID_EXTRUDER);
     }
     else {
       active_extruder = tmp_extruder;
       SERIAL_ECHO_START;
-      SERIAL_ECHO("Active Extruder: ");
+      SERIAL_ECHO(MSG_ACTIVE_EXTRUDER);
       SERIAL_PROTOCOLLN((int)active_extruder);
     }
   }
@@ -1236,7 +1237,7 @@ void process_commands()
   else
   {
     SERIAL_ECHO_START;
-    SERIAL_ECHOPGM("Unknown command:\"");
+    SERIAL_ECHOPGM(MSG_UNKNOWN_COMMAND);
     SERIAL_ECHO(cmdbuffer[bufindr]);
     SERIAL_ECHOLNPGM("\"");
   }
@@ -1248,7 +1249,7 @@ void FlushSerialRequestResend()
 {
   //char cmdbuffer[bufindr][100]="Resend:";
   MYSERIAL.flush();
-  SERIAL_PROTOCOLPGM("Resend:");
+  SERIAL_PROTOCOLPGM(MSG_RESEND);
   SERIAL_PROTOCOLLN(gcode_LastN + 1);
   ClearToSend();
 }
@@ -1260,7 +1261,7 @@ void ClearToSend()
   if(fromsd[bufindr])
     return;
   #endif //SDSUPPORT
-  SERIAL_PROTOCOLLNPGM("ok"); 
+  SERIAL_PROTOCOLLNPGM(MSG_OK); 
 }
 
 void get_coordinates()
@@ -1370,8 +1371,8 @@ void kill()
   
   if(PS_ON_PIN > -1) pinMode(PS_ON_PIN,INPUT);
   SERIAL_ERROR_START;
-  SERIAL_ERRORLNPGM("Printer halted. kill() called !!");
-  LCD_MESSAGEPGM("KILLED. ");
+  SERIAL_ERRORLNPGM(MSG_ERR_KILLED);
+  LCD_MESSAGEPGM(MSG_KILLED);
   suicide();
   while(1); // Wait for reset
 }
diff --git a/Marlin/Marlin.sdf b/Marlin/Marlin.sdf
new file mode 100644 (file)
index 0000000..206f25a
Binary files /dev/null and b/Marlin/Marlin.sdf differ
diff --git a/Marlin/Marlin.sln b/Marlin/Marlin.sln
new file mode 100644 (file)
index 0000000..fdca7e6
--- /dev/null
@@ -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
diff --git a/Marlin/Marlin.suo b/Marlin/Marlin.suo
new file mode 100644 (file)
index 0000000..4aca6fe
Binary files /dev/null and b/Marlin/Marlin.suo differ
diff --git a/Marlin/Marlin.vcxproj b/Marlin/Marlin.vcxproj
new file mode 100644 (file)
index 0000000..53f073d
--- /dev/null
@@ -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>
\ No newline at end of file
diff --git a/Marlin/Marlin.vcxproj.filters b/Marlin/Marlin.vcxproj.filters
new file mode 100644 (file)
index 0000000..4a0f873
--- /dev/null
@@ -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>
\ No newline at end of file
diff --git a/Marlin/Marlin.vcxproj.user b/Marlin/Marlin.vcxproj.user
new file mode 100644 (file)
index 0000000..ace9a86
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
index 052ce2030226952a076395bcdb5621535ba39fd0..dd1738c123f9fee643550d982402b38ca90e65c2 100644 (file)
@@ -3,6 +3,8 @@
 #include "ultralcd.h"
 #include "stepper.h"
 #include "temperature.h"
+#include "language.h"
+
 #ifdef SDSUPPORT
 
 
@@ -75,7 +77,7 @@ void  CardReader::lsDive(const char *prepend,SdFile parent)
         if(lsAction==LS_SerialPrint)
         {
           SERIAL_ECHO_START;
-          SERIAL_ECHOLN("Cannot open subdir");
+          SERIAL_ECHOLN(MSG_SD_CANT_OPEN_SUBDIR);
           SERIAL_ECHOLN(lfilename);
         }
       }
@@ -143,28 +145,28 @@ void CardReader::initsd()
   {
     //if (!card.init(SPI_HALF_SPEED,SDSS))
     SERIAL_ECHO_START;
-    SERIAL_ECHOLNPGM("SD init fail");
+    SERIAL_ECHOLNPGM(MSG_SD_INIT_FAIL);
   }
   else if (!volume.init(&card))
   {
     SERIAL_ERROR_START;
-    SERIAL_ERRORLNPGM("volume.init failed");
+    SERIAL_ERRORLNPGM(MSG_SD_VOL_INIT_FAIL);
   }
   else if (!root.openRoot(&volume)) 
   {
     SERIAL_ERROR_START;
-    SERIAL_ERRORLNPGM("openRoot failed");
+    SERIAL_ERRORLNPGM(MSG_SD_OPENROOT_FAIL);
   }
   else 
   {
     cardOK = true;
     SERIAL_ECHO_START;
-    SERIAL_ECHOLNPGM("SD card ok");
+    SERIAL_ECHOLNPGM(MSG_SD_CARD_OK);
   }
   curDir=&root;
   if(!workDir.openRoot(&volume))
   {
-    SERIAL_ECHOLNPGM("workDir open failed");
+    SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL);
   }
 }
 
@@ -173,7 +175,7 @@ void CardReader::setroot()
  curDir=&root;
   if(!workDir.openRoot(&volume))
   {
-    SERIAL_ECHOLNPGM("workDir open failed");
+    SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL);
   } 
 }
 void CardReader::release()
@@ -230,7 +232,7 @@ void CardReader::openFile(char* name,bool read)
         SERIAL_ECHOLN(subdirname);
         if(!myDir.open(curDir,subdirname,O_READ))
         {
-          SERIAL_PROTOCOLPGM("open failed, File: ");
+          SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
           SERIAL_PROTOCOL(subdirname);
           SERIAL_PROTOCOLLNPGM(".");
           return;
@@ -260,18 +262,18 @@ void CardReader::openFile(char* name,bool read)
     if (file.open(curDir, fname, O_READ)) 
     {
       filesize = file.fileSize();
-      SERIAL_PROTOCOLPGM("File opened:");
+      SERIAL_PROTOCOLPGM(MSG_SD_FILE_OPENED);
       SERIAL_PROTOCOL(fname);
-      SERIAL_PROTOCOLPGM(" Size:");
+      SERIAL_PROTOCOLPGM(MSG_SD_SIZE);
       SERIAL_PROTOCOLLN(filesize);
       sdpos = 0;
       
-      SERIAL_PROTOCOLLNPGM("File selected");
+      SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED);
       LCD_MESSAGE(fname);
     }
     else
     {
-      SERIAL_PROTOCOLPGM("open failed, File: ");
+      SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
       SERIAL_PROTOCOL(fname);
       SERIAL_PROTOCOLLNPGM(".");
     }
@@ -280,14 +282,14 @@ void CardReader::openFile(char* name,bool read)
   { //write
     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_PROTOCOLLNPGM(".");
     }
     else
     {
       saving = true;
-      SERIAL_PROTOCOLPGM("Writing to file: ");
+      SERIAL_PROTOCOLPGM(MSG_SD_WRITE_TO_FILE);
       SERIAL_PROTOCOLLN(name);
       LCD_MESSAGE(fname);
     }
@@ -298,13 +300,13 @@ void CardReader::openFile(char* name,bool read)
 void CardReader::getStatus()
 {
   if(cardOK){
-    SERIAL_PROTOCOLPGM("SD printing byte ");
+    SERIAL_PROTOCOLPGM(MSG_SD_PRINTING_BYTE);
     SERIAL_PROTOCOL(sdpos);
     SERIAL_PROTOCOLPGM("/");
     SERIAL_PROTOCOLLN(filesize);
   }
   else{
-    SERIAL_PROTOCOLLNPGM("Not SD printing");
+    SERIAL_PROTOCOLLNPGM(MSG_SD_NOT_PRINTING);
   }
 }
 void CardReader::write_command(char *buf)
@@ -326,7 +328,7 @@ void CardReader::write_command(char *buf)
   if (file.writeError)
   {
     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))
   {
    SERIAL_ECHO_START;
-   SERIAL_ECHOPGM("Cannot enter subdir:");
+   SERIAL_ECHOPGM(MSG_SD_CANT_ENTER_SUBDIR);
    SERIAL_ECHOLN(relpath);
   }
   else
index 6dfd7e0be1f49c4f224d0ea78a5770e85f888e45..0f1315a36cdd7a323a148dc93d16cf5516db0670 100644 (file)
 
 // LCD Menu Messages
 
+//     #define WELCOME_MSG "UltiMARLIN 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_REMOVED "Card removed"
        #define MSG_MAIN " Main \003"
@@ -91,7 +26,7 @@
        #define MSG_PREHEAT " Preheat"
        #define MSG_COOLDOWN " Cooldown"
        #define MSG_EXTRUDE " Extrude"
-        #define MSG_MOVE_AXIS " Move Axis      \x7E"
+    #define MSG_MOVE_AXIS " Move Axis      \x7E"
        #define MSG_SPEED " Speed:"
        #define MSG_NOZZLE " \002Nozzle:"
        #define MSG_BED " \002Bed:"
        #define MSG_REFRESH "\004Refresh"
        #define MSG_WATCH " Watch   \003"
        #define MSG_PREPARE " Prepare \x7E"
+       #define MSG_PREPARE_ALT " Prepare \003"
        #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."
+       #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."
 
-#endif
 
-#if LANGUAGE_CHOICE == 3
+// Serial Console Messages
 
-// LCD Menu 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 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."
+       #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
+       #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"
 
-#if LANGUAGE_CHOICE == 4
+#endif
+#if LANGUAGE_CHOICE == 2
 
 // LCD Menu Messages
 
-       #define WELCOME_MSG "RepRap Ready."
-       #define MSG_SD_INSERTED "Card Ready"
-       #define MSG_SD_REMOVED "Card Initiate"
+       #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_PREHEAT " Preheat"
        #define MSG_COOLDOWN " Cooldown"
        #define MSG_EXTRUDE " Extrude"
-        #define MSG_MOVE_AXIS " Move Axis      \x7E"
+    #define MSG_MOVE_AXIS " Move Axis      \x7E"
        #define MSG_SPEED " Speed:"
        #define MSG_NOZZLE " \002Nozzle:"
        #define MSG_BED " \002Bed:"
        #define MSG_REFRESH "\004Refresh"
        #define MSG_WATCH " Watch   \003"
        #define MSG_PREPARE " Prepare \x7E"
+       #define MSG_PREPARE_ALT " Prepare \003"
        #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."
+       #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"
 
-#endif
 
-#if LANGUAGE_CHOICE == 5
 
-// LCD Menu Messages
+// Serial Console 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."
+       #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:"
 
-#endif
+       #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 // ifndef LANGUAGE_H
index 00fead12883f19147dc094efd4d7635342237f94..22f980b2f2197d4f1e9791383e8a4eafaea754ac 100644 (file)
@@ -59,6 +59,7 @@
 #include "stepper.h"
 #include "temperature.h"
 #include "ultralcd.h"
+#include "language.h"
 
 //===========================================================================
 //=============================public variables ============================
@@ -469,13 +470,13 @@ void plan_buffer_line(float &x, float &y, float &z, float &e, float feed_rate, u
     {
       position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
       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)
     {
       position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
       SERIAL_ECHO_START;
-      SERIAL_ECHOLNPGM(" too long extrusion prevented");
+      SERIAL_ECHOLNPGM(MSG_ERR_LONG_EXTRUDE_STOP);
     }
   #endif
   
index 40d4873fabf5ed28fe179062a1dec45f88ba6c9d..e2288cfb24bc721d72be4494bdbc11940ae29192 100644 (file)
@@ -29,7 +29,7 @@
 #include "planner.h"
 #include "temperature.h"
 #include "ultralcd.h"
-
+#include "language.h"
 #include "speed_lookuptable.h"
 
 
@@ -172,7 +172,7 @@ void checkHitEndstops()
 {
  if( endstop_x_hit || endstop_y_hit || endstop_z_hit) {
    SERIAL_ECHO_START;
-   SERIAL_ECHOPGM("endstops hit: ");
+   SERIAL_ECHOPGM(MSG_ENDSTOPS_HIT);
    if(endstop_x_hit) {
      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+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;
 }
 
@@ -808,7 +808,7 @@ long st_get_position(uint8_t axis)
 void finishAndDisableSteppers()
 {
   st_synchronize(); 
-  LCD_MESSAGEPGM("Released.");
+  LCD_MESSAGEPGM(MSG_STEPPER_RELEASED);
   disable_x(); 
   disable_y(); 
   disable_z();