Skip to content

Commit

Permalink
Bed MINTEMP implemented, MAXTEMP behaviour changed, loading filament …
Browse files Browse the repository at this point in the history
…bug fixed, Extruder max feedrate increased and Italian language strings fix.
  • Loading branch information
michalprusa committed Aug 7, 2016
1 parent 5c11950 commit 053c727
Show file tree
Hide file tree
Showing 25 changed files with 110 additions and 70,622 deletions.
2 changes: 1 addition & 1 deletion Firmware/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "Configuration_prusa.h"

// Firmware version
#define FW_version "3.0.6-rc3"
#define FW_version "3.0.6"

#define FW_PRUSA3D_MAGIC "PRUSA3DFW"
#define FW_PRUSA3D_MAGIC_LEN 10
Expand Down
2 changes: 1 addition & 1 deletion Firmware/langtool.pl
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ END

print $fh <<'END'
#include <avr/pgmspace.h>
#include "configuration_prusa.h"
#include "Configuration_prusa.h"
#include "language_all.h"
#define LCD_WIDTH 20
Expand Down
24 changes: 12 additions & 12 deletions Firmware/language_all.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <avr/pgmspace.h>
#include "configuration_prusa.h"
#include "Configuration_prusa.h"
#include "language_all.h"

#define LCD_WIDTH 20
Expand Down Expand Up @@ -140,7 +140,7 @@ const char * const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = {

const char MSG_BED_CORRECTION_MENU_EN[] PROGMEM = "Bed level correct";
const char MSG_BED_CORRECTION_MENU_CZ[] PROGMEM = "Korekce podlozky";
const char MSG_BED_CORRECTION_MENU_IT[] PROGMEM = "Correz. liv. letto";
const char MSG_BED_CORRECTION_MENU_IT[] PROGMEM = "Correz. liv.letto";
const char MSG_BED_CORRECTION_MENU_ES[] PROGMEM = "Corr. de la cama";
const char MSG_BED_CORRECTION_MENU_PL[] PROGMEM = "Korekta podkladki";
const char * const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand Down Expand Up @@ -210,7 +210,7 @@ const char * const MSG_BED_HEATING_LANG_TABLE[LANG_NUM] PROGMEM = {

const char MSG_BED_LEVELING_FAILED_POINT_HIGH_EN[] PROGMEM = "Bed leveling failed. Sensor triggered too high. Waiting for reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_IT[] PROGMEM = "Livellamento letto fallito. Sensore scocc. troppo presto In attesa di reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_IT[] PROGMEM = "Livellamento letto fallito.Risp sensore troppo prestoIn attesa di reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_ES[] PROGMEM = "Nivelacion fallada. Sensor funciona demasiado temprano. Esperando reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_PL[] PROGMEM = "Kalibracja Z nieudana. Sensor dotk. za wysoko. Czekam na reset.";
const char * const MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand All @@ -223,7 +223,7 @@ const char * const MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE[LANG_NUM] PROGM

const char MSG_BED_LEVELING_FAILED_POINT_LOW_EN[] PROGMEM = "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_IT[] PROGMEM = "Livellamento letto fallito. Sensore non scocc.DetritiUgello? In attesa di reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_IT[] PROGMEM = "Livellamento letto fallito.NoRispSensor Residui su ugello? In attesa di reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_ES[] PROGMEM = "Nivelacion fallada. Sensor no funciona. Escombros en Boqui.? Esperando reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_PL[] PROGMEM = "Kalibracja nieudana. Sensor nie dotknal. Zanieczysz. dysza? Czekam na reset.";
const char * const MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand All @@ -236,7 +236,7 @@ const char * const MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE[LANG_NUM] PROGME

const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN[] PROGMEM = "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_IT[] PROGMEM = "Livellamento letto fallito. Sensore disc. oCavoDanneggi. In attesa di reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_IT[] PROGMEM = "Livellamento letto fallito. Sensore discon. o Cavo Dann. In attesa di reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_ES[] PROGMEM = "Nivelacion fallada. Sensor desconectado o cables danados. Esperando reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_PL[] PROGMEM = "Kalibracja nieudana. Sensor odlaczony lub uszkodz. kabel. Czekam na reset.";
const char * const MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand Down Expand Up @@ -474,7 +474,7 @@ const char * const MSG_CONFIGURATION_VER_LANG_TABLE[1] PROGMEM = {

const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN[] PROGMEM = "Are left and right Z~carriages all up?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_CZ[] PROGMEM = "Dojely oba Z voziky k~hornimu dorazu?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_IT[] PROGMEM = "I carrelli Z sin/des sono massima atezza?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_IT[] PROGMEM = "I carrelli Z sin/des sono altezza max?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_ES[] PROGMEM = "Carros Z izq./der. estan arriba maximo?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_PL[] PROGMEM = "Oba wozki dojechaly do gornej ramy?";
const char * const MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand Down Expand Up @@ -536,7 +536,7 @@ const char * const MSG_COUNT_X_LANG_TABLE[1] PROGMEM = {

const char MSG_DISABLE_STEPPERS_EN[] PROGMEM = "Disable steppers";
const char MSG_DISABLE_STEPPERS_CZ[] PROGMEM = "Vypnout motory";
const char MSG_DISABLE_STEPPERS_IT[] PROGMEM = "Disablilit motori";
const char MSG_DISABLE_STEPPERS_IT[] PROGMEM = "Disabilit motori";
const char MSG_DISABLE_STEPPERS_ES[] PROGMEM = "Apagar motores";
const char MSG_DISABLE_STEPPERS_PL[] PROGMEM = "Wylaczyc silniki";
const char * const MSG_DISABLE_STEPPERS_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand Down Expand Up @@ -651,7 +651,7 @@ const char * const MSG_FACTOR_LANG_TABLE[1] PROGMEM = {

const char MSG_FAN_SPEED_EN[] PROGMEM = "Fan speed";
const char MSG_FAN_SPEED_CZ[] PROGMEM = "Rychlost vent.";
const char MSG_FAN_SPEED_IT[] PROGMEM = "Velocità ventola";
const char MSG_FAN_SPEED_IT[] PROGMEM = "Velocità ventola";
const char MSG_FAN_SPEED_ES[] PROGMEM = "Ventilador";
const char MSG_FAN_SPEED_PL[] PROGMEM = "Predkosc went.";
const char * const MSG_FAN_SPEED_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand Down Expand Up @@ -1091,7 +1091,7 @@ const char * const MSG_MOVE_AXIS_LANG_TABLE[LANG_NUM] PROGMEM = {

const char MSG_MOVE_CARRIAGE_TO_THE_TOP_EN[] PROGMEM = "Calibrating XYZ. Move Z carriage up to the end stoppers. Click when done.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ[] PROGMEM = "Kalibrace XYZ. Posunte prosim Z osu az k~hornimu dorazu. Potvrdte tlacitkem.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_IT[] PROGMEM = "Calibrando X/Y. Muovere Z fino massima altezza, poi fare clik.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_IT[] PROGMEM = "Calibrando X/Y. Muovere Z fino altezza max, poi fare clik.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_ES[] PROGMEM = "Calibrando XYZ. Subir carro Z hasta maximo. Click cuando acabes.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_PL[] PROGMEM = "Kalibracja XYZ. Prosze przesunac os Z do gornej ramy. Potw. guzikiem.";
const char * const MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand Down Expand Up @@ -1816,7 +1816,7 @@ const char * const MSG_SELFTEST_START_LANG_TABLE[LANG_NUM] PROGMEM = {
const char MSG_SELFTEST_WIRINGERROR_EN[] PROGMEM = "Wiring error";
const char MSG_SELFTEST_WIRINGERROR_CZ[] PROGMEM = "Chyba zapojeni";
const char MSG_SELFTEST_WIRINGERROR_IT[] PROGMEM = "Errore cablaggio";
const char MSG_SELFTEST_WIRINGERROR_ES[] PROGMEM = "Error de conexión";
const char MSG_SELFTEST_WIRINGERROR_ES[] PROGMEM = "Error de conexión";
const char MSG_SELFTEST_WIRINGERROR_PL[] PROGMEM = "Blad polaczenia";
const char * const MSG_SELFTEST_WIRINGERROR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_SELFTEST_WIRINGERROR_EN,
Expand Down Expand Up @@ -1900,7 +1900,7 @@ const char * const MSG_SOFTWARE_RESET_LANG_TABLE[1] PROGMEM = {

const char MSG_SPEED_EN[] PROGMEM = "Speed";
const char MSG_SPEED_CZ[] PROGMEM = "Rychlost";
const char MSG_SPEED_IT[] PROGMEM = "Velocità";
const char MSG_SPEED_IT[] PROGMEM = "Velocità";
const char MSG_SPEED_ES[] PROGMEM = "Velocidad";
const char MSG_SPEED_PL[] PROGMEM = "Predkosc";
const char * const MSG_SPEED_LANG_TABLE[LANG_NUM] PROGMEM = {
Expand Down Expand Up @@ -2080,7 +2080,7 @@ const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[LANG_NUM]
};

const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN[] PROGMEM = "SD card [FlshAir]";
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_PL[] PROGMEM = "karta SD [FlshAir]";
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_PL[] PROGMEM = "karta SD[FlshAir]";
const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
Expand Down
14 changes: 7 additions & 7 deletions Firmware/language_it.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define MSG_SD_INSERTED "SD inserita"
#define MSG_SD_REMOVED "SD rimossa"
#define MSG_MAIN "Menu principale"
#define MSG_DISABLE_STEPPERS "Disablilit motori"
#define MSG_DISABLE_STEPPERS "Disabilit motori"
#define MSG_AUTO_HOME "Trova origine"
#define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Set origin"
Expand Down Expand Up @@ -177,10 +177,10 @@
#define MSG_CALIBRATE_BED "Calibra XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."

#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrando X/Y. Muovere Z fino massima altezza, poi fare clik."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrando X/Y. Muovere Z fino altezza max, poi fare clik."

#define MSG_CONFIRM_NOZZLE_CLEAN "Pulire l'ugello per la calibrazione, poi fare click."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "I carrelli Z sin/des sono massima atezza?"
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "I carrelli Z sin/des sono altezza max?"

#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Ricerca del letto"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 "punto di calibraz."
Expand All @@ -201,16 +201,16 @@
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili."

#define MSG_BED_LEVELING_FAILED_POINT_LOW "Livellamento letto fallito. Sensore non scocc.DetritiUgello? In attesa di reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Livellamento letto fallito. Sensore scocc. troppo presto In attesa di reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Livellamento letto fallito. Sensore disc. oCavoDanneggi. In attesa di reset."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Livellamento letto fallito.NoRispSensor Residui su ugello? In attesa di reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Livellamento letto fallito.Risp sensore troppo prestoIn attesa di reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Livellamento letto fallito. Sensore discon. o Cavo Dann. In attesa di reset."

#define MSG_NEW_FIRMWARE_AVAILABLE "Nuova versione del firmware disponibile"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prega aggiorna."

#define MSG_BABYSTEP_Z_NOT_SET "Stampante non ancora calibrata. Eseguire il G-code di calibrazione per regolare l'altezza Z."

#define MSG_BED_CORRECTION_MENU "Correz. liv. letto"
#define MSG_BED_CORRECTION_MENU "Correz. liv.letto"
#define MSG_BED_CORRECTION_LEFT "Lato sinistro um"
#define MSG_BED_CORRECTION_RIGHT "Lato destro um"
#define MSG_BED_CORRECTION_FRONT "Lato ateriore um"
Expand Down
2 changes: 1 addition & 1 deletion Firmware/language_pl.h
Original file line number Diff line number Diff line change
Expand Up @@ -229,4 +229,4 @@

#define MSG_MENU_CALIBRATION "Kalibracja"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "karta SD [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "karta SD [FlshAir]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "karta SD[FlshAir]"
45 changes: 41 additions & 4 deletions Firmware/temperature.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,9 @@ static int minttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_LO_TEMP ,
static int maxttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_HI_TEMP , HEATER_1_RAW_HI_TEMP , HEATER_2_RAW_HI_TEMP );
static int minttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 0, 0, 0 );
static int maxttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 16383, 16383, 16383 );
//static int bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP; /* No bed mintemp error implemented?!? */
#ifdef BED_MINTEMP
static int bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP;
#endif
#ifdef BED_MAXTEMP
static int bed_maxttemp_raw = HEATER_BED_RAW_HI_TEMP;
#endif
Expand Down Expand Up @@ -1006,15 +1008,15 @@ void tp_init()
#endif //MAXTEMP 2

#ifdef BED_MINTEMP
/* No bed MINTEMP error implemented?!? */ /*
/* No bed MINTEMP error implemented?!? */
while(analog2tempBed(bed_minttemp_raw) < BED_MINTEMP) {
#if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP
bed_minttemp_raw += OVERSAMPLENR;
#else
bed_minttemp_raw -= OVERSAMPLENR;
#endif
}
*/

#endif //BED_MINTEMP
#ifdef BED_MAXTEMP
while(analog2tempBed(bed_maxttemp_raw) > BED_MAXTEMP) {
Expand Down Expand Up @@ -1199,7 +1201,17 @@ void max_temp_error(uint8_t e) {
}
#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
Stop();



#endif
SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN);
SET_OUTPUT(FAN_PIN);
SET_OUTPUT(BEEPER);
WRITE(FAN_PIN, 1);
WRITE(EXTRUDER_0_AUTO_FAN_PIN, 1);
WRITE(BEEPER, 1);
fanSpeed=255;
}

void min_temp_error(uint8_t e) {
Expand Down Expand Up @@ -1229,6 +1241,20 @@ void bed_max_temp_error(void) {
#endif
}

void bed_min_temp_error(void) {
#if HEATER_BED_PIN > -1
WRITE(HEATER_BED_PIN, 0);
#endif
if(IsStopped() == false) {
SERIAL_ERROR_START;
SERIAL_ERRORLNPGM("Temperature heated bed switched off. MINTEMP triggered !");
LCD_ALERTMESSAGEPGM("Err: MINTEMP BED");
}
#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
Stop();
#endif
}

#ifdef HEATER_0_USES_MAX6675
#define MAX6675_HEAT_INTERVAL 250
long max6675_previous_millis = MAX6675_HEAT_INTERVAL;
Expand Down Expand Up @@ -1800,6 +1826,8 @@ ISR(TIMER0_COMPB_vect)
#endif

/* No bed MINTEMP error? */


#if defined(BED_MAXTEMP) && (TEMP_SENSOR_BED != 0)
# if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
if(current_temperature_bed_raw <= bed_maxttemp_raw) {
Expand All @@ -1809,8 +1837,17 @@ ISR(TIMER0_COMPB_vect)
target_temperature_bed = 0;
bed_max_temp_error();
}
#endif
}

# if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
if(current_temperature_bed_raw >= bed_minttemp_raw) {
#else
if(current_temperature_bed_raw <= bed_minttemp_raw) {
#endif
bed_min_temp_error();
}

#endif

#ifdef BABYSTEPPING
for(uint8_t axis=0;axis<3;axis++)
Expand Down
27 changes: 20 additions & 7 deletions Firmware/ultralcd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ int farm_no = 0;
int farm_timer = 30;
int farm_status = 0;



bool menuExiting = false;

#ifdef FILAMENT_LCD_DISPLAY
Expand Down Expand Up @@ -332,8 +334,10 @@ static void lcd_status_screen()
{
firstrun = 0;
set_language_from_EEPROM();
strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH);


if(lcd_status_message_level == 0){
strncpy_P(lcd_status_message, WELCOME_MSG, LCD_WIDTH);
}
if (eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 1) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 2) == 255 && eeprom_read_byte((uint8_t *)EEPROM_TOTALTIME + 3) == 255)
{
eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0);
Expand Down Expand Up @@ -502,6 +506,7 @@ void lcd_commands()
disable_z();
custom_message = false;
custom_message_type = 0;

}
if (lcd_commands_step == 2 && !blocks_queued())
{
Expand All @@ -512,13 +517,18 @@ void lcd_commands()
if (lcd_commands_step == 3 && !blocks_queued())
{
enquecommand_P(PSTR(LOAD_FILAMENT_1));
enquecommand_P(PSTR("G4"));
st_synchronize();
lcd_commands_step = 2;
}
if (lcd_commands_step == 4 && !blocks_queued())
{
lcd_setstatuspgm(MSG_INSERT_FILAMENT);
enquecommand_P(PSTR(LOAD_FILAMENT_0));
enquecommand_P(PSTR("G1 E0.1 F400"));
lcd_commands_step = 3;
st_synchronize();

}
if (lcd_commands_step == 5 && !blocks_queued())
{
Expand Down Expand Up @@ -1025,7 +1035,8 @@ void lcd_LoadFilament()
lcd_commands_type = LCD_COMMAND_LOAD_FILAMENT;
SERIAL_ECHOLN("Loading filament");
// commands() will handle the rest
}

}
else
{

Expand Down Expand Up @@ -2095,6 +2106,11 @@ static void lcd_settings_menu()
} else {
MENU_ITEM(function, MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF, lcd_toshiba_flash_air_compatibility_toggle);
}

if (farm_mode)
{
MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no);
}

END_MENU();
}
Expand Down Expand Up @@ -2123,10 +2139,7 @@ static void lcd_calibration_menu()
MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops);
MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44"));
}
if (farm_mode)
{
MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no);
}

END_MENU();
}
/*
Expand Down
Loading

0 comments on commit 053c727

Please sign in to comment.