made progmem mainly, found one bug in cardreader, added a empty class for cardreader in case no sd support.
This commit is contained in:
parent
72ace55e6a
commit
7b70caab7c
7 changed files with 944 additions and 851 deletions
|
@ -25,6 +25,19 @@ template <class T> int EEPROM_readAnything(int &ee, T& value)
|
|||
}
|
||||
//======================================================================================
|
||||
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
void serialprintPGM(const char *str)
|
||||
{
|
||||
char ch=pgm_read_byte(str);
|
||||
while(ch)
|
||||
{
|
||||
Serial.print(ch);
|
||||
ch=pgm_read_byte(++str);
|
||||
}
|
||||
}
|
||||
#define SerialprintPGM(x) serialprintPGM(PSTR(x))
|
||||
|
||||
#define EEPROM_OFFSET 100
|
||||
|
||||
|
||||
|
@ -62,7 +75,7 @@ void StoreSettings()
|
|||
char ver2[4]=EEPROM_VERSION;
|
||||
i=EEPROM_OFFSET;
|
||||
EEPROM_writeAnything(i,ver2); // validate data
|
||||
SERIAL_ECHOLN("Settings Stored");
|
||||
SerialprintPGM("echo: Settings Stored\n");
|
||||
}
|
||||
|
||||
void RetrieveSettings(bool def=false)
|
||||
|
@ -91,7 +104,7 @@ void RetrieveSettings(bool def=false)
|
|||
EEPROM_readAnything(i,Ki);
|
||||
EEPROM_readAnything(i,Kd);
|
||||
|
||||
SERIAL_ECHOLN("Stored settings retreived:");
|
||||
SerialprintPGM("echo: Stored settings retreived:\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -111,21 +124,57 @@ void RetrieveSettings(bool def=false)
|
|||
mintravelfeedrate=DEFAULT_MINTRAVELFEEDRATE;
|
||||
max_xy_jerk=DEFAULT_XYJERK;
|
||||
max_z_jerk=DEFAULT_ZJERK;
|
||||
SERIAL_ECHOLN("Using Default settings:");
|
||||
SerialprintPGM("echo: Using Default settings:\n");
|
||||
}
|
||||
SERIAL_ECHOLN("Steps per unit:");
|
||||
SERIAL_ECHOLN(" M92 X" <<_FLOAT(axis_steps_per_unit[0],3) << " Y" << _FLOAT(axis_steps_per_unit[1],3) << " Z" << _FLOAT(axis_steps_per_unit[2],3) << " E" << _FLOAT(axis_steps_per_unit[3],3));
|
||||
SERIAL_ECHOLN("Maximum feedrates (mm/s):");
|
||||
SERIAL_ECHOLN(" M203 X" <<_FLOAT(max_feedrate[0]/60,2)<<" Y" << _FLOAT(max_feedrate[1]/60,2) << " Z" << _FLOAT(max_feedrate[2]/60,2) << " E" << _FLOAT(max_feedrate[3]/60,2));
|
||||
SERIAL_ECHOLN("Maximum Acceleration (mm/s2):");
|
||||
SERIAL_ECHOLN(" M201 X" <<_FLOAT(max_acceleration_units_per_sq_second[0],0) << " Y" << _FLOAT(max_acceleration_units_per_sq_second[1],0) << " Z" << _FLOAT(max_acceleration_units_per_sq_second[2],0) << " E" << _FLOAT(max_acceleration_units_per_sq_second[3],0));
|
||||
SERIAL_ECHOLN("Acceleration: S=acceleration, T=retract acceleration");
|
||||
SERIAL_ECHOLN(" M204 S" <<_FLOAT(acceleration,2) << " T" << _FLOAT(retract_acceleration,2));
|
||||
SERIAL_ECHOLN("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm/s)");
|
||||
SERIAL_ECHOLN(" M205 S" <<_FLOAT(minimumfeedrate/60,2) << " T" << _FLOAT(mintravelfeedrate/60,2) << " B" << _FLOAT(minsegmenttime,2) << " X" << _FLOAT(max_xy_jerk/60,2) << " Z" << _FLOAT(max_z_jerk/60,2));
|
||||
SerialprintPGM("echo: Steps per unit:\n M92 X");
|
||||
Serial.print(axis_steps_per_unit[0]);
|
||||
SerialprintPGM(" Y");
|
||||
Serial.print(axis_steps_per_unit[1]);
|
||||
SerialprintPGM(" Z");
|
||||
Serial.print(axis_steps_per_unit[2]);
|
||||
SerialprintPGM(" E");
|
||||
Serial.print(axis_steps_per_unit[3]);
|
||||
|
||||
SerialprintPGM("\nMaximum feedrates (mm/s):\n M203 X" );
|
||||
Serial.print(max_feedrate[0]/60);
|
||||
SerialprintPGM(" Y" );
|
||||
Serial.print(max_feedrate[1]/60 );
|
||||
SerialprintPGM(" Z" );
|
||||
Serial.print(max_feedrate[2]/60 );
|
||||
SerialprintPGM(" E" );
|
||||
Serial.print(max_feedrate[3]/60);
|
||||
SerialprintPGM("\nMaximum Acceleration (mm/s2):\n M201 X" );
|
||||
Serial.print(max_acceleration_units_per_sq_second[0] );
|
||||
SerialprintPGM(" Y" );
|
||||
Serial.print(max_acceleration_units_per_sq_second[1] );
|
||||
SerialprintPGM(" Z" );
|
||||
Serial.print(max_acceleration_units_per_sq_second[2] );
|
||||
SerialprintPGM(" E" );
|
||||
Serial.print(max_acceleration_units_per_sq_second[3]);
|
||||
SerialprintPGM("\necho: Acceleration: S=acceleration, T=retract acceleration\n M204 S" );
|
||||
Serial.print(acceleration );
|
||||
SerialprintPGM(" T" );
|
||||
Serial.print(retract_acceleration);
|
||||
SerialprintPGM("\necho: Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm/s)");
|
||||
SerialprintPGM(" M205 S" );
|
||||
Serial.print(minimumfeedrate/60 );
|
||||
SerialprintPGM(" T" );
|
||||
Serial.print(mintravelfeedrate/60 );
|
||||
SerialprintPGM(" B" );
|
||||
Serial.print(minsegmenttime );
|
||||
SerialprintPGM(" X" );
|
||||
Serial.print(max_xy_jerk/60 );
|
||||
SerialprintPGM(" Z" );
|
||||
Serial.print(max_z_jerk/60);
|
||||
SerialprintPGM("\n" );
|
||||
#ifdef PIDTEMP
|
||||
SERIAL_ECHOLN("PID settings:");
|
||||
SERIAL_ECHOLN(" M301 P" << _FLOAT(Kp,3) << " I" << _FLOAT(Ki,3) << " D" << _FLOAT(Kd,3));
|
||||
SerialprintPGM("PID settings:");
|
||||
SerialprintPGM(" M301 P" );
|
||||
Serial.print(Kp );
|
||||
SerialprintPGM(" I" );
|
||||
Serial.print(Ki );
|
||||
SerialprintPGM(" D" );
|
||||
Serial.print(Kd);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -9,8 +9,10 @@
|
|||
#include "streaming.h"
|
||||
#define SERIAL_ECHO(x) Serial << "echo: " << x;
|
||||
#define SERIAL_ECHOLN(x) Serial << "echo: "<<x<<endl;
|
||||
#define SERIAL_ERROR(x) Serial << "echo: ERROR: " << x;
|
||||
#define SERIAL_ERRORLN(x) Serial << "echo: ERROR: " << x<<endl;
|
||||
#define SERIAL_ERROR(x) Serial << "Error: " << x;
|
||||
#define SERIAL_ERRORLN(x) Serial << "Error: " << x<<endl;
|
||||
#define SERIAL_PROTOCOL(x) Serial << x;
|
||||
#define SERIAL_PROTOCOLLN(x) Serial << x<<endl;
|
||||
|
||||
void get_command();
|
||||
void process_commands();
|
||||
|
|
|
@ -44,6 +44,7 @@ char version_string[] = "1.0.0 Alpha 1";
|
|||
|
||||
|
||||
|
||||
|
||||
// look here for descriptions of gcodes: http://linuxcnc.org/handbook/gcode/g-code.html
|
||||
// http://objects.reprap.org/wiki/Mendel_User_Manual:_RepRapGCodes
|
||||
|
||||
|
@ -171,6 +172,23 @@ static unsigned long stoptime=0;
|
|||
//===========================================================================
|
||||
|
||||
|
||||
extern "C"{
|
||||
extern unsigned int __bss_end;
|
||||
extern unsigned int __heap_start;
|
||||
extern void *__brkval;
|
||||
|
||||
int freeMemory() {
|
||||
int free_memory;
|
||||
|
||||
if((int)__brkval == 0)
|
||||
free_memory = ((int)&free_memory) - ((int)&__bss_end);
|
||||
else
|
||||
free_memory = ((int)&free_memory) - ((int)__brkval);
|
||||
|
||||
return free_memory;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//adds an command to the main command buffer
|
||||
//thats really done in a non-safe way.
|
||||
|
@ -191,7 +209,9 @@ void setup()
|
|||
{
|
||||
Serial.begin(BAUDRATE);
|
||||
SERIAL_ECHOLN("Marlin "<<version_string);
|
||||
Serial.println("start");
|
||||
SERIAL_PROTOCOLLN("start");
|
||||
Serial.print("echo: Free Memory:");
|
||||
serial.println(freeMemory());
|
||||
for(int8_t i = 0; i < BUFSIZE; i++)
|
||||
{
|
||||
fromsd[i] = false;
|
||||
|
@ -224,12 +244,12 @@ void loop()
|
|||
if(strstr(cmdbuffer[bufindr],"M29") == NULL)
|
||||
{
|
||||
card.write_command(cmdbuffer[bufindr]);
|
||||
Serial.println("ok");
|
||||
SERIAL_PROTOCOLLN("ok");
|
||||
}
|
||||
else
|
||||
{
|
||||
card.closefile();
|
||||
Serial.println("Done saving file.");
|
||||
SERIAL_PROTOCOLLN("Done saving file.");
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -264,8 +284,7 @@ inline void get_command()
|
|||
strchr_pointer = strchr(cmdbuffer[bufindw], 'N');
|
||||
gcode_N = (strtol(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL, 10));
|
||||
if(gcode_N != gcode_LastN+1 && (strstr(cmdbuffer[bufindw], "M110") == NULL) ) {
|
||||
Serial.print("Serial Error: Line Number is not Last Line Number+1, Last Line:");
|
||||
Serial.println(gcode_LastN);
|
||||
SERIAL_ERRORLN("Line Number is not Last Line Number+1, Last Line:"<<gcode_LastN);
|
||||
//Serial.println(gcode_N);
|
||||
FlushSerialRequestResend();
|
||||
serial_count = 0;
|
||||
|
@ -280,8 +299,7 @@ inline void get_command()
|
|||
strchr_pointer = strchr(cmdbuffer[bufindw], '*');
|
||||
|
||||
if( (int)(strtod(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL)) != checksum) {
|
||||
Serial.print("Error: checksum mismatch, Last Line:");
|
||||
Serial.println(gcode_LastN);
|
||||
SERIAL_ERRORLN("checksum mismatch, Last Line:"<<gcode_LastN);
|
||||
FlushSerialRequestResend();
|
||||
serial_count = 0;
|
||||
return;
|
||||
|
@ -290,8 +308,7 @@ inline void get_command()
|
|||
}
|
||||
else
|
||||
{
|
||||
Serial.print("Error: No Checksum with line number, Last Line:");
|
||||
Serial.println(gcode_LastN);
|
||||
SERIAL_ERRORLN("No Checksum with line number, Last Line:"<<gcode_LastN);
|
||||
FlushSerialRequestResend();
|
||||
serial_count = 0;
|
||||
return;
|
||||
|
@ -304,8 +321,7 @@ inline void get_command()
|
|||
{
|
||||
if((strstr(cmdbuffer[bufindw], "*") != NULL))
|
||||
{
|
||||
Serial.print("Error: No Line Number with checksum, Last Line:");
|
||||
Serial.println(gcode_LastN);
|
||||
SERIAL_ERRORLN("No Line Number with checksum, Last Line:"<<gcode_LastN);
|
||||
serial_count = 0;
|
||||
return;
|
||||
}
|
||||
|
@ -321,7 +337,7 @@ inline void get_command()
|
|||
if(card.saving)
|
||||
break;
|
||||
#endif //SDSUPPORT
|
||||
Serial.println("ok");
|
||||
SERIAL_PROTOCOLLN("ok");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -353,15 +369,15 @@ inline void get_command()
|
|||
|
||||
if(card.eof()){
|
||||
card.sdprinting = false;
|
||||
Serial.println("echo: Done printing file");
|
||||
SERIAL_PROTOCOL("Done printing file");
|
||||
stoptime=millis();
|
||||
char time[30];
|
||||
unsigned long t=(stoptime-starttime)/1000;
|
||||
int sec,min;
|
||||
min=t/60;
|
||||
sec=t%60;
|
||||
sprintf(time,"echo: %i min, %i sec",min,sec);
|
||||
Serial.println(time);
|
||||
sprintf(time,"%i min, %i sec",min,sec);
|
||||
SERIAL_ECHOLN(time);
|
||||
LCD_MESSAGE(time);
|
||||
card.checkautostart(true);
|
||||
}
|
||||
|
@ -517,9 +533,9 @@ inline void process_commands()
|
|||
#ifdef SDSUPPORT
|
||||
|
||||
case 20: // M20 - list SD card
|
||||
Serial.println("Begin file list");
|
||||
SERIAL_PROTOCOLLN("Begin file list");
|
||||
card.ls();
|
||||
Serial.println("End file list");
|
||||
SERIAL_PROTOCOLLN("End file list");
|
||||
break;
|
||||
case 21: // M21 - init SD card
|
||||
|
||||
|
@ -575,8 +591,8 @@ inline void process_commands()
|
|||
int sec,min;
|
||||
min=t/60;
|
||||
sec=t%60;
|
||||
sprintf(time,"echo: time needed %i min, %i sec",min,sec);
|
||||
Serial.println(time);
|
||||
sprintf(time,"%i min, %i sec",min,sec);
|
||||
SERIAL_ERRORLN(time);
|
||||
LCD_MESSAGE(time);
|
||||
}
|
||||
break;
|
||||
|
@ -613,6 +629,7 @@ inline void process_commands()
|
|||
if (code_seen('S')) setTargetBed(code_value());
|
||||
break;
|
||||
case 105: // M105
|
||||
//SERIAL_ECHOLN(freeMemory());
|
||||
#if (TEMP_0_PIN > -1) || defined (HEATER_USES_AD595)
|
||||
tt = degHotend0();
|
||||
#endif
|
||||
|
@ -620,21 +637,21 @@ inline void process_commands()
|
|||
bt = degBed();
|
||||
#endif
|
||||
#if (TEMP_0_PIN > -1) || defined (HEATER_USES_AD595)
|
||||
Serial.print("ok T:");
|
||||
Serial.print(tt);
|
||||
SERIAL_PROTOCOL("ok T:");
|
||||
SERIAL_PROTOCOL(tt);
|
||||
#if TEMP_1_PIN > -1
|
||||
#ifdef PIDTEMP
|
||||
Serial.print(" B:");
|
||||
SERIAL_PROTOCOL(" B:");
|
||||
#if TEMP_1_PIN > -1
|
||||
Serial.println(bt);
|
||||
SERIAL_PROTOCOLLN(bt);
|
||||
#else
|
||||
Serial.println(HeaterPower);
|
||||
SERIAL_PROTOCOLLN(HeaterPower);
|
||||
#endif
|
||||
#else //not PIDTEMP
|
||||
Serial.println();
|
||||
SERIAL_PROTOCOLLN("");
|
||||
#endif //PIDTEMP
|
||||
#else
|
||||
Serial.println();
|
||||
SERIAL_PROTOCOLLN("");
|
||||
#endif //TEMP_1_PIN
|
||||
#else
|
||||
SERIAL_ERRORLN("No thermistors - no temp");
|
||||
|
@ -664,8 +681,7 @@ inline void process_commands()
|
|||
#endif //TEMP_RESIDENCY_TIME
|
||||
if( (millis() - codenum) > 1000 )
|
||||
{ //Print Temp Reading every 1 second while heating up/cooling down
|
||||
Serial.print("T:");
|
||||
Serial.println( degHotend0() );
|
||||
SERIAL_PROTOCOLLN("T:"<< degHotend0() );
|
||||
codenum = millis();
|
||||
}
|
||||
manage_heater();
|
||||
|
@ -694,12 +710,8 @@ inline void process_commands()
|
|||
if( (millis()-codenum) > 1000 ) //Print Temp Reading every 1 second while heating up.
|
||||
{
|
||||
float tt=degHotend0();
|
||||
Serial.print("T:");
|
||||
Serial.println( tt );
|
||||
Serial.print("ok T:");
|
||||
Serial.print( tt );
|
||||
Serial.print(" B:");
|
||||
Serial.println( degBed() );
|
||||
SERIAL_PROTOCOLLN("T:"<<tt );
|
||||
SERIAL_PROTOCOLLN("ok T:"<<tt <<" B:"<<degBed() );
|
||||
codenum = millis();
|
||||
}
|
||||
manage_heater();
|
||||
|
@ -766,53 +778,53 @@ inline void process_commands()
|
|||
}
|
||||
break;
|
||||
case 115: // M115
|
||||
Serial.println("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");
|
||||
SERIAL_PROTOCOLLN("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");
|
||||
break;
|
||||
case 114: // M114
|
||||
Serial.print("X:");
|
||||
Serial.print(current_position[X_AXIS]);
|
||||
Serial.print("Y:");
|
||||
Serial.print(current_position[Y_AXIS]);
|
||||
Serial.print("Z:");
|
||||
Serial.print(current_position[Z_AXIS]);
|
||||
Serial.print("E:");
|
||||
Serial.print(current_position[E_AXIS]);
|
||||
SERIAL_PROTOCOL("X:");
|
||||
SERIAL_PROTOCOL(current_position[X_AXIS]);
|
||||
SERIAL_PROTOCOL("Y:");
|
||||
SERIAL_PROTOCOL(current_position[Y_AXIS]);
|
||||
SERIAL_PROTOCOL("Z:");
|
||||
SERIAL_PROTOCOL(current_position[Z_AXIS]);
|
||||
SERIAL_PROTOCOL("E:");
|
||||
SERIAL_PROTOCOL(current_position[E_AXIS]);
|
||||
#ifdef DEBUG_STEPS
|
||||
Serial.print(" Count X:");
|
||||
Serial.print(float(count_position[X_AXIS])/axis_steps_per_unit[X_AXIS]);
|
||||
Serial.print("Y:");
|
||||
Serial.print(float(count_position[Y_AXIS])/axis_steps_per_unit[Y_AXIS]);
|
||||
Serial.print("Z:");
|
||||
Serial.println(float(count_position[Z_AXIS])/axis_steps_per_unit[Z_AXIS]);
|
||||
SERIAL_PROTOCOL(" Count X:");
|
||||
SERIAL_PROTOCOL(float(count_position[X_AXIS])/axis_steps_per_unit[X_AXIS]);
|
||||
SERIAL_PROTOCOL("Y:");
|
||||
SERIAL_PROTOCOL(float(count_position[Y_AXIS])/axis_steps_per_unit[Y_AXIS]);
|
||||
SERIAL_PROTOCOL("Z:");
|
||||
SERIAL_PROTOCOL(float(count_position[Z_AXIS])/axis_steps_per_unit[Z_AXIS]);
|
||||
#endif
|
||||
Serial.println("");
|
||||
SERIAL_PROTOCOLLN("");
|
||||
break;
|
||||
case 119: // M119
|
||||
#if (X_MIN_PIN > -1)
|
||||
Serial.print("x_min:");
|
||||
Serial.print((READ(X_MIN_PIN)^ENDSTOPS_INVERTING)?"H ":"L ");
|
||||
SERIAL_PROTOCOL("x_min:");
|
||||
SERIAL_PROTOCOL(((READ(X_MIN_PIN)^ENDSTOPS_INVERTING)?"H ":"L "));
|
||||
#endif
|
||||
#if (X_MAX_PIN > -1)
|
||||
Serial.print("x_max:");
|
||||
Serial.print((READ(X_MAX_PIN)^ENDSTOPS_INVERTING)?"H ":"L ");
|
||||
SERIAL_PROTOCOL("x_max:");
|
||||
SERIAL_PROTOCOL(((READ(X_MAX_PIN)^ENDSTOPS_INVERTING)?"H ":"L "));
|
||||
#endif
|
||||
#if (Y_MIN_PIN > -1)
|
||||
Serial.print("y_min:");
|
||||
Serial.print((READ(Y_MIN_PIN)^ENDSTOPS_INVERTING)?"H ":"L ");
|
||||
SERIAL_PROTOCOL("y_min:");
|
||||
SERIAL_PROTOCOL(((READ(Y_MIN_PIN)^ENDSTOPS_INVERTING)?"H ":"L "));
|
||||
#endif
|
||||
#if (Y_MAX_PIN > -1)
|
||||
Serial.print("y_max:");
|
||||
Serial.print((READ(Y_MAX_PIN)^ENDSTOPS_INVERTING)?"H ":"L ");
|
||||
SERIAL_PROTOCOL("y_max:");
|
||||
SERIAL_PROTOCOL(((READ(Y_MAX_PIN)^ENDSTOPS_INVERTING)?"H ":"L "));
|
||||
#endif
|
||||
#if (Z_MIN_PIN > -1)
|
||||
Serial.print("z_min:");
|
||||
Serial.print((READ(Z_MIN_PIN)^ENDSTOPS_INVERTING)?"H ":"L ");
|
||||
SERIAL_PROTOCOL("z_min:");
|
||||
SERIAL_PROTOCOL(((READ(Z_MIN_PIN)^ENDSTOPS_INVERTING)?"H ":"L "));
|
||||
#endif
|
||||
#if (Z_MAX_PIN > -1)
|
||||
Serial.print("z_max:");
|
||||
Serial.print((READ(Z_MAX_PIN)^ENDSTOPS_INVERTING)?"H ":"L ");
|
||||
SERIAL_PROTOCOL("z_max:");
|
||||
SERIAL_PROTOCOL(((READ(Z_MAX_PIN)^ENDSTOPS_INVERTING)?"H ":"L "));
|
||||
#endif
|
||||
Serial.println("");
|
||||
SERIAL_PROTOCOLLN("");
|
||||
break;
|
||||
//TODO: update for all axis, use for loop
|
||||
case 201: // M201
|
||||
|
@ -885,9 +897,7 @@ inline void process_commands()
|
|||
}
|
||||
else
|
||||
{
|
||||
Serial.print("echo: Unknown command:\"");
|
||||
Serial.print(cmdbuffer[bufindr]);
|
||||
Serial.println("\"");
|
||||
SERIAL_ECHOLN("Unknown command:\""<<cmdbuffer[bufindr]<<"\"");
|
||||
}
|
||||
|
||||
ClearToSend();
|
||||
|
@ -897,8 +907,7 @@ void FlushSerialRequestResend()
|
|||
{
|
||||
//char cmdbuffer[bufindr][100]="Resend:";
|
||||
Serial.flush();
|
||||
Serial.print("Resend:");
|
||||
Serial.println(gcode_LastN + 1);
|
||||
SERIAL_PROTOCOLLN("Resend:"<<gcode_LastN + 1);
|
||||
ClearToSend();
|
||||
}
|
||||
|
||||
|
@ -909,7 +918,7 @@ void ClearToSend()
|
|||
if(fromsd[bufindr])
|
||||
return;
|
||||
#endif //SDSUPPORT
|
||||
Serial.println("ok");
|
||||
SERIAL_PROTOCOLLN("ok");
|
||||
}
|
||||
|
||||
inline void get_coordinates()
|
||||
|
|
|
@ -31,7 +31,7 @@ public:
|
|||
|
||||
inline void ls() {root.ls();};
|
||||
inline bool eof() { sdpos = file.curPosition();return sdpos>=filesize ;};
|
||||
inline char get() { int16_t n = file.read(); return (n!=-1)?(char)n:'\n';};
|
||||
inline char get() { int16_t n = file.read(); return (n==-1)?'\n':(char)n;};
|
||||
inline void setIndex(long index) {sdpos = index;file.seekSet(index);};
|
||||
|
||||
public:
|
||||
|
@ -52,6 +52,35 @@ private:
|
|||
bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware.
|
||||
};
|
||||
|
||||
|
||||
#else
|
||||
class CardReader
|
||||
{
|
||||
public:
|
||||
inline CardReader(){};
|
||||
|
||||
inline static void initsd(){};
|
||||
inline static void write_command(char *buf){};
|
||||
|
||||
inline static void checkautostart(bool x) {};
|
||||
|
||||
inline static void closefile() {};
|
||||
inline static void release(){};
|
||||
inline static void startFileprint(){};
|
||||
inline static void startFilewrite(char *name){};
|
||||
inline static void pauseSDPrint(){};
|
||||
inline static void getStatus(){};
|
||||
|
||||
inline static void selectFile(char* name){};
|
||||
inline static void getfilename(const uint8_t nr){};
|
||||
inline static uint8_t getnrfilenames(){return 0;};
|
||||
|
||||
|
||||
inline static void ls() {};
|
||||
inline static bool eof() {return true;};
|
||||
inline static char get() {return 0;};
|
||||
inline static void setIndex(){};
|
||||
};
|
||||
#endif //SDSUPPORT
|
||||
|
||||
|
||||
|
|
|
@ -76,17 +76,14 @@ void CardReader::selectFile(char* name)
|
|||
file.close();
|
||||
|
||||
if (file.open(&root, name, O_READ)) {
|
||||
Serial.print("File opened:");
|
||||
Serial.print(name);
|
||||
Serial.print(" Size:");
|
||||
filesize = file.fileSize();
|
||||
Serial.println(filesize);
|
||||
SERIAL_PROTOCOLLN("File opened:"<<name<<" Size:"<<filesize);
|
||||
sdpos = 0;
|
||||
|
||||
Serial.println("File selected");
|
||||
SERIAL_PROTOCOLLN("File selected");
|
||||
}
|
||||
else{
|
||||
Serial.println("file.open failed");
|
||||
SERIAL_PROTOCOLLN("file.open failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -101,14 +98,11 @@ void CardReader::startFilewrite(char *name)
|
|||
|
||||
if (!file.open(&root, name, O_CREAT | O_APPEND | O_WRITE | O_TRUNC))
|
||||
{
|
||||
Serial.print("open failed, File: ");
|
||||
Serial.print(name);
|
||||
Serial.print(".");
|
||||
SERIAL_PROTOCOLLN("open failed, File: "<<name<<".");
|
||||
}
|
||||
else{
|
||||
saving = true;
|
||||
Serial.print("Writing to file: ");
|
||||
Serial.println(name);
|
||||
SERIAL_PROTOCOLLN("Writing to file: "<<name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -116,13 +110,10 @@ void CardReader::startFilewrite(char *name)
|
|||
void CardReader::getStatus()
|
||||
{
|
||||
if(cardOK){
|
||||
Serial.print("SD printing byte ");
|
||||
Serial.print(sdpos);
|
||||
Serial.print("/");
|
||||
Serial.println(filesize);
|
||||
SERIAL_PROTOCOLLN("SD printing byte "<<sdpos<<"/"<<filesize);
|
||||
}
|
||||
else{
|
||||
Serial.println("Not SD printing");
|
||||
SERIAL_PROTOCOLLN("Not SD printing");
|
||||
}
|
||||
}
|
||||
void CardReader::write_command(char *buf)
|
||||
|
|
1386
Marlin/pins.h
1386
Marlin/pins.h
|
@ -1,694 +1,694 @@
|
|||
#ifndef PINS_H
|
||||
#define PINS_H
|
||||
|
||||
/****************************************************************************************
|
||||
* Arduino pin assignment
|
||||
*
|
||||
* ATMega168
|
||||
* +-\/-+
|
||||
* PC6 1| |28 PC5 (AI 5 / D19)
|
||||
* (D 0) PD0 2| |27 PC4 (AI 4 / D18)
|
||||
* (D 1) PD1 3| |26 PC3 (AI 3 / D17)
|
||||
* (D 2) PD2 4| |25 PC2 (AI 2 / D16)
|
||||
* PWM+ (D 3) PD3 5| |24 PC1 (AI 1 / D15)
|
||||
* (D 4) PD4 6| |23 PC0 (AI 0 / D14)
|
||||
* VCC 7| |22 GND
|
||||
* GND 8| |21 AREF
|
||||
* PB6 9| |20 AVCC
|
||||
* PB7 10| |19 PB5 (D 13)
|
||||
* PWM+ (D 5) PD5 11| |18 PB4 (D 12)
|
||||
* PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM
|
||||
* (D 7) PD7 13| |16 PB2 (D 10) PWM
|
||||
* (D 8) PB0 14| |15 PB1 (D 9) PWM
|
||||
* +----+
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 0
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega168__
|
||||
#error Oops! Make sure you have 'Arduino Diecimila' selected from the boards menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 2
|
||||
#define X_DIR_PIN 3
|
||||
#define X_ENABLE_PIN -1
|
||||
#define X_MIN_PIN 4
|
||||
#define X_MAX_PIN 9
|
||||
|
||||
#define Y_STEP_PIN 10
|
||||
#define Y_DIR_PIN 7
|
||||
#define Y_ENABLE_PIN -1
|
||||
#define Y_MIN_PIN 8
|
||||
#define Y_MAX_PIN 13
|
||||
|
||||
#define Z_STEP_PIN 19
|
||||
#define Z_DIR_PIN 18
|
||||
#define Z_ENABLE_PIN 5
|
||||
#define Z_MIN_PIN 17
|
||||
#define Z_MAX_PIN 16
|
||||
|
||||
#define E_STEP_PIN 11
|
||||
#define E_DIR_PIN 12
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS -1
|
||||
#define LED_PIN -1
|
||||
#define FAN_PIN -1
|
||||
#define PS_ON_PIN 15
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 6
|
||||
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Sanguino/RepRap Motherboard with direct-drive extruders
|
||||
*
|
||||
* ATMega644P
|
||||
*
|
||||
* +---\/---+
|
||||
* (D 0) PB0 1| |40 PA0 (AI 0 / D31)
|
||||
* (D 1) PB1 2| |39 PA1 (AI 1 / D30)
|
||||
* INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
|
||||
* PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
|
||||
* PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
|
||||
* MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
|
||||
* MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
|
||||
* SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
|
||||
* RST 9| |32 AREF
|
||||
* VCC 10| |31 GND
|
||||
* GND 11| |30 AVCC
|
||||
* XTAL2 12| |29 PC7 (D 23)
|
||||
* XTAL1 13| |28 PC6 (D 22)
|
||||
* RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
|
||||
* TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
|
||||
* INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
|
||||
* INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
|
||||
* PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
|
||||
* PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
|
||||
* PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
|
||||
* +--------+
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 1
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN 19
|
||||
#define X_MIN_PIN 20
|
||||
#define X_MAX_PIN 21
|
||||
|
||||
#define Y_STEP_PIN 23
|
||||
#define Y_DIR_PIN 22
|
||||
#define Y_ENABLE_PIN 19
|
||||
#define Y_MIN_PIN 25
|
||||
#define Y_MAX_PIN 26
|
||||
|
||||
#define Z_STEP_PIN 29
|
||||
#define Z_DIR_PIN 30
|
||||
#define Z_ENABLE_PIN 31
|
||||
#define Z_MIN_PIN 2
|
||||
#define Z_MAX_PIN 1
|
||||
|
||||
#define E_STEP_PIN 12
|
||||
#define E_DIR_PIN 16
|
||||
#define E_ENABLE_PIN 3
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS -1
|
||||
#define LED_PIN 0
|
||||
#define FAN_PIN -1
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 14
|
||||
#define TEMP_0_PIN 4 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* RepRap Motherboard ****---NOOOOOO RS485/EXTRUDER CONTROLLER!!!!!!!!!!!!!!!!!---*******
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 2
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN 19
|
||||
#define X_MIN_PIN 20
|
||||
#define X_MAX_PIN 21
|
||||
|
||||
#define Y_STEP_PIN 23
|
||||
#define Y_DIR_PIN 22
|
||||
#define Y_ENABLE_PIN 24
|
||||
#define Y_MIN_PIN 25
|
||||
#define Y_MAX_PIN 26
|
||||
|
||||
#define Z_STEP_PINN 27
|
||||
#define Z_DIR_PINN 28
|
||||
#define Z_ENABLE_PIN 29
|
||||
#define Z_MIN_PIN 30
|
||||
#define Z_MAX_PIN 31
|
||||
|
||||
#define E_STEP_PIN 17
|
||||
#define E_DIR_PIN 16
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 4
|
||||
#define LED_PIN 0
|
||||
|
||||
#define SD_CARD_WRITE 2
|
||||
#define SD_CARD_DETECT 3
|
||||
#define SD_CARD_SELECT 4
|
||||
|
||||
//our RS485 pins
|
||||
#define TX_ENABLE_PIN 12
|
||||
#define RX_ENABLE_PIN 13
|
||||
|
||||
//pin for controlling the PSU.
|
||||
#define PS_ON_PIN 14
|
||||
|
||||
#define FAN_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN -1
|
||||
#define TEMP_0_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Arduino Mega pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 33
|
||||
#define MOTHERBOARD 3
|
||||
#define RAMPS_V_1_3
|
||||
#endif
|
||||
#if MOTHERBOARD == 3
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
//////////////////FIX THIS//////////////
|
||||
#ifndef __AVR_ATmega1280__
|
||||
#ifndef __AVR_ATmega2560__
|
||||
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
|
||||
// #define RAMPS_V_1_3
|
||||
// #define RAMPS_V_1_0
|
||||
|
||||
#ifdef RAMPS_V_1_3
|
||||
|
||||
#define X_STEP_PIN 54
|
||||
#define X_DIR_PIN 55
|
||||
#define X_ENABLE_PIN 38
|
||||
#define X_MIN_PIN 3
|
||||
#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
|
||||
|
||||
#define Y_STEP_PIN 60
|
||||
#define Y_DIR_PIN 61
|
||||
#define Y_ENABLE_PIN 56
|
||||
#define Y_MIN_PIN 14
|
||||
#define Y_MAX_PIN -1 //15
|
||||
|
||||
#define Z_STEP_PIN 46
|
||||
#define Z_DIR_PIN 48
|
||||
#define Z_ENABLE_PIN 62
|
||||
#define Z_MIN_PIN 18
|
||||
#define Z_MAX_PIN -1 //19
|
||||
|
||||
#define E_STEP_PIN 26
|
||||
#define E_DIR_PIN 28
|
||||
#define E_ENABLE_PIN 24
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
#define FAN_PIN 9
|
||||
#define PS_ON_PIN 12
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 10
|
||||
#define HEATER_1_PIN 8
|
||||
#define HEATER_2_PIN -1
|
||||
#define TEMP_0_PIN 13 // ANALOG NUMBERING
|
||||
#define TEMP_1_PIN 14 // ANALOG NUMBERING
|
||||
#define TEMP_2_PIN -1 // ANALOG NUMBERING
|
||||
|
||||
|
||||
#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default
|
||||
|
||||
#define X_STEP_PIN 26
|
||||
#define X_DIR_PIN 28
|
||||
#define X_ENABLE_PIN 24
|
||||
#define X_MIN_PIN 3
|
||||
#define X_MAX_PIN -1 //2
|
||||
|
||||
#define Y_STEP_PIN 38
|
||||
#define Y_DIR_PIN 40
|
||||
#define Y_ENABLE_PIN 36
|
||||
#define Y_MIN_PIN 16
|
||||
#define Y_MAX_PIN -1 //17
|
||||
|
||||
#define Z_STEP_PIN 44
|
||||
#define Z_DIR_PIN 46
|
||||
#define Z_ENABLE_PIN 42
|
||||
#define Z_MIN_PIN 18
|
||||
#define Z_MAX_PIN -1 //19
|
||||
|
||||
#define E_STEP_PIN 32
|
||||
#define E_DIR_PIN 34
|
||||
#define E_ENABLE_PIN 30
|
||||
|
||||
#define SDPOWER 48
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
|
||||
|
||||
#ifdef RAMPS_V_1_0 // RAMPS_V_1_0
|
||||
#define HEATER_0_PIN 12 // RAMPS 1.0
|
||||
#define HEATER_1_PIN -1 // RAMPS 1.0
|
||||
#define FAN_PIN 11 // RAMPS 1.0
|
||||
|
||||
#else // RAMPS_V_1_1 or RAMPS_V_1_2
|
||||
#define HEATER_0_PIN 10 // RAMPS 1.1
|
||||
#define HEATER_1_PIN 8 // RAMPS 1.1
|
||||
#define FAN_PIN 9 // RAMPS 1.1
|
||||
#endif
|
||||
#define HEATER_2_PIN -1
|
||||
#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define TEMP_1_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#endif
|
||||
|
||||
// SPI for Max6675 Thermocouple
|
||||
|
||||
#ifndef SDSUPPORT
|
||||
// these pins are defined in the SD library if building with SD support #define SCK_PIN 52
|
||||
#define MISO_PIN 50
|
||||
#define MOSI_PIN 51
|
||||
#define MAX6675_SS 53
|
||||
#else
|
||||
#define MAX6675_SS 49
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
/****************************************************************************************
|
||||
* Duemilanove w/ ATMega328P pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 4
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega328P__
|
||||
#error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 19
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN -1
|
||||
#define X_MIN_PIN 17
|
||||
#define X_MAX_PIN -1
|
||||
|
||||
#define Y_STEP_PIN 10
|
||||
#define Y_DIR_PIN 7
|
||||
#define Y_ENABLE_PIN -1
|
||||
#define Y_MIN_PIN 8
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
#define Z_STEP_PIN 13
|
||||
#define Z_DIR_PIN 3
|
||||
#define Z_ENABLE_PIN 2
|
||||
#define Z_MIN_PIN 4
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
#define E_STEP_PIN 11
|
||||
#define E_DIR_PIN 12
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS -1
|
||||
#define LED_PIN -1
|
||||
#define FAN_PIN 5
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 6
|
||||
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Gen6 pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 5
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
//x axis pins
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN 19
|
||||
#define X_MIN_PIN 20
|
||||
#define X_MAX_PIN -1
|
||||
|
||||
//y axis pins
|
||||
#define Y_STEP_PIN 23
|
||||
#define Y_DIR_PIN 22
|
||||
#define Y_ENABLE_PIN 24
|
||||
#define Y_MIN_PIN 25
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
//z axis pins
|
||||
#define Z_STEP_PIN 27
|
||||
#define Z_DIR_PIN 28
|
||||
#define Z_ENABLE_PIN 29
|
||||
#define Z_MIN_PIN 30
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
//extruder pins
|
||||
#define E_STEP_PIN 4 //Edited @ EJE Electronics 20100715
|
||||
#define E_DIR_PIN 2 //Edited @ EJE Electronics 20100715
|
||||
#define E_ENABLE_PIN 3 //Added @ EJE Electronics 20100715
|
||||
#define TEMP_0_PIN 5 //changed @ rkoeppl 20110410
|
||||
#define HEATER_0_PIN 14 //changed @ rkoeppl 20110410
|
||||
#define HEATER_1_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 17
|
||||
#define LED_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define TEMP_1_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define TEMP_2_PIN -1
|
||||
#define FAN_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define PS_ON_PIN -1 //changed @ rkoeppl 20110410
|
||||
//our pin for debugging.
|
||||
|
||||
#define DEBUG_PIN 0
|
||||
|
||||
//our RS485 pins
|
||||
#define TX_ENABLE_PIN 12
|
||||
#define RX_ENABLE_PIN 13
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Sanguinololu pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 62
|
||||
#define MOTHERBOARD 6
|
||||
#define SANGUINOLOLU_V_1_2
|
||||
#endif
|
||||
#if MOTHERBOARD == 6
|
||||
#define KNOWN_BOARD 1
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 21
|
||||
#define X_MIN_PIN 18
|
||||
#define X_MAX_PIN -2
|
||||
|
||||
#define Y_STEP_PIN 22
|
||||
#define Y_DIR_PIN 23
|
||||
#define Y_MIN_PIN 19
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
#define Z_STEP_PIN 3
|
||||
#define Z_DIR_PIN 2
|
||||
#define Z_MIN_PIN 20
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
#define E_STEP_PIN 1
|
||||
#define E_DIR_PIN 0
|
||||
|
||||
#define LED_PIN -1
|
||||
|
||||
#define FAN_PIN -1
|
||||
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 13 // (extruder)
|
||||
|
||||
#ifdef SANGUINOLOLU_V_1_2
|
||||
|
||||
#define HEATER_1_PIN 12 // (bed)
|
||||
#define X_ENABLE_PIN 14
|
||||
#define Y_ENABLE_PIN 14
|
||||
#define Z_ENABLE_PIN 26
|
||||
#define E_ENABLE_PIN 14
|
||||
|
||||
#else
|
||||
|
||||
#define HEATER_1_PIN 14 // (bed)
|
||||
#define X_ENABLE_PIN -1
|
||||
#define Y_ENABLE_PIN -1
|
||||
#define Z_ENABLE_PIN -1
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#endif
|
||||
|
||||
#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
|
||||
#define TEMP_1_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
|
||||
#define TEMP_2_PIN -1
|
||||
#define SDPOWER -1
|
||||
#define SDSS 31
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if MOTHERBOARD == 7
|
||||
#define KNOWN_BOARD
|
||||
/*****************************************************************
|
||||
* Ultimaker pin assignment
|
||||
******************************************************************/
|
||||
|
||||
#ifndef __AVR_ATmega1280__
|
||||
#ifndef __AVR_ATmega2560__
|
||||
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 25
|
||||
#define X_DIR_PIN 23
|
||||
#define X_MIN_PIN 22
|
||||
#define X_MAX_PIN 24
|
||||
#define X_ENABLE_PIN 27
|
||||
|
||||
#define Y_STEP_PIN 31
|
||||
#define Y_DIR_PIN 33
|
||||
#define Y_MIN_PIN 26
|
||||
#define Y_MAX_PIN 28
|
||||
#define Y_ENABLE_PIN 29
|
||||
|
||||
#define Z_STEP_PIN 37
|
||||
#define Z_DIR_PIN 39
|
||||
#define Z_MIN_PIN 30
|
||||
#define Z_MAX_PIN 32
|
||||
#define Z_ENABLE_PIN 35
|
||||
|
||||
#define HEATER_1_PIN 4
|
||||
#define TEMP_1_PIN 11
|
||||
|
||||
#define EXTRUDER_0_STEP_PIN 43
|
||||
#define EXTRUDER_0_DIR_PIN 45
|
||||
#define EXTRUDER_0_ENABLE_PIN 41
|
||||
#define HEATER_0_PIN 2
|
||||
#define TEMP_0_PIN 8
|
||||
|
||||
#define EXTRUDER_1_STEP_PIN 49
|
||||
#define EXTRUDER_1_DIR_PIN 47
|
||||
#define EXTRUDER_1_ENABLE_PIN 51
|
||||
#define EXTRUDER_1_HEATER_PIN 3
|
||||
#define EXTRUDER_1_TEMPERATURE_PIN 10
|
||||
#define HEATER_2_PIN 51
|
||||
#define TEMP_2_PIN 3
|
||||
|
||||
|
||||
|
||||
#define E_STEP_PIN EXTRUDER_0_STEP_PIN
|
||||
#define E_DIR_PIN EXTRUDER_0_DIR_PIN
|
||||
#define E_ENABLE_PIN EXTRUDER_0_ENABLE_PIN
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
#define FAN_PIN 7
|
||||
#define PS_ON_PIN 12
|
||||
#define KILL_PIN -1
|
||||
|
||||
#ifdef ULTRA_LCD
|
||||
|
||||
#ifdef NEWPANEL
|
||||
//arduino pin witch triggers an piezzo beeper
|
||||
#define BEEPER 18
|
||||
|
||||
#define LCD_PINS_RS 20
|
||||
#define LCD_PINS_ENABLE 17
|
||||
#define LCD_PINS_D4 16
|
||||
#define LCD_PINS_D5 21
|
||||
#define LCD_PINS_D6 5
|
||||
#define LCD_PINS_D7 6
|
||||
|
||||
//buttons are directly attached
|
||||
#define BTN_EN1 40
|
||||
#define BTN_EN2 42
|
||||
#define BTN_ENC 19 //the click
|
||||
|
||||
#define BLEN_C 2
|
||||
#define BLEN_B 1
|
||||
#define BLEN_A 0
|
||||
|
||||
#define SDCARDDETECT 38
|
||||
|
||||
//encoder rotation values
|
||||
#define encrot0 0
|
||||
#define encrot1 2
|
||||
#define encrot2 3
|
||||
#define encrot3 1
|
||||
#else //old style panel with shift register
|
||||
//arduino pin witch triggers an piezzo beeper
|
||||
#define BEEPER 18
|
||||
|
||||
//buttons are attached to a shift register
|
||||
#define SHIFT_CLK 38
|
||||
#define SHIFT_LD 42
|
||||
#define SHIFT_OUT 40
|
||||
#define SHIFT_EN 17
|
||||
|
||||
#define LCD_PINS_RS 16
|
||||
#define LCD_PINS_ENABLE 5
|
||||
#define LCD_PINS_D4 6
|
||||
#define LCD_PINS_D5 21
|
||||
#define LCD_PINS_D6 20
|
||||
#define LCD_PINS_D7 19
|
||||
|
||||
//encoder rotation values
|
||||
#define encrot0 0
|
||||
#define encrot1 2
|
||||
#define encrot2 3
|
||||
#define encrot3 1
|
||||
|
||||
|
||||
//bits in the shift register that carry the buttons for:
|
||||
// left up center down right red
|
||||
#define BL_LE 7
|
||||
#define BL_UP 6
|
||||
#define BL_MI 5
|
||||
#define BL_DW 4
|
||||
#define BL_RI 3
|
||||
#define BL_ST 2
|
||||
|
||||
#define BLEN_B 1
|
||||
#define BLEN_A 0
|
||||
#endif
|
||||
#endif //ULTRA_LCD
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Teensylu 0.7 pin assingments (ATMEGA90USB)
|
||||
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE!
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 8
|
||||
#define MOTHERBOARD 8
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
|
||||
#define X_STEP_PIN 0
|
||||
#define X_DIR_PIN 1
|
||||
#define X_ENABLE_PIN 39
|
||||
#define X_MIN_PIN 13
|
||||
#define X_MAX_PIN -1
|
||||
|
||||
#define Y_STEP_PIN 2
|
||||
#define Y_DIR_PIN 3
|
||||
#define Y_ENABLE_PIN 38
|
||||
#define Y_MIN_PIN 14
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
#define Z_STEP_PIN 4
|
||||
#define Z_DIR_PIN 5
|
||||
#define Z_ENABLE_PIN 23
|
||||
#define Z_MIN_PIN 15
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
#define E_STEP_PIN 6
|
||||
#define E_DIR_PIN 7
|
||||
#define E_ENABLE_PIN 19
|
||||
|
||||
|
||||
|
||||
#define HEATER_0_PIN 21 // Extruder
|
||||
#define HEATER_1_PIN 20 // Bed
|
||||
#define HEATER_2_PIN -1
|
||||
#define FAN_PIN 22 // Fan
|
||||
|
||||
#define TEMP_0_PIN 7 // Extruder
|
||||
#define TEMP_1_PIN 6 // Bed
|
||||
#define TEMP_2_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 8
|
||||
#define LED_PIN -1
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
#define ALARM_PIN -1
|
||||
|
||||
#ifndef SDSUPPORT
|
||||
// these pins are defined in the SD library if building with SD support
|
||||
#define SCK_PIN 9
|
||||
#define MISO_PIN 11
|
||||
#define MOSI_PIN 10
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef KNOWN_BOARD
|
||||
#error Unknown MOTHERBOARD value in configuration.h
|
||||
#endif
|
||||
|
||||
//List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
|
||||
#define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, E_STEP_PIN, E_DIR_PIN, E_ENABLE_PIN, LED_PIN, PS_ON_PIN, HEATER_0_PIN, HEATER_1_PIN, HEATER_2_PIN, FAN_PIN, TEMP_0_PIN, TEMP_1_PIN, TEMP_2_PIN}
|
||||
|
||||
#ifndef PINS_H
|
||||
#define PINS_H
|
||||
|
||||
/****************************************************************************************
|
||||
* Arduino pin assignment
|
||||
*
|
||||
* ATMega168
|
||||
* +-\/-+
|
||||
* PC6 1| |28 PC5 (AI 5 / D19)
|
||||
* (D 0) PD0 2| |27 PC4 (AI 4 / D18)
|
||||
* (D 1) PD1 3| |26 PC3 (AI 3 / D17)
|
||||
* (D 2) PD2 4| |25 PC2 (AI 2 / D16)
|
||||
* PWM+ (D 3) PD3 5| |24 PC1 (AI 1 / D15)
|
||||
* (D 4) PD4 6| |23 PC0 (AI 0 / D14)
|
||||
* VCC 7| |22 GND
|
||||
* GND 8| |21 AREF
|
||||
* PB6 9| |20 AVCC
|
||||
* PB7 10| |19 PB5 (D 13)
|
||||
* PWM+ (D 5) PD5 11| |18 PB4 (D 12)
|
||||
* PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM
|
||||
* (D 7) PD7 13| |16 PB2 (D 10) PWM
|
||||
* (D 8) PB0 14| |15 PB1 (D 9) PWM
|
||||
* +----+
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 0
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega168__
|
||||
#error Oops! Make sure you have 'Arduino Diecimila' selected from the boards menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 2
|
||||
#define X_DIR_PIN 3
|
||||
#define X_ENABLE_PIN -1
|
||||
#define X_MIN_PIN 4
|
||||
#define X_MAX_PIN 9
|
||||
|
||||
#define Y_STEP_PIN 10
|
||||
#define Y_DIR_PIN 7
|
||||
#define Y_ENABLE_PIN -1
|
||||
#define Y_MIN_PIN 8
|
||||
#define Y_MAX_PIN 13
|
||||
|
||||
#define Z_STEP_PIN 19
|
||||
#define Z_DIR_PIN 18
|
||||
#define Z_ENABLE_PIN 5
|
||||
#define Z_MIN_PIN 17
|
||||
#define Z_MAX_PIN 16
|
||||
|
||||
#define E_STEP_PIN 11
|
||||
#define E_DIR_PIN 12
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS -1
|
||||
#define LED_PIN -1
|
||||
#define FAN_PIN -1
|
||||
#define PS_ON_PIN 15
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 6
|
||||
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Sanguino/RepRap Motherboard with direct-drive extruders
|
||||
*
|
||||
* ATMega644P
|
||||
*
|
||||
* +---\/---+
|
||||
* (D 0) PB0 1| |40 PA0 (AI 0 / D31)
|
||||
* (D 1) PB1 2| |39 PA1 (AI 1 / D30)
|
||||
* INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
|
||||
* PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
|
||||
* PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
|
||||
* MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
|
||||
* MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
|
||||
* SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
|
||||
* RST 9| |32 AREF
|
||||
* VCC 10| |31 GND
|
||||
* GND 11| |30 AVCC
|
||||
* XTAL2 12| |29 PC7 (D 23)
|
||||
* XTAL1 13| |28 PC6 (D 22)
|
||||
* RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
|
||||
* TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
|
||||
* INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
|
||||
* INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
|
||||
* PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
|
||||
* PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
|
||||
* PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
|
||||
* +--------+
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 1
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN 19
|
||||
#define X_MIN_PIN 20
|
||||
#define X_MAX_PIN 21
|
||||
|
||||
#define Y_STEP_PIN 23
|
||||
#define Y_DIR_PIN 22
|
||||
#define Y_ENABLE_PIN 19
|
||||
#define Y_MIN_PIN 25
|
||||
#define Y_MAX_PIN 26
|
||||
|
||||
#define Z_STEP_PIN 29
|
||||
#define Z_DIR_PIN 30
|
||||
#define Z_ENABLE_PIN 31
|
||||
#define Z_MIN_PIN 2
|
||||
#define Z_MAX_PIN 1
|
||||
|
||||
#define E_STEP_PIN 12
|
||||
#define E_DIR_PIN 16
|
||||
#define E_ENABLE_PIN 3
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS -1
|
||||
#define LED_PIN 0
|
||||
#define FAN_PIN -1
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 14
|
||||
#define TEMP_0_PIN 4 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* RepRap Motherboard ****---NOOOOOO RS485/EXTRUDER CONTROLLER!!!!!!!!!!!!!!!!!---*******
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 2
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN 19
|
||||
#define X_MIN_PIN 20
|
||||
#define X_MAX_PIN 21
|
||||
|
||||
#define Y_STEP_PIN 23
|
||||
#define Y_DIR_PIN 22
|
||||
#define Y_ENABLE_PIN 24
|
||||
#define Y_MIN_PIN 25
|
||||
#define Y_MAX_PIN 26
|
||||
|
||||
#define Z_STEP_PINN 27
|
||||
#define Z_DIR_PINN 28
|
||||
#define Z_ENABLE_PIN 29
|
||||
#define Z_MIN_PIN 30
|
||||
#define Z_MAX_PIN 31
|
||||
|
||||
#define E_STEP_PIN 17
|
||||
#define E_DIR_PIN 16
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 4
|
||||
#define LED_PIN 0
|
||||
|
||||
#define SD_CARD_WRITE 2
|
||||
#define SD_CARD_DETECT 3
|
||||
#define SD_CARD_SELECT 4
|
||||
|
||||
//our RS485 pins
|
||||
#define TX_ENABLE_PIN 12
|
||||
#define RX_ENABLE_PIN 13
|
||||
|
||||
//pin for controlling the PSU.
|
||||
#define PS_ON_PIN 14
|
||||
|
||||
#define FAN_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN -1
|
||||
#define TEMP_0_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Arduino Mega pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 33
|
||||
#define MOTHERBOARD 3
|
||||
#define RAMPS_V_1_3
|
||||
#endif
|
||||
#if MOTHERBOARD == 3
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
//////////////////FIX THIS//////////////
|
||||
#ifndef __AVR_ATmega1280__
|
||||
#ifndef __AVR_ATmega2560__
|
||||
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
|
||||
// #define RAMPS_V_1_3
|
||||
// #define RAMPS_V_1_0
|
||||
|
||||
#ifdef RAMPS_V_1_3
|
||||
|
||||
#define X_STEP_PIN 54
|
||||
#define X_DIR_PIN 55
|
||||
#define X_ENABLE_PIN 38
|
||||
#define X_MIN_PIN 3
|
||||
#define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
|
||||
|
||||
#define Y_STEP_PIN 60
|
||||
#define Y_DIR_PIN 61
|
||||
#define Y_ENABLE_PIN 56
|
||||
#define Y_MIN_PIN 14
|
||||
#define Y_MAX_PIN -1 //15
|
||||
|
||||
#define Z_STEP_PIN 46
|
||||
#define Z_DIR_PIN 48
|
||||
#define Z_ENABLE_PIN 62
|
||||
#define Z_MIN_PIN 18
|
||||
#define Z_MAX_PIN -1 //19
|
||||
|
||||
#define E_STEP_PIN 26
|
||||
#define E_DIR_PIN 28
|
||||
#define E_ENABLE_PIN 24
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
#define FAN_PIN 9
|
||||
#define PS_ON_PIN 12
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 10
|
||||
#define HEATER_1_PIN 8
|
||||
#define HEATER_2_PIN -1
|
||||
#define TEMP_0_PIN 13 // ANALOG NUMBERING
|
||||
#define TEMP_1_PIN 14 // ANALOG NUMBERING
|
||||
#define TEMP_2_PIN -1 // ANALOG NUMBERING
|
||||
|
||||
|
||||
#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default
|
||||
|
||||
#define X_STEP_PIN 26
|
||||
#define X_DIR_PIN 28
|
||||
#define X_ENABLE_PIN 24
|
||||
#define X_MIN_PIN 3
|
||||
#define X_MAX_PIN -1 //2
|
||||
|
||||
#define Y_STEP_PIN 38
|
||||
#define Y_DIR_PIN 40
|
||||
#define Y_ENABLE_PIN 36
|
||||
#define Y_MIN_PIN 16
|
||||
#define Y_MAX_PIN -1 //17
|
||||
|
||||
#define Z_STEP_PIN 44
|
||||
#define Z_DIR_PIN 46
|
||||
#define Z_ENABLE_PIN 42
|
||||
#define Z_MIN_PIN 18
|
||||
#define Z_MAX_PIN -1 //19
|
||||
|
||||
#define E_STEP_PIN 32
|
||||
#define E_DIR_PIN 34
|
||||
#define E_ENABLE_PIN 30
|
||||
|
||||
#define SDPOWER 48
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
|
||||
|
||||
#ifdef RAMPS_V_1_0 // RAMPS_V_1_0
|
||||
#define HEATER_0_PIN 12 // RAMPS 1.0
|
||||
#define HEATER_1_PIN -1 // RAMPS 1.0
|
||||
#define FAN_PIN 11 // RAMPS 1.0
|
||||
|
||||
#else // RAMPS_V_1_1 or RAMPS_V_1_2
|
||||
#define HEATER_0_PIN 10 // RAMPS 1.1
|
||||
#define HEATER_1_PIN 8 // RAMPS 1.1
|
||||
#define FAN_PIN 9 // RAMPS 1.1
|
||||
#endif
|
||||
#define HEATER_2_PIN -1
|
||||
#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define TEMP_1_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#endif
|
||||
|
||||
// SPI for Max6675 Thermocouple
|
||||
|
||||
#ifndef SDSUPPORT
|
||||
// these pins are defined in the SD library if building with SD support #define SCK_PIN 52
|
||||
#define MISO_PIN 50
|
||||
#define MOSI_PIN 51
|
||||
#define MAX6675_SS 53
|
||||
#else
|
||||
#define MAX6675_SS 49
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
/****************************************************************************************
|
||||
* Duemilanove w/ ATMega328P pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 4
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega328P__
|
||||
#error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 19
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN -1
|
||||
#define X_MIN_PIN 17
|
||||
#define X_MAX_PIN -1
|
||||
|
||||
#define Y_STEP_PIN 10
|
||||
#define Y_DIR_PIN 7
|
||||
#define Y_ENABLE_PIN -1
|
||||
#define Y_MIN_PIN 8
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
#define Z_STEP_PIN 13
|
||||
#define Z_DIR_PIN 3
|
||||
#define Z_ENABLE_PIN 2
|
||||
#define Z_MIN_PIN 4
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
#define E_STEP_PIN 11
|
||||
#define E_DIR_PIN 12
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS -1
|
||||
#define LED_PIN -1
|
||||
#define FAN_PIN 5
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 6
|
||||
#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
|
||||
#define HEATER_1_PIN -1
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Gen6 pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 5
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
//x axis pins
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 18
|
||||
#define X_ENABLE_PIN 19
|
||||
#define X_MIN_PIN 20
|
||||
#define X_MAX_PIN -1
|
||||
|
||||
//y axis pins
|
||||
#define Y_STEP_PIN 23
|
||||
#define Y_DIR_PIN 22
|
||||
#define Y_ENABLE_PIN 24
|
||||
#define Y_MIN_PIN 25
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
//z axis pins
|
||||
#define Z_STEP_PIN 27
|
||||
#define Z_DIR_PIN 28
|
||||
#define Z_ENABLE_PIN 29
|
||||
#define Z_MIN_PIN 30
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
//extruder pins
|
||||
#define E_STEP_PIN 4 //Edited @ EJE Electronics 20100715
|
||||
#define E_DIR_PIN 2 //Edited @ EJE Electronics 20100715
|
||||
#define E_ENABLE_PIN 3 //Added @ EJE Electronics 20100715
|
||||
#define TEMP_0_PIN 5 //changed @ rkoeppl 20110410
|
||||
#define HEATER_0_PIN 14 //changed @ rkoeppl 20110410
|
||||
#define HEATER_1_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 17
|
||||
#define LED_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define TEMP_1_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define TEMP_2_PIN -1
|
||||
#define FAN_PIN -1 //changed @ rkoeppl 20110410
|
||||
#define PS_ON_PIN -1 //changed @ rkoeppl 20110410
|
||||
//our pin for debugging.
|
||||
|
||||
#define DEBUG_PIN 0
|
||||
|
||||
//our RS485 pins
|
||||
#define TX_ENABLE_PIN 12
|
||||
#define RX_ENABLE_PIN 13
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Sanguinololu pin assignment
|
||||
*
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 62
|
||||
#define MOTHERBOARD 6
|
||||
#define SANGUINOLOLU_V_1_2
|
||||
#endif
|
||||
#if MOTHERBOARD == 6
|
||||
#define KNOWN_BOARD 1
|
||||
#ifndef __AVR_ATmega644P__
|
||||
#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 15
|
||||
#define X_DIR_PIN 21
|
||||
#define X_MIN_PIN 18
|
||||
#define X_MAX_PIN -2
|
||||
|
||||
#define Y_STEP_PIN 22
|
||||
#define Y_DIR_PIN 23
|
||||
#define Y_MIN_PIN 19
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
#define Z_STEP_PIN 3
|
||||
#define Z_DIR_PIN 2
|
||||
#define Z_MIN_PIN 20
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
#define E_STEP_PIN 1
|
||||
#define E_DIR_PIN 0
|
||||
|
||||
#define LED_PIN -1
|
||||
|
||||
#define FAN_PIN -1
|
||||
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
|
||||
#define HEATER_0_PIN 13 // (extruder)
|
||||
|
||||
#ifdef SANGUINOLOLU_V_1_2
|
||||
|
||||
#define HEATER_1_PIN 12 // (bed)
|
||||
#define X_ENABLE_PIN 14
|
||||
#define Y_ENABLE_PIN 14
|
||||
#define Z_ENABLE_PIN 26
|
||||
#define E_ENABLE_PIN 14
|
||||
|
||||
#else
|
||||
|
||||
#define HEATER_1_PIN 14 // (bed)
|
||||
#define X_ENABLE_PIN -1
|
||||
#define Y_ENABLE_PIN -1
|
||||
#define Z_ENABLE_PIN -1
|
||||
#define E_ENABLE_PIN -1
|
||||
|
||||
#endif
|
||||
|
||||
#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
|
||||
#define TEMP_1_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
|
||||
#define TEMP_2_PIN -1
|
||||
#define SDPOWER -1
|
||||
#define SDSS 31
|
||||
#define HEATER_2_PIN -1
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if MOTHERBOARD == 7
|
||||
#define KNOWN_BOARD
|
||||
/*****************************************************************
|
||||
* Ultimaker pin assignment
|
||||
******************************************************************/
|
||||
|
||||
#ifndef __AVR_ATmega1280__
|
||||
#ifndef __AVR_ATmega2560__
|
||||
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define X_STEP_PIN 25
|
||||
#define X_DIR_PIN 23
|
||||
#define X_MIN_PIN 22
|
||||
#define X_MAX_PIN 24
|
||||
#define X_ENABLE_PIN 27
|
||||
|
||||
#define Y_STEP_PIN 31
|
||||
#define Y_DIR_PIN 33
|
||||
#define Y_MIN_PIN 26
|
||||
#define Y_MAX_PIN 28
|
||||
#define Y_ENABLE_PIN 29
|
||||
|
||||
#define Z_STEP_PIN 37
|
||||
#define Z_DIR_PIN 39
|
||||
#define Z_MIN_PIN 30
|
||||
#define Z_MAX_PIN 32
|
||||
#define Z_ENABLE_PIN 35
|
||||
|
||||
#define HEATER_1_PIN 4
|
||||
#define TEMP_1_PIN 11
|
||||
|
||||
#define EXTRUDER_0_STEP_PIN 43
|
||||
#define EXTRUDER_0_DIR_PIN 45
|
||||
#define EXTRUDER_0_ENABLE_PIN 41
|
||||
#define HEATER_0_PIN 2
|
||||
#define TEMP_0_PIN 8
|
||||
|
||||
#define EXTRUDER_1_STEP_PIN 49
|
||||
#define EXTRUDER_1_DIR_PIN 47
|
||||
#define EXTRUDER_1_ENABLE_PIN 51
|
||||
#define EXTRUDER_1_HEATER_PIN 3
|
||||
#define EXTRUDER_1_TEMPERATURE_PIN 10
|
||||
#define HEATER_2_PIN 51
|
||||
#define TEMP_2_PIN 3
|
||||
|
||||
|
||||
|
||||
#define E_STEP_PIN EXTRUDER_0_STEP_PIN
|
||||
#define E_DIR_PIN EXTRUDER_0_DIR_PIN
|
||||
#define E_ENABLE_PIN EXTRUDER_0_ENABLE_PIN
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 53
|
||||
#define LED_PIN 13
|
||||
#define FAN_PIN 7
|
||||
#define PS_ON_PIN 12
|
||||
#define KILL_PIN -1
|
||||
|
||||
#ifdef ULTRA_LCD
|
||||
|
||||
#ifdef NEWPANEL
|
||||
//arduino pin witch triggers an piezzo beeper
|
||||
#define BEEPER 18
|
||||
|
||||
#define LCD_PINS_RS 20
|
||||
#define LCD_PINS_ENABLE 17
|
||||
#define LCD_PINS_D4 16
|
||||
#define LCD_PINS_D5 21
|
||||
#define LCD_PINS_D6 5
|
||||
#define LCD_PINS_D7 6
|
||||
|
||||
//buttons are directly attached
|
||||
#define BTN_EN1 40
|
||||
#define BTN_EN2 42
|
||||
#define BTN_ENC 19 //the click
|
||||
|
||||
#define BLEN_C 2
|
||||
#define BLEN_B 1
|
||||
#define BLEN_A 0
|
||||
|
||||
#define SDCARDDETECT 38
|
||||
|
||||
//encoder rotation values
|
||||
#define encrot0 0
|
||||
#define encrot1 2
|
||||
#define encrot2 3
|
||||
#define encrot3 1
|
||||
#else //old style panel with shift register
|
||||
//arduino pin witch triggers an piezzo beeper
|
||||
#define BEEPER 18
|
||||
|
||||
//buttons are attached to a shift register
|
||||
#define SHIFT_CLK 38
|
||||
#define SHIFT_LD 42
|
||||
#define SHIFT_OUT 40
|
||||
#define SHIFT_EN 17
|
||||
|
||||
#define LCD_PINS_RS 16
|
||||
#define LCD_PINS_ENABLE 5
|
||||
#define LCD_PINS_D4 6
|
||||
#define LCD_PINS_D5 21
|
||||
#define LCD_PINS_D6 20
|
||||
#define LCD_PINS_D7 19
|
||||
|
||||
//encoder rotation values
|
||||
#define encrot0 0
|
||||
#define encrot1 2
|
||||
#define encrot2 3
|
||||
#define encrot3 1
|
||||
|
||||
|
||||
//bits in the shift register that carry the buttons for:
|
||||
// left up center down right red
|
||||
#define BL_LE 7
|
||||
#define BL_UP 6
|
||||
#define BL_MI 5
|
||||
#define BL_DW 4
|
||||
#define BL_RI 3
|
||||
#define BL_ST 2
|
||||
|
||||
#define BLEN_B 1
|
||||
#define BLEN_A 0
|
||||
#endif
|
||||
#endif //ULTRA_LCD
|
||||
|
||||
#endif
|
||||
|
||||
/****************************************************************************************
|
||||
* Teensylu 0.7 pin assingments (ATMEGA90USB)
|
||||
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE!
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 8
|
||||
#define MOTHERBOARD 8
|
||||
#define KNOWN_BOARD 1
|
||||
|
||||
|
||||
#define X_STEP_PIN 0
|
||||
#define X_DIR_PIN 1
|
||||
#define X_ENABLE_PIN 39
|
||||
#define X_MIN_PIN 13
|
||||
#define X_MAX_PIN -1
|
||||
|
||||
#define Y_STEP_PIN 2
|
||||
#define Y_DIR_PIN 3
|
||||
#define Y_ENABLE_PIN 38
|
||||
#define Y_MIN_PIN 14
|
||||
#define Y_MAX_PIN -1
|
||||
|
||||
#define Z_STEP_PIN 4
|
||||
#define Z_DIR_PIN 5
|
||||
#define Z_ENABLE_PIN 23
|
||||
#define Z_MIN_PIN 15
|
||||
#define Z_MAX_PIN -1
|
||||
|
||||
#define E_STEP_PIN 6
|
||||
#define E_DIR_PIN 7
|
||||
#define E_ENABLE_PIN 19
|
||||
|
||||
|
||||
|
||||
#define HEATER_0_PIN 21 // Extruder
|
||||
#define HEATER_1_PIN 20 // Bed
|
||||
#define HEATER_2_PIN -1
|
||||
#define FAN_PIN 22 // Fan
|
||||
|
||||
#define TEMP_0_PIN 7 // Extruder
|
||||
#define TEMP_1_PIN 6 // Bed
|
||||
#define TEMP_2_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 8
|
||||
#define LED_PIN -1
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
#define ALARM_PIN -1
|
||||
|
||||
#ifndef SDSUPPORT
|
||||
// these pins are defined in the SD library if building with SD support
|
||||
#define SCK_PIN 9
|
||||
#define MISO_PIN 11
|
||||
#define MOSI_PIN 10
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef KNOWN_BOARD
|
||||
#error Unknown MOTHERBOARD value in configuration.h
|
||||
#endif
|
||||
|
||||
//List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
|
||||
#define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, E_STEP_PIN, E_DIR_PIN, E_ENABLE_PIN, LED_PIN, PS_ON_PIN, HEATER_0_PIN, HEATER_1_PIN, HEATER_2_PIN, FAN_PIN, TEMP_0_PIN, TEMP_1_PIN, TEMP_2_PIN}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -42,6 +42,19 @@ static long previous_millis_buttons=0;
|
|||
|
||||
static MainMenu menu;
|
||||
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
void lcdProgMemprint(const char *str)
|
||||
{
|
||||
char ch=pgm_read_byte(str);
|
||||
while(ch)
|
||||
{
|
||||
lcd.print(ch);
|
||||
ch=pgm_read_byte(++str);
|
||||
}
|
||||
}
|
||||
#define lcdprintPGM(x) lcdProgMemprint(PSTR(x))
|
||||
|
||||
|
||||
//===========================================================================
|
||||
//=============================functions ============================
|
||||
|
@ -264,9 +277,9 @@ void MainMenu::showStatus()
|
|||
feedmultiplychanged=false;
|
||||
encoderpos=feedmultiply;
|
||||
clear();
|
||||
lcd.setCursor(0,0);lcd.print("\002123/567\001 ");
|
||||
lcd.setCursor(0,0);lcdprintPGM("\002123/567\001 ");
|
||||
#if defined BED_USES_THERMISTOR || defined BED_USES_AD595
|
||||
lcd.setCursor(10,0);lcd.print("B123/567\001 ");
|
||||
lcd.setCursor(10,0);lcdprintPGM("B123/567\001 ");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -311,7 +324,7 @@ void MainMenu::showStatus()
|
|||
|
||||
if(starttime!=oldtime)
|
||||
{
|
||||
lcd.print(itostr2(time/60));lcd.print("h ");lcd.print(itostr2(time%60));lcd.print("m");
|
||||
lcd.print(itostr2(time/60));lcdprintPGM("h ");lcd.print(itostr2(time%60));lcdprintPGM("m");
|
||||
oldtime=time;
|
||||
}
|
||||
}
|
||||
|
@ -320,7 +333,7 @@ void MainMenu::showStatus()
|
|||
if((currentz!=oldzpos)||force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(10,1);
|
||||
lcd.print("Z:");lcd.print(itostr31(currentz));
|
||||
lcdprintPGM("Z:");lcd.print(itostr31(currentz));
|
||||
oldzpos=currentz;
|
||||
}
|
||||
static int oldfeedmultiply=0;
|
||||
|
@ -339,7 +352,7 @@ void MainMenu::showStatus()
|
|||
{
|
||||
oldfeedmultiply=curfeedmultiply;
|
||||
lcd.setCursor(0,2);
|
||||
lcd.print(itostr3(curfeedmultiply));lcd.print("% ");
|
||||
lcd.print(itostr3(curfeedmultiply));lcdprintPGM("% ");
|
||||
}
|
||||
if(messagetext[0]!='\0')
|
||||
{
|
||||
|
@ -353,9 +366,9 @@ void MainMenu::showStatus()
|
|||
if(force_lcd_update) //initial display of content
|
||||
{
|
||||
encoderpos=feedmultiply;
|
||||
lcd.setCursor(0,0);lcd.print("\002123/567\001 ");
|
||||
lcd.setCursor(0,0);lcdprintPGM("\002123/567\001 ");
|
||||
#if defined BED_USES_THERMISTOR || defined BED_USES_AD595
|
||||
lcd.setCursor(10,0);lcd.print("B123/567\001 ");
|
||||
lcd.setCursor(10,0);lcdprintPGM("B123/567\001 ");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -405,7 +418,7 @@ void MainMenu::showPrepare()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Prepare");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Prepare");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -418,7 +431,7 @@ void MainMenu::showPrepare()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Auto Home");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Auto Home");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -431,7 +444,7 @@ void MainMenu::showPrepare()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Set Origin");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Set Origin");
|
||||
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
|
@ -445,7 +458,7 @@ void MainMenu::showPrepare()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Preheat");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Preheat");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -458,7 +471,7 @@ void MainMenu::showPrepare()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Extrude");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Extrude");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -472,7 +485,7 @@ void MainMenu::showPrepare()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Disable Steppers");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Disable Steppers");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -541,7 +554,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Control");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Control");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -554,7 +567,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" \002Nozzle:");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" \002Nozzle:");
|
||||
lcd.setCursor(13,line);lcd.print(ftostr3(intround(degHotend0())));
|
||||
}
|
||||
|
||||
|
@ -588,7 +601,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Fan speed:");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Fan speed:");
|
||||
lcd.setCursor(13,line);lcd.print(ftostr3(fanpwm));
|
||||
}
|
||||
|
||||
|
@ -625,8 +638,8 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Acc:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(acceleration/100));lcd.print("00");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Acc:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(acceleration/100));lcdprintPGM("00");
|
||||
}
|
||||
|
||||
if((activeline==line) )
|
||||
|
@ -650,7 +663,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(encoderpos<5) encoderpos=5;
|
||||
if(encoderpos>990) encoderpos=990;
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));lcd.print("00");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));lcdprintPGM("00");
|
||||
}
|
||||
}
|
||||
}break;
|
||||
|
@ -658,7 +671,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Vxy-jerk: ");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Vxy-jerk: ");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(max_xy_jerk/60));
|
||||
}
|
||||
|
||||
|
@ -692,7 +705,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" PID-P: ");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" PID-P: ");
|
||||
lcd.setCursor(13,line);lcd.print(itostr4(Kp));
|
||||
}
|
||||
|
||||
|
@ -726,7 +739,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" PID-I: ");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" PID-I: ");
|
||||
lcd.setCursor(13,line);lcd.print(ftostr51(Ki));
|
||||
}
|
||||
|
||||
|
@ -760,7 +773,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" PID-D: ");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" PID-D: ");
|
||||
lcd.setCursor(13,line);lcd.print(itostr4(Kd));
|
||||
}
|
||||
|
||||
|
@ -797,7 +810,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" PID-C: ");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" PID-C: ");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(Kc));
|
||||
}
|
||||
|
||||
|
@ -834,11 +847,11 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Vmax ");
|
||||
if(i==ItemC_vmaxx)lcd.print("x:");
|
||||
if(i==ItemC_vmaxy)lcd.print("y:");
|
||||
if(i==ItemC_vmaxz)lcd.print("z:");
|
||||
if(i==ItemC_vmaxe)lcd.print("e:");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Vmax ");
|
||||
if(i==ItemC_vmaxx)lcdprintPGM("x:");
|
||||
if(i==ItemC_vmaxy)lcdprintPGM("y:");
|
||||
if(i==ItemC_vmaxz)lcdprintPGM("z:");
|
||||
if(i==ItemC_vmaxe)lcdprintPGM("e:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(max_feedrate[i-ItemC_vmaxx]/60));
|
||||
}
|
||||
|
||||
|
@ -873,7 +886,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Vmin:");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Vmin:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(minimumfeedrate/60));
|
||||
}
|
||||
|
||||
|
@ -907,7 +920,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" VTrav min:");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" VTrav min:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(mintravelfeedrate/60));
|
||||
}
|
||||
|
||||
|
@ -945,12 +958,12 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Amax ");
|
||||
if(i==ItemC_amaxx)lcd.print("x:");
|
||||
if(i==ItemC_amaxy)lcd.print("y:");
|
||||
if(i==ItemC_amaxz)lcd.print("z:");
|
||||
if(i==ItemC_amaxe)lcd.print("e:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(max_acceleration_units_per_sq_second[i-ItemC_amaxx]/100));lcd.print("00");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Amax ");
|
||||
if(i==ItemC_amaxx)lcdprintPGM("x:");
|
||||
if(i==ItemC_amaxy)lcdprintPGM("y:");
|
||||
if(i==ItemC_amaxz)lcdprintPGM("z:");
|
||||
if(i==ItemC_amaxe)lcdprintPGM("e:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(max_acceleration_units_per_sq_second[i-ItemC_amaxx]/100));lcdprintPGM("00");
|
||||
}
|
||||
|
||||
if((activeline==line) )
|
||||
|
@ -974,7 +987,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(encoderpos<1) encoderpos=1;
|
||||
if(encoderpos>990) encoderpos=990;
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));lcd.print("00");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));lcdprintPGM("00");
|
||||
}
|
||||
}
|
||||
}break;
|
||||
|
@ -982,8 +995,8 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" A-retract:");
|
||||
lcd.setCursor(13,line);lcd.print(ftostr3(retract_acceleration/100));lcd.print("00");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" A-retract:");
|
||||
lcd.setCursor(13,line);lcd.print(ftostr3(retract_acceleration/100));lcdprintPGM("00");
|
||||
}
|
||||
|
||||
if((activeline==line) )
|
||||
|
@ -1008,7 +1021,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(encoderpos<10) encoderpos=10;
|
||||
if(encoderpos>990) encoderpos=990;
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));lcd.print("00");
|
||||
lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));lcdprintPGM("00");
|
||||
}
|
||||
}
|
||||
}break;
|
||||
|
@ -1016,7 +1029,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Esteps/mm:");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Esteps/mm:");
|
||||
lcd.setCursor(13,line);lcd.print(itostr4(axis_steps_per_unit[3]));
|
||||
}
|
||||
|
||||
|
@ -1053,7 +1066,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Store EPROM");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Store EPROM");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -1067,7 +1080,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Load EPROM");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Load EPROM");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -1081,7 +1094,7 @@ void MainMenu::showControl()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" Restore Failsafe");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" Restore Failsafe");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -1165,7 +1178,7 @@ void MainMenu::showSD()
|
|||
{
|
||||
if(force_lcd_update)
|
||||
{
|
||||
lcd.setCursor(0,line);lcd.print(" File");
|
||||
lcd.setCursor(0,line);lcdprintPGM(" File");
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -1185,11 +1198,11 @@ void MainMenu::showSD()
|
|||
if(true)
|
||||
#endif
|
||||
{
|
||||
lcd.print(" \004Refresh");
|
||||
lcdprintPGM(" \004Refresh");
|
||||
}
|
||||
else
|
||||
{
|
||||
lcd.print(" \004Insert Card");
|
||||
lcdprintPGM(" \004Insert Card");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1210,7 +1223,7 @@ void MainMenu::showSD()
|
|||
{
|
||||
card.getfilename(i-2);
|
||||
//Serial.print("Filenr:");Serial.println(i-2);
|
||||
lcd.setCursor(0,line);lcd.print(" ");lcd.print(card.filename);
|
||||
lcd.setCursor(0,line);lcdprintPGM(" ");lcd.print(card.filename);
|
||||
}
|
||||
if((activeline==line) && CLICKED)
|
||||
{
|
||||
|
@ -1292,7 +1305,7 @@ void MainMenu::showMainMenu()
|
|||
{
|
||||
case ItemM_watch:
|
||||
{
|
||||
if(force_lcd_update) {lcd.setCursor(0,line);lcd.print(" Watch \x7E");}
|
||||
if(force_lcd_update) {lcd.setCursor(0,line);lcdprintPGM(" Watch \x7E");}
|
||||
if((activeline==line)&&CLICKED)
|
||||
{
|
||||
BLOCK;
|
||||
|
@ -1302,7 +1315,7 @@ void MainMenu::showMainMenu()
|
|||
} break;
|
||||
case ItemM_prepare:
|
||||
{
|
||||
if(force_lcd_update) {lcd.setCursor(0,line);lcd.print(" Prepare \x7E");}
|
||||
if(force_lcd_update) {lcd.setCursor(0,line);lcdprintPGM(" Prepare \x7E");}
|
||||
if((activeline==line)&&CLICKED)
|
||||
{
|
||||
BLOCK;
|
||||
|
@ -1313,7 +1326,7 @@ void MainMenu::showMainMenu()
|
|||
|
||||
case ItemM_control:
|
||||
{
|
||||
if(force_lcd_update) {lcd.setCursor(0,line);lcd.print(" Control \x7E");}
|
||||
if(force_lcd_update) {lcd.setCursor(0,line);lcdprintPGM(" Control \x7E");}
|
||||
if((activeline==line)&&CLICKED)
|
||||
{
|
||||
BLOCK;
|
||||
|
@ -1334,13 +1347,13 @@ void MainMenu::showMainMenu()
|
|||
#endif
|
||||
{
|
||||
if(card.sdprinting)
|
||||
lcd.print(" Stop Print \x7E");
|
||||
lcdprintPGM(" Stop Print \x7E");
|
||||
else
|
||||
lcd.print(" Card Menu \x7E");
|
||||
lcdprintPGM(" Card Menu \x7E");
|
||||
}
|
||||
else
|
||||
{
|
||||
lcd.print(" No Card");
|
||||
lcdprintPGM(" No Card");
|
||||
}
|
||||
}
|
||||
#ifdef CARDINSERTED
|
||||
|
|
Reference in a new issue