|
@@ -1111,6 +1111,17 @@ void setup()
|
|
lcd_print_at_PGM(0, 2, PSTR(" 3D Printers "));
|
|
lcd_print_at_PGM(0, 2, PSTR(" 3D Printers "));
|
|
setup_killpin();
|
|
setup_killpin();
|
|
setup_powerhold();
|
|
setup_powerhold();
|
|
|
|
+ farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE);
|
|
|
|
+ EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no);
|
|
|
|
+ //if ((farm_mode == 0xFF && farm_no == 0) || (farm_no == 0xFFFF)) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode
|
|
|
|
+ if (farm_no == 0xFFFF) farm_no = 0;
|
|
|
|
+ if (farm_mode)
|
|
|
|
+ {
|
|
|
|
+ prusa_statistics(8);
|
|
|
|
+ selectedSerialPort = 1;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ selectedSerialPort = 0;
|
|
MYSERIAL.begin(BAUDRATE);
|
|
MYSERIAL.begin(BAUDRATE);
|
|
SERIAL_PROTOCOLLNPGM("start");
|
|
SERIAL_PROTOCOLLNPGM("start");
|
|
SERIAL_ECHO_START;
|
|
SERIAL_ECHO_START;
|
|
@@ -1523,6 +1534,12 @@ void get_command()
|
|
rx_buffer_full = true; //sets flag that buffer was full
|
|
rx_buffer_full = true; //sets flag that buffer was full
|
|
}
|
|
}
|
|
char serial_char = MYSERIAL.read();
|
|
char serial_char = MYSERIAL.read();
|
|
|
|
+ if (selectedSerialPort == 1)
|
|
|
|
+ {
|
|
|
|
+ selectedSerialPort = 0;
|
|
|
|
+ MYSERIAL.write(serial_char);
|
|
|
|
+ selectedSerialPort = 1;
|
|
|
|
+ }
|
|
TimeSent = millis();
|
|
TimeSent = millis();
|
|
TimeNow = millis();
|
|
TimeNow = millis();
|
|
|
|
|
|
@@ -2082,6 +2099,9 @@ void homeaxis(int axis)
|
|
axis_known_position[axis] = true;
|
|
axis_known_position[axis] = true;
|
|
#ifdef TMC2130
|
|
#ifdef TMC2130
|
|
tmc2130_home_exit();
|
|
tmc2130_home_exit();
|
|
|
|
+// destination[axis] += 2;
|
|
|
|
+// plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], homing_feedrate[axis]/60, active_extruder);
|
|
|
|
+// st_synchronize();
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
else if ((axis==Z_AXIS)?HOMEAXIS_DO(Z):0)
|
|
else if ((axis==Z_AXIS)?HOMEAXIS_DO(Z):0)
|
|
@@ -2331,7 +2351,35 @@ void process_commands()
|
|
trace();
|
|
trace();
|
|
prusa_sd_card_upload = true;
|
|
prusa_sd_card_upload = true;
|
|
card.openFile(strchr_pointer+4,false);
|
|
card.openFile(strchr_pointer+4,false);
|
|
- } else if(code_seen("Fir")){
|
|
|
|
|
|
+ } else if (code_seen("SN")) {
|
|
|
|
+ if (farm_mode) {
|
|
|
|
+ selectedSerialPort = 0;
|
|
|
|
+ MSerial.write(";S");
|
|
|
|
+ // S/N is:CZPX0917X003XC13518
|
|
|
|
+ int numbersRead = 0;
|
|
|
|
+
|
|
|
|
+ while (numbersRead < 19) {
|
|
|
|
+ while (MSerial.available() > 0) {
|
|
|
|
+ uint8_t serial_char = MSerial.read();
|
|
|
|
+ selectedSerialPort = 1;
|
|
|
|
+ MSerial.write(serial_char);
|
|
|
|
+ numbersRead++;
|
|
|
|
+ selectedSerialPort = 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ selectedSerialPort = 1;
|
|
|
|
+ MSerial.write('\n');
|
|
|
|
+ /*for (int b = 0; b < 3; b++) {
|
|
|
|
+ tone(BEEPER, 110);
|
|
|
|
+ delay(50);
|
|
|
|
+ noTone(BEEPER);
|
|
|
|
+ delay(50);
|
|
|
|
+ }*/
|
|
|
|
+ } else {
|
|
|
|
+ MYSERIAL.println("Not in farm mode.");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else if(code_seen("Fir")){
|
|
|
|
|
|
SERIAL_PROTOCOLLN(FW_version);
|
|
SERIAL_PROTOCOLLN(FW_version);
|
|
|
|
|