Remove ancient SNMM code in the MK3 branch
This commit is contained in:
parent
f97808e19a
commit
a6331d22c8
@ -329,14 +329,12 @@ extern uint8_t host_keepalive_interval;
|
||||
extern unsigned long starttime;
|
||||
extern unsigned long stoptime;
|
||||
extern ShortTimer usb_timer;
|
||||
extern int bowden_length[4];
|
||||
extern bool homing_flag;
|
||||
extern bool loading_flag;
|
||||
extern unsigned long total_filament_used;
|
||||
void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time);
|
||||
extern uint8_t status_number;
|
||||
extern uint8_t heating_status_counter;
|
||||
extern char snmm_filaments_used;
|
||||
extern unsigned long PingTime;
|
||||
extern bool no_response;
|
||||
extern uint8_t important_status;
|
||||
|
@ -75,7 +75,7 @@ ISR(M_USARTx_RX_vect)
|
||||
#endif //DEBUG_DUMP_TO_2ND_SERIAL
|
||||
}
|
||||
}
|
||||
#ifndef SNMM
|
||||
|
||||
ISR(USART1_RX_vect)
|
||||
{
|
||||
// Test for a framing error.
|
||||
@ -97,7 +97,6 @@ ISR(USART1_RX_vect)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Public Methods //////////////////////////////////////////////////////////////
|
||||
|
||||
@ -131,8 +130,6 @@ void MarlinSerial::begin(long baud)
|
||||
sbi(M_UCSRxB, M_TXENx);
|
||||
sbi(M_UCSRxB, M_RXCIEx);
|
||||
|
||||
#ifndef SNMM
|
||||
|
||||
if (selectedSerialPort == 1) { //set up also the second serial port
|
||||
if (useU2X) {
|
||||
UCSR1A = 1 << U2X1;
|
||||
@ -150,7 +147,6 @@ void MarlinSerial::begin(long baud)
|
||||
sbi(UCSR1B, TXEN1);
|
||||
sbi(UCSR1B, RXCIE1);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void MarlinSerial::end()
|
||||
@ -159,11 +155,9 @@ void MarlinSerial::end()
|
||||
cbi(M_UCSRxB, M_TXENx);
|
||||
cbi(M_UCSRxB, M_RXCIEx);
|
||||
|
||||
#ifndef SNMM
|
||||
cbi(UCSR1B, RXEN1);
|
||||
cbi(UCSR1B, TXEN1);
|
||||
cbi(UCSR1B, RXCIE1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -190,7 +190,6 @@ int extruder_multiply[EXTRUDERS] = {100
|
||||
#endif
|
||||
};
|
||||
|
||||
int bowden_length[4] = {385, 385, 385, 385};
|
||||
|
||||
bool homing_flag = false;
|
||||
|
||||
@ -219,8 +218,6 @@ bool loading_flag = false;
|
||||
|
||||
#define XY_NO_RESTORE_FLAG (mesh_bed_leveling_flag || homing_flag)
|
||||
|
||||
char snmm_filaments_used = 0;
|
||||
|
||||
|
||||
bool fan_state[2];
|
||||
int fan_edge_counter[2];
|
||||
@ -769,13 +766,6 @@ static void factory_reset(char level)
|
||||
menu_progressbar_finish();
|
||||
softReset();
|
||||
break;
|
||||
|
||||
|
||||
#ifdef SNMM
|
||||
case 5:
|
||||
bowden_menu();
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -1493,15 +1483,6 @@ void setup()
|
||||
#endif //DEBUG_SD_SPEED_TEST
|
||||
|
||||
eeprom_init();
|
||||
#ifdef SNMM
|
||||
if (eeprom_read_dword((uint32_t*)EEPROM_BOWDEN_LENGTH) == 0x0ffffffff) { //bowden length used for SNMM
|
||||
int _z = BOWDEN_LENGTH;
|
||||
for(uint8_t i = 0; i < 4; i++) {
|
||||
eeprom_update_word((uint16_t*)EEPROM_BOWDEN_LENGTH + i, _z);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// In the future, somewhere here would one compare the current firmware version against the firmware version stored in the EEPROM.
|
||||
// If they differ, an update procedure may need to be performed. At the end of this block, the current firmware version
|
||||
// is being written into the EEPROM, so the update procedure will be triggered only once.
|
||||
@ -1569,7 +1550,6 @@ void setup()
|
||||
#ifdef PAT9125
|
||||
fsensor_setup_interrupt();
|
||||
#endif //PAT9125
|
||||
eeprom_update_block(bowden_length, (uint16_t*)EEPROM_BOWDEN_LENGTH, sizeof(bowden_length));
|
||||
|
||||
#ifndef DEBUG_DISABLE_STARTMSGS
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
@ -4257,12 +4237,6 @@ void process_commands()
|
||||
|
||||
// PRUSA GCODES
|
||||
KEEPALIVE_STATE(IN_HANDLER);
|
||||
|
||||
#ifdef SNMM
|
||||
float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT;
|
||||
float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD;
|
||||
int8_t SilentMode;
|
||||
#endif
|
||||
/*!
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
@ -6903,7 +6877,6 @@ Sigma_Exit:
|
||||
#endif
|
||||
}
|
||||
}
|
||||
snmm_filaments_used = 0;
|
||||
break;
|
||||
|
||||
/*!
|
||||
@ -8881,20 +8854,11 @@ Sigma_Exit:
|
||||
M702 [ U | C ]
|
||||
|
||||
#### Parameters
|
||||
- `U` - Unload all filaments used in current print
|
||||
- `C` - Unload just current filament
|
||||
- without any parameters unload all filaments
|
||||
*/
|
||||
case 702:
|
||||
{
|
||||
#ifdef SNMM
|
||||
if (code_seen('U'))
|
||||
extr_unload_used(); //! if "U" unload all filaments which were used in current print
|
||||
else if (code_seen('C'))
|
||||
extr_unload(); //! if "C" unload just current filament
|
||||
else
|
||||
extr_unload_all(); //! otherwise unload all filaments
|
||||
#else
|
||||
if (code_seen('C')) {
|
||||
if(mmu_enabled) extr_unload(); //! if "C" unload current filament; if mmu is not present no action is performed
|
||||
}
|
||||
@ -8902,8 +8866,6 @@ Sigma_Exit:
|
||||
if(mmu_enabled) extr_unload(); //! unload current filament
|
||||
else unload_filament();
|
||||
}
|
||||
|
||||
#endif //SNMM
|
||||
}
|
||||
break;
|
||||
|
||||
@ -8996,7 +8958,6 @@ Sigma_Exit:
|
||||
}
|
||||
}
|
||||
st_synchronize();
|
||||
snmm_filaments_used |= (1 << tmp_extruder); //for stop print
|
||||
|
||||
if (mmu_enabled)
|
||||
{
|
||||
@ -9027,47 +8988,6 @@ Sigma_Exit:
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef SNMM
|
||||
mmu_extruder = tmp_extruder;
|
||||
|
||||
_delay(100);
|
||||
|
||||
disable_e0();
|
||||
disable_e1();
|
||||
disable_e2();
|
||||
|
||||
SET_OUTPUT(E_MUX0_PIN);
|
||||
SET_OUTPUT(E_MUX1_PIN);
|
||||
|
||||
_delay(100);
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHO("T:");
|
||||
SERIAL_ECHOLN((int)tmp_extruder);
|
||||
switch (tmp_extruder) {
|
||||
case 1:
|
||||
WRITE(E_MUX0_PIN, HIGH);
|
||||
WRITE(E_MUX1_PIN, LOW);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
WRITE(E_MUX0_PIN, LOW);
|
||||
WRITE(E_MUX1_PIN, HIGH);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
WRITE(E_MUX0_PIN, HIGH);
|
||||
WRITE(E_MUX1_PIN, HIGH);
|
||||
|
||||
break;
|
||||
default:
|
||||
WRITE(E_MUX0_PIN, LOW);
|
||||
WRITE(E_MUX1_PIN, LOW);
|
||||
|
||||
break;
|
||||
}
|
||||
_delay(100);
|
||||
|
||||
#else //SNMM
|
||||
if (tmp_extruder >= EXTRUDERS) {
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHO('T');
|
||||
@ -9111,8 +9031,6 @@ Sigma_Exit:
|
||||
SERIAL_ECHORPGM(_n("Active Extruder: "));////MSG_ACTIVE_EXTRUDER
|
||||
SERIAL_PROTOCOLLN((int)active_extruder);
|
||||
}
|
||||
|
||||
#endif //SNMM
|
||||
}
|
||||
}
|
||||
} // end if(code_seen('T')) (end of T codes)
|
||||
@ -12039,35 +11957,15 @@ void M600_wait_for_user(float HotendTempBckp) {
|
||||
|
||||
void M600_load_filament_movements()
|
||||
{
|
||||
#ifdef SNMM
|
||||
display_loading();
|
||||
do
|
||||
{
|
||||
current_position[E_AXIS] += 0.002;
|
||||
plan_buffer_line_curposXYZE(500, active_extruder);
|
||||
delay_keep_alive(2);
|
||||
}
|
||||
while (!lcd_clicked());
|
||||
st_synchronize();
|
||||
current_position[E_AXIS] += bowden_length[mmu_extruder];
|
||||
plan_buffer_line_curposXYZE(3000, active_extruder);
|
||||
current_position[E_AXIS] += FIL_LOAD_LENGTH - 60;
|
||||
plan_buffer_line_curposXYZE(1400, active_extruder);
|
||||
current_position[E_AXIS] += 40;
|
||||
plan_buffer_line_curposXYZE(400, active_extruder);
|
||||
current_position[E_AXIS] += 10;
|
||||
plan_buffer_line_curposXYZE(50, active_extruder);
|
||||
#else
|
||||
current_position[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
|
||||
current_position[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED;
|
||||
plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST);
|
||||
#endif
|
||||
load_filament_final_feed();
|
||||
lcd_loading_filament();
|
||||
st_synchronize();
|
||||
}
|
||||
|
||||
void M600_load_filament() {
|
||||
//load filament for single material and SNMM
|
||||
//load filament for single material and MMU
|
||||
lcd_wait_interact();
|
||||
|
||||
//load_filament_time = _millis();
|
||||
|
@ -122,7 +122,7 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP
|
||||
| 0x0FB0h 4016 | int16 | EEPROM_PROBE_TEMP_SHIFT | ??? | ??? | ??? | ??? | D3 Ax0fb0 C10
|
||||
| 0x0FAFh 4015 | bool | EEPROM_TEMP_CAL_ACTIVE | 00h 0 | 00h 0 | PINDA Temp cal.: __inactive__ | LCD menu | D3 Ax0faf C1
|
||||
| ^ | ^ | ^ | ffh 255 | ^ | PINDA Temp cal.: __active__ | ^ | ^
|
||||
| 0x0FA7h 4007 | uint32 | EEPROM_BOWDEN_LENGTH | ??? | ff 00 00 00h | Bowden length | ??? | D3 Ax0fae C8
|
||||
| 0x0FA7h 4007 | ??? | _EEPROM_FREE_NR6_ | ??? | | _Free EEPROM space_ | ??? | D3 Ax0fae C8
|
||||
| ^ | ^ | ^ | ^ | 00 00 00 00h | ^ | ^ | ^
|
||||
| 0x0FA6h 4006 | uint8 | EEPROM_CALIBRATION_STATUS_PINDA | 00h 0 | ffh 255 | PINDA Temp: __not calibrated__ | ??? | D3 Ax0fa6 C1
|
||||
| ^ | ^ | ^ | 01h 1 | ^ | PINDA Temp: __calibrated__ | ^ | ^
|
||||
@ -379,8 +379,8 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP
|
||||
#define EEPROM_PRINT_FLAG (EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY-1)
|
||||
#define EEPROM_PROBE_TEMP_SHIFT (EEPROM_PRINT_FLAG - 2*5) //5 x int for storing pinda probe temp shift relative to 50 C; unit: motor steps
|
||||
#define EEPROM_TEMP_CAL_ACTIVE (EEPROM_PROBE_TEMP_SHIFT - 1)
|
||||
#define EEPROM_BOWDEN_LENGTH (EEPROM_TEMP_CAL_ACTIVE - 2*4) //4 x int for bowden lengths for multimaterial
|
||||
#define EEPROM_CALIBRATION_STATUS_PINDA (EEPROM_BOWDEN_LENGTH - 1) //0 - not calibrated; 1 - calibrated
|
||||
#define _EEPROM_FREE_NR6_ (EEPROM_TEMP_CAL_ACTIVE - 2*4) //4 x int (used to be for bowden lengths for SNMM)
|
||||
#define EEPROM_CALIBRATION_STATUS_PINDA (_EEPROM_FREE_NR6_ - 1) //0 - not calibrated; 1 - calibrated
|
||||
#define EEPROM_UVLO (EEPROM_CALIBRATION_STATUS_PINDA - 1) //1 - uvlo during print
|
||||
#define EEPROM_UVLO_CURRENT_POSITION (EEPROM_UVLO-2*4) // 2 x float for current_position in X and Y axes
|
||||
#define EEPROM_FILENAME (EEPROM_UVLO_CURRENT_POSITION - 8) //8chars to store filename without extension
|
||||
|
@ -34,10 +34,6 @@ const char MSG_FILAMENT[] PROGMEM_I1 = ISTR("Filament"); ////c=17
|
||||
const char MSG_FAN_SPEED[] PROGMEM_I1 = ISTR("Fan speed"); ////c=14
|
||||
const char MSG_FILAMENT_CLEAN[] PROGMEM_I1 = ISTR("Filament extruding & with correct color?"); ////c=20 r=2
|
||||
const char MSG_FILAMENT_LOADED[] PROGMEM_I1 = ISTR("Is filament loaded?"); ////c=20 r=2
|
||||
const char MSG_FILAMENT_LOADING_T0[] PROGMEM_I1 = ISTR("Insert filament into extruder 1. Click when done."); ////c=20 r=4
|
||||
const char MSG_FILAMENT_LOADING_T1[] PROGMEM_I1 = ISTR("Insert filament into extruder 2. Click when done."); ////c=20 r=4
|
||||
const char MSG_FILAMENT_LOADING_T2[] PROGMEM_I1 = ISTR("Insert filament into extruder 3. Click when done."); ////c=20 r=4
|
||||
const char MSG_FILAMENT_LOADING_T3[] PROGMEM_I1 = ISTR("Insert filament into extruder 4. Click when done."); ////c=20 r=4
|
||||
const char MSG_FILAMENTCHANGE[] PROGMEM_I1 = ISTR("Change filament"); ////c=18
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1[] PROGMEM_I1 = ISTR("Searching bed calibration point"); ////c=20 r=3
|
||||
const char MSG_FINISHING_MOVEMENTS[] PROGMEM_I1 = ISTR("Finishing movements"); ////c=20
|
||||
|
331
Firmware/mmu.cpp
331
Firmware/mmu.cpp
@ -879,7 +879,6 @@ void mmu_M600_load_filament(bool automatic, float nozzle_temp)
|
||||
lcd_puts_at_P(0, 1, _T(MSG_LOADING_FILAMENT));
|
||||
lcd_print(' ');
|
||||
lcd_print(tmp_extruder + 1);
|
||||
snmm_filaments_used |= (1 << tmp_extruder); //for stop print
|
||||
|
||||
//printf_P(PSTR("T code: %d \n"), tmp_extruder);
|
||||
//mmu_printf_P(PSTR("T%d\n"), tmp_extruder);
|
||||
@ -897,86 +896,8 @@ void mmu_M600_load_filament(bool automatic, float nozzle_temp)
|
||||
st_synchronize();
|
||||
}
|
||||
|
||||
|
||||
#ifdef SNMM
|
||||
void extr_mov(float shift, float feed_rate)
|
||||
{ //move extruder no matter what the current heater temperature is
|
||||
set_extrude_min_temp(.0);
|
||||
current_position[E_AXIS] += shift;
|
||||
plan_buffer_line_curposXYZE(feed_rate, active_extruder);
|
||||
set_extrude_min_temp(EXTRUDE_MINTEMP);
|
||||
}
|
||||
#endif //SNMM
|
||||
|
||||
|
||||
void change_extr(int
|
||||
#ifdef SNMM
|
||||
extr
|
||||
#endif //SNMM
|
||||
) { //switches multiplexer for extruders
|
||||
#ifdef SNMM
|
||||
st_synchronize();
|
||||
_delay(100);
|
||||
|
||||
disable_e0();
|
||||
disable_e1();
|
||||
disable_e2();
|
||||
|
||||
mmu_extruder = extr;
|
||||
|
||||
SET_OUTPUT(E_MUX0_PIN);
|
||||
SET_OUTPUT(E_MUX1_PIN);
|
||||
|
||||
switch (extr) {
|
||||
case 1:
|
||||
WRITE(E_MUX0_PIN, HIGH);
|
||||
WRITE(E_MUX1_PIN, LOW);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
WRITE(E_MUX0_PIN, LOW);
|
||||
WRITE(E_MUX1_PIN, HIGH);
|
||||
|
||||
break;
|
||||
case 3:
|
||||
WRITE(E_MUX0_PIN, HIGH);
|
||||
WRITE(E_MUX1_PIN, HIGH);
|
||||
|
||||
break;
|
||||
default:
|
||||
WRITE(E_MUX0_PIN, LOW);
|
||||
WRITE(E_MUX1_PIN, LOW);
|
||||
|
||||
break;
|
||||
}
|
||||
_delay(100);
|
||||
#endif
|
||||
}
|
||||
|
||||
int get_ext_nr()
|
||||
{ //reads multiplexer input pins and return current extruder number (counted from 0)
|
||||
#ifndef SNMM
|
||||
return(mmu_extruder); //update needed
|
||||
#else
|
||||
return(2 * READ(E_MUX1_PIN) + READ(E_MUX0_PIN));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void display_loading()
|
||||
void extr_adj(uint8_t extruder) //loading filament into the MMU unit
|
||||
{
|
||||
switch (mmu_extruder)
|
||||
{
|
||||
case 1: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T1)); break;
|
||||
case 2: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T2)); break;
|
||||
case 3: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T3)); break;
|
||||
default: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T0)); break;
|
||||
}
|
||||
}
|
||||
|
||||
void extr_adj(uint8_t extruder) //loading filament for SNMM
|
||||
{
|
||||
#ifndef SNMM
|
||||
MmuCmd cmd = MmuCmd::L0 + extruder;
|
||||
if (extruder > (MmuCmd::L4 - MmuCmd::L0))
|
||||
{
|
||||
@ -1002,45 +923,6 @@ void extr_adj(uint8_t extruder) //loading filament for SNMM
|
||||
|
||||
|
||||
//lcd_return_to_status();
|
||||
#else
|
||||
|
||||
bool correct;
|
||||
max_feedrate[E_AXIS] =80;
|
||||
//max_feedrate[E_AXIS] = 50;
|
||||
START:
|
||||
lcd_clear();
|
||||
lcd_set_cursor(0, 0);
|
||||
switch (extruder) {
|
||||
case 1: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T1)); break;
|
||||
case 2: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T2)); break;
|
||||
case 3: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T3)); break;
|
||||
default: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T0)); break;
|
||||
}
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
do{
|
||||
extr_mov(0.001,1000);
|
||||
delay_keep_alive(2);
|
||||
} while (!lcd_clicked());
|
||||
//delay_keep_alive(500);
|
||||
KEEPALIVE_STATE(IN_HANDLER);
|
||||
st_synchronize();
|
||||
//correct = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_FIL_LOADED_CHECK, false);
|
||||
//if (!correct) goto START;
|
||||
//extr_mov(BOWDEN_LENGTH/2.f, 500); //dividing by 2 is there because of max. extrusion length limitation (x_max + y_max)
|
||||
//extr_mov(BOWDEN_LENGTH/2.f, 500);
|
||||
extr_mov(bowden_length[extruder], 500);
|
||||
lcd_clear();
|
||||
lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_LOADING_FILAMENT));
|
||||
if(strlen(_T(MSG_LOADING_FILAMENT))>18) lcd_set_cursor(0, 1);
|
||||
else lcd_print(' ');
|
||||
lcd_print(mmu_extruder + 1);
|
||||
lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT));
|
||||
st_synchronize();
|
||||
max_feedrate[E_AXIS] = 50;
|
||||
lcd_update_enable(true);
|
||||
lcd_return_to_status();
|
||||
lcdDrawUpdate = 2;
|
||||
#endif
|
||||
}
|
||||
|
||||
struct E_step
|
||||
@ -1087,15 +969,8 @@ void extr_unload_view()
|
||||
|
||||
void extr_unload()
|
||||
{ //unload just current filament for multimaterial printers
|
||||
#ifdef SNMM
|
||||
float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT;
|
||||
float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD;
|
||||
uint8_t SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT);
|
||||
#endif
|
||||
|
||||
if (degHotend0() > EXTRUDE_MINTEMP)
|
||||
{
|
||||
#ifndef SNMM
|
||||
st_synchronize();
|
||||
|
||||
menu_submenu(extr_unload_view);
|
||||
@ -1107,58 +982,6 @@ void extr_unload()
|
||||
manage_response(false, true, MMU_UNLOAD_MOVE);
|
||||
|
||||
menu_back();
|
||||
#else //SNMM
|
||||
|
||||
lcd_clear();
|
||||
lcd_display_message_fullscreen_P(PSTR(""));
|
||||
max_feedrate[E_AXIS] = 50;
|
||||
lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_UNLOADING_FILAMENT));
|
||||
lcd_print(' ');
|
||||
lcd_print(mmu_extruder + 1);
|
||||
lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT));
|
||||
if (current_position[Z_AXIS] < 15) {
|
||||
current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion
|
||||
plan_buffer_line_curposXYZE(25, active_extruder);
|
||||
}
|
||||
|
||||
current_position[E_AXIS] += 10; //extrusion
|
||||
plan_buffer_line_curposXYZE(10, active_extruder);
|
||||
st_current_set(2, E_MOTOR_HIGH_CURRENT);
|
||||
if (current_temperature[0] < 230) { //PLA & all other filaments
|
||||
current_position[E_AXIS] += 5.4;
|
||||
plan_buffer_line_curposXYZE(2800 / 60, active_extruder);
|
||||
current_position[E_AXIS] += 3.2;
|
||||
plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
||||
current_position[E_AXIS] += 3;
|
||||
plan_buffer_line_curposXYZE(3400 / 60, active_extruder);
|
||||
}
|
||||
else { //ABS
|
||||
current_position[E_AXIS] += 3.1;
|
||||
plan_buffer_line_curposXYZE(2000 / 60, active_extruder);
|
||||
current_position[E_AXIS] += 3.1;
|
||||
plan_buffer_line_curposXYZE(2500 / 60, active_extruder);
|
||||
current_position[E_AXIS] += 4;
|
||||
plan_buffer_line_curposXYZE(3000 / 60, active_extruder);
|
||||
/*current_position[X_AXIS] += 23; //delay
|
||||
plan_buffer_line_curposXYZE(600 / 60, active_extruder); //delay
|
||||
current_position[X_AXIS] -= 23; //delay
|
||||
plan_buffer_line_curposXYZE(600 / 60, active_extruder); //delay*/
|
||||
delay_keep_alive(4700);
|
||||
}
|
||||
|
||||
max_feedrate[E_AXIS] = 80;
|
||||
current_position[E_AXIS] -= (bowden_length[mmu_extruder] + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
plan_buffer_line_curposXYZE(500, active_extruder);
|
||||
current_position[E_AXIS] -= (bowden_length[mmu_extruder] + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
plan_buffer_line_curposXYZE(500, active_extruder);
|
||||
st_synchronize();
|
||||
//st_current_init();
|
||||
if (SilentMode != SILENT_MODE_OFF) st_current_set(2, tmp_motor[2]); //set back to normal operation currents
|
||||
else st_current_set(2, tmp_motor_loud[2]);
|
||||
lcd_update_enable(true);
|
||||
lcd_return_to_status();
|
||||
max_feedrate[E_AXIS] = 50;
|
||||
#endif //SNMM
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1166,165 +989,13 @@ void extr_unload()
|
||||
}
|
||||
}
|
||||
|
||||
//wrapper functions for loading filament
|
||||
void extr_adj_0()
|
||||
{
|
||||
#ifndef SNMM
|
||||
enquecommand_P(PSTR("M701 E0"));
|
||||
#else
|
||||
change_extr(0);
|
||||
extr_adj(0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void extr_adj_1()
|
||||
{
|
||||
#ifndef SNMM
|
||||
enquecommand_P(PSTR("M701 E1"));
|
||||
#else
|
||||
change_extr(1);
|
||||
extr_adj(1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void extr_adj_2()
|
||||
{
|
||||
#ifndef SNMM
|
||||
enquecommand_P(PSTR("M701 E2"));
|
||||
#else
|
||||
change_extr(2);
|
||||
extr_adj(2);
|
||||
#endif
|
||||
}
|
||||
|
||||
void extr_adj_3()
|
||||
{
|
||||
#ifndef SNMM
|
||||
enquecommand_P(PSTR("M701 E3"));
|
||||
#else
|
||||
change_extr(3);
|
||||
extr_adj(3);
|
||||
#endif
|
||||
}
|
||||
|
||||
void extr_adj_4()
|
||||
{
|
||||
#ifndef SNMM
|
||||
enquecommand_P(PSTR("M701 E4"));
|
||||
#else
|
||||
change_extr(4);
|
||||
extr_adj(4);
|
||||
#endif
|
||||
}
|
||||
|
||||
void load_all()
|
||||
{
|
||||
#ifndef SNMM
|
||||
enquecommand_P(PSTR("M701 E0"));
|
||||
enquecommand_P(PSTR("M701 E1"));
|
||||
enquecommand_P(PSTR("M701 E2"));
|
||||
enquecommand_P(PSTR("M701 E3"));
|
||||
enquecommand_P(PSTR("M701 E4"));
|
||||
#else
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
change_extr(i);
|
||||
extr_adj(i);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//wrapper functions for changing extruders
|
||||
void extr_change_0()
|
||||
{
|
||||
change_extr(0);
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
void extr_change_1()
|
||||
{
|
||||
change_extr(1);
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
void extr_change_2()
|
||||
{
|
||||
change_extr(2);
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
void extr_change_3()
|
||||
{
|
||||
change_extr(3);
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
#ifdef SNMM
|
||||
//wrapper functions for unloading filament
|
||||
void extr_unload_all()
|
||||
{
|
||||
if (degHotend0() > EXTRUDE_MINTEMP)
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
change_extr(i);
|
||||
extr_unload();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
show_preheat_nozzle_warning();
|
||||
lcd_return_to_status();
|
||||
}
|
||||
}
|
||||
|
||||
//unloading just used filament (for snmm)
|
||||
void extr_unload_used()
|
||||
{
|
||||
if (degHotend0() > EXTRUDE_MINTEMP) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (snmm_filaments_used & (1 << i)) {
|
||||
change_extr(i);
|
||||
extr_unload();
|
||||
}
|
||||
}
|
||||
snmm_filaments_used = 0;
|
||||
}
|
||||
else {
|
||||
show_preheat_nozzle_warning();
|
||||
lcd_return_to_status();
|
||||
}
|
||||
}
|
||||
#endif //SNMM
|
||||
|
||||
void extr_unload_0()
|
||||
{
|
||||
change_extr(0);
|
||||
extr_unload();
|
||||
}
|
||||
|
||||
void extr_unload_1()
|
||||
{
|
||||
change_extr(1);
|
||||
extr_unload();
|
||||
}
|
||||
|
||||
void extr_unload_2()
|
||||
{
|
||||
change_extr(2);
|
||||
extr_unload();
|
||||
}
|
||||
|
||||
void extr_unload_3()
|
||||
{
|
||||
change_extr(3);
|
||||
extr_unload();
|
||||
}
|
||||
|
||||
void extr_unload_4()
|
||||
{
|
||||
change_extr(4);
|
||||
extr_unload();
|
||||
}
|
||||
|
||||
bool mmu_check_version()
|
||||
|
@ -101,32 +101,9 @@ extern void mmu_load_to_nozzle();
|
||||
extern void mmu_M600_load_filament(bool automatic, float nozzle_temp);
|
||||
extern void mmu_M600_wait_and_beep();
|
||||
|
||||
extern void extr_mov(float shift, float feed_rate);
|
||||
extern void change_extr(int extr);
|
||||
extern int get_ext_nr();
|
||||
extern void display_loading();
|
||||
extern void extr_adj(uint8_t extruder);
|
||||
extern void extr_unload();
|
||||
|
||||
extern void extr_adj_0();
|
||||
extern void extr_adj_1();
|
||||
extern void extr_adj_2();
|
||||
extern void extr_adj_3();
|
||||
extern void extr_adj_4();
|
||||
extern void load_all();
|
||||
extern void extr_change_0();
|
||||
extern void extr_change_1();
|
||||
extern void extr_change_2();
|
||||
extern void extr_change_3();
|
||||
#ifdef SNMM
|
||||
extern void extr_unload_all();
|
||||
extern void extr_unload_used();
|
||||
#endif //SNMM
|
||||
extern void extr_unload_0();
|
||||
extern void extr_unload_1();
|
||||
extern void extr_unload_2();
|
||||
extern void extr_unload_3();
|
||||
extern void extr_unload_4();
|
||||
|
||||
extern bool mmu_check_version();
|
||||
extern void mmu_show_warning();
|
||||
|
@ -64,11 +64,6 @@
|
||||
#define E0_MS1_PIN 65
|
||||
#define E0_MS2_PIN 66
|
||||
|
||||
#ifdef SNMM
|
||||
#define E_MUX0_PIN 17
|
||||
#define E_MUX1_PIN 16
|
||||
#endif
|
||||
|
||||
|
||||
#define MOTOR_CURRENT_PWM_XY_PIN 46
|
||||
#define MOTOR_CURRENT_PWM_Z_PIN 45
|
||||
|
@ -67,11 +67,6 @@
|
||||
#define E0_MS1_PIN 65
|
||||
#define E0_MS2_PIN 66
|
||||
|
||||
#ifdef SNMM
|
||||
#define E_MUX0_PIN 17
|
||||
#define E_MUX1_PIN 16
|
||||
#endif
|
||||
|
||||
|
||||
#define MOTOR_CURRENT_PWM_XY_PIN 46
|
||||
#define MOTOR_CURRENT_PWM_Z_PIN 45
|
||||
|
@ -446,20 +446,12 @@ FORCE_INLINE void stepper_next_block()
|
||||
}
|
||||
if ((out_bits & (1 << E_AXIS)) != 0) { // -direction
|
||||
#ifndef LIN_ADVANCE
|
||||
WRITE(E0_DIR_PIN,
|
||||
#ifdef SNMM
|
||||
(mmu_extruder == 0 || mmu_extruder == 2) ? !INVERT_E0_DIR :
|
||||
#endif // SNMM
|
||||
INVERT_E0_DIR);
|
||||
WRITE(E0_DIR_PIN, INVERT_E0_DIR);
|
||||
#endif /* LIN_ADVANCE */
|
||||
count_direction[E_AXIS] = -1;
|
||||
} else { // +direction
|
||||
#ifndef LIN_ADVANCE
|
||||
WRITE(E0_DIR_PIN,
|
||||
#ifdef SNMM
|
||||
(mmu_extruder == 0 || mmu_extruder == 2) ? INVERT_E0_DIR :
|
||||
#endif // SNMM
|
||||
!INVERT_E0_DIR);
|
||||
WRITE(E0_DIR_PIN, !INVERT_E0_DIR);
|
||||
#endif /* LIN_ADVANCE */
|
||||
count_direction[E_AXIS] = 1;
|
||||
}
|
||||
|
@ -239,18 +239,11 @@ static void lcd_detect_IRsensor();
|
||||
static void lcd_selftest_error(TestError error, const char *_error_1, const char *_error_2);
|
||||
static void lcd_colorprint_change();
|
||||
|
||||
#if defined (SNMM) || defined(SNMM_V2)
|
||||
static void fil_load_menu();
|
||||
static void fil_unload_menu();
|
||||
#endif // SNMM || SNMM_V2
|
||||
static void lcd_disable_farm_mode();
|
||||
static void lcd_set_fan_check();
|
||||
#ifdef MMU_HAS_CUTTER
|
||||
static void lcd_cutter_enabled();
|
||||
#endif
|
||||
#ifdef SNMM
|
||||
static char snmm_stop_print_menu();
|
||||
#endif //SNMM
|
||||
#ifdef SDCARD_SORT_ALPHA
|
||||
static void lcd_sort_type_set();
|
||||
#endif
|
||||
@ -889,273 +882,6 @@ void lcd_commands()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef SNMM
|
||||
if (lcd_commands_type == LcdCommands::Layer1Cal)
|
||||
{
|
||||
char cmd1[30];
|
||||
float width = 0.4;
|
||||
float length = 20 - width;
|
||||
float extr = count_e(0.2, width, length);
|
||||
float extr_short_segment = count_e(0.2, width, width);
|
||||
|
||||
if (lcd_commands_step>1) lcd_timeoutToStatus.start(); //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen
|
||||
if (lcd_commands_step == 0)
|
||||
{
|
||||
lcd_commands_step = 10;
|
||||
}
|
||||
if (lcd_commands_step == 10 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
enquecommand_P(PSTR("M107"));
|
||||
enquecommand_P(PSTR("M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP)));
|
||||
enquecommand_P(PSTR("M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP)));
|
||||
enquecommand_P(PSTR("M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP)));
|
||||
enquecommand_P(PSTR("M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP)));
|
||||
enquecommand_P(PSTR("T0"));
|
||||
enquecommand_P(_T(MSG_M117_V2_CALIBRATION));
|
||||
enquecommand_P(PSTR("G87")); //sets calibration status
|
||||
enquecommand_P(PSTR("G28"));
|
||||
enquecommand_P(PSTR("G21")); //set units to millimeters
|
||||
enquecommand_P(PSTR("G90")); //use absolute coordinates
|
||||
enquecommand_P(PSTR("M83")); //use relative distances for extrusion
|
||||
enquecommand_P(PSTR("G92 E0"));
|
||||
enquecommand_P(PSTR("M203 E100"));
|
||||
enquecommand_P(PSTR("M92 E140"));
|
||||
lcd_commands_step = 9;
|
||||
}
|
||||
if (lcd_commands_step == 9 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
enquecommand_P(PSTR("G1 Z0.250 F7200.000"));
|
||||
enquecommand_P(PSTR("G1 X50.0 E80.0 F1000.0"));
|
||||
enquecommand_P(PSTR("G1 X160.0 E20.0 F1000.0"));
|
||||
enquecommand_P(PSTR("G1 Z0.200 F7200.000"));
|
||||
enquecommand_P(PSTR("G1 X220.0 E13 F1000.0"));
|
||||
enquecommand_P(PSTR("G1 X240.0 E0 F1000.0"));
|
||||
enquecommand_P(PSTR("G92 E0.0"));
|
||||
enquecommand_P(PSTR("G21"));
|
||||
enquecommand_P(PSTR("G90"));
|
||||
enquecommand_P(PSTR("M83"));
|
||||
enquecommand_P(PSTR("G1 E-4 F2100.00000"));
|
||||
enquecommand_P(PSTR("G1 Z0.150 F7200.000"));
|
||||
enquecommand_P(PSTR("M204 S1000"));
|
||||
enquecommand_P(PSTR("G1 F4000"));
|
||||
|
||||
lcd_clear();
|
||||
menu_goto(lcd_babystep_z, 0, false, true);
|
||||
|
||||
|
||||
lcd_commands_step = 8;
|
||||
}
|
||||
if (lcd_commands_step == 8 && !blocks_queued() && cmd_buffer_empty()) //draw meander
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
|
||||
|
||||
enquecommand_P(PSTR("G1 X50 Y155"));
|
||||
enquecommand_P(PSTR("G1 X60 Y155 E4"));
|
||||
enquecommand_P(PSTR("G1 F1080"));
|
||||
enquecommand_P(PSTR("G1 X75 Y155 E2.5"));
|
||||
enquecommand_P(PSTR("G1 X100 Y155 E2"));
|
||||
enquecommand_P(PSTR("G1 X200 Y155 E2.62773"));
|
||||
enquecommand_P(PSTR("G1 X200 Y135 E0.66174"));
|
||||
enquecommand_P(PSTR("G1 X50 Y135 E3.62773"));
|
||||
enquecommand_P(PSTR("G1 X50 Y115 E0.49386"));
|
||||
enquecommand_P(PSTR("G1 X200 Y115 E3.62773"));
|
||||
enquecommand_P(PSTR("G1 X200 Y95 E0.49386"));
|
||||
enquecommand_P(PSTR("G1 X50 Y95 E3.62773"));
|
||||
enquecommand_P(PSTR("G1 X50 Y75 E0.49386"));
|
||||
enquecommand_P(PSTR("G1 X200 Y75 E3.62773"));
|
||||
enquecommand_P(PSTR("G1 X200 Y55 E0.49386"));
|
||||
enquecommand_P(PSTR("G1 X50 Y55 E3.62773"));
|
||||
|
||||
lcd_commands_step = 7;
|
||||
}
|
||||
|
||||
if (lcd_commands_step == 7 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
strcpy(cmd1, "G1 X50 Y35 E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
strcpy(cmd1, "G1 X70 Y");
|
||||
strcat(cmd1, ftostr32(35 - i*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 X50 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (i + 1)*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
}
|
||||
|
||||
lcd_commands_step = 6;
|
||||
}
|
||||
|
||||
if (lcd_commands_step == 6 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
for (int i = 4; i < 8; i++) {
|
||||
strcpy(cmd1, "G1 X70 Y");
|
||||
strcat(cmd1, ftostr32(35 - i*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 X50 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (i + 1)*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
}
|
||||
|
||||
lcd_commands_step = 5;
|
||||
}
|
||||
|
||||
if (lcd_commands_step == 5 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
for (int i = 8; i < 12; i++) {
|
||||
strcpy(cmd1, "G1 X70 Y");
|
||||
strcat(cmd1, ftostr32(35 - i*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 X50 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (i + 1)*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
}
|
||||
|
||||
lcd_commands_step = 4;
|
||||
}
|
||||
|
||||
if (lcd_commands_step == 4 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
for (int i = 12; i < 16; i++) {
|
||||
strcpy(cmd1, "G1 X70 Y");
|
||||
strcat(cmd1, ftostr32(35 - i*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 X50 Y");
|
||||
strcat(cmd1, ftostr32(35 - (2 * i + 1)*width));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr));
|
||||
enquecommand(cmd1);
|
||||
strcpy(cmd1, "G1 Y");
|
||||
strcat(cmd1, ftostr32(35 - (i + 1)*width * 2));
|
||||
strcat(cmd1, " E");
|
||||
strcat(cmd1, ftostr43(extr_short_segment));
|
||||
enquecommand(cmd1);
|
||||
}
|
||||
|
||||
lcd_commands_step = 3;
|
||||
}
|
||||
|
||||
if (lcd_commands_step == 3 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
enquecommand_P(PSTR("G1 E-0.07500 F2100.00000"));
|
||||
enquecommand_P(PSTR("G4 S0"));
|
||||
enquecommand_P(PSTR("G1 E-4 F2100.00000"));
|
||||
enquecommand_P(PSTR("G1 Z0.5 F7200.000"));
|
||||
enquecommand_P(PSTR("G1 X245 Y1"));
|
||||
enquecommand_P(PSTR("G1 X240 E4"));
|
||||
enquecommand_P(PSTR("G1 F4000"));
|
||||
enquecommand_P(PSTR("G1 X190 E2.7"));
|
||||
enquecommand_P(PSTR("G1 F4600"));
|
||||
enquecommand_P(PSTR("G1 X110 E2.8"));
|
||||
enquecommand_P(PSTR("G1 F5200"));
|
||||
enquecommand_P(PSTR("G1 X40 E3"));
|
||||
enquecommand_P(PSTR("G1 E-15.0000 F5000"));
|
||||
enquecommand_P(PSTR("G1 E-50.0000 F5400"));
|
||||
enquecommand_P(PSTR("G1 E-15.0000 F3000"));
|
||||
enquecommand_P(PSTR("G1 E-12.0000 F2000"));
|
||||
enquecommand_P(PSTR("G1 F1600"));
|
||||
|
||||
lcd_commands_step = 2;
|
||||
}
|
||||
if (lcd_commands_step == 2 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_timeoutToStatus.start();
|
||||
|
||||
enquecommand_P(PSTR("G1 X0 Y1 E3.0000"));
|
||||
enquecommand_P(PSTR("G1 X50 Y1 E-5.0000"));
|
||||
enquecommand_P(PSTR("G1 F2000"));
|
||||
enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
|
||||
enquecommand_P(PSTR("G1 X50 Y1 E-5.0000"));
|
||||
enquecommand_P(PSTR("G1 F2400"));
|
||||
enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
|
||||
enquecommand_P(PSTR("G1 X50 Y1 E-5.0000"));
|
||||
enquecommand_P(PSTR("G1 F2400"));
|
||||
enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
|
||||
enquecommand_P(PSTR("G1 X50 Y1 E-3.0000"));
|
||||
enquecommand_P(PSTR("G4 S0"));
|
||||
enquecommand_P(PSTR("M107"));
|
||||
enquecommand_P(PSTR("M104 S0"));
|
||||
enquecommand_P(PSTR("M140 S0"));
|
||||
enquecommand_P(PSTR("G1 X10 Y180 F4000"));
|
||||
enquecommand_P(PSTR("G1 Z10 F1300.000"));
|
||||
enquecommand_P(PSTR("M84"));
|
||||
|
||||
lcd_commands_step = 1;
|
||||
|
||||
}
|
||||
|
||||
if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty())
|
||||
{
|
||||
lcd_setstatuspgm(MSG_WELCOME);
|
||||
lcd_commands_step = 0;
|
||||
lcd_commands_type = 0;
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) {
|
||||
lcd_wizard(WizState::RepeatLay1Cal);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#else //if not SNMM
|
||||
|
||||
if (lcd_commands_type == LcdCommands::Layer1Cal)
|
||||
{
|
||||
char cmd1[30];
|
||||
@ -1245,8 +971,6 @@ void lcd_commands()
|
||||
}
|
||||
}
|
||||
|
||||
#endif // not SNMM
|
||||
|
||||
if (lcd_commands_type == LcdCommands::FarmModeConfirm) /// farm mode confirm
|
||||
{
|
||||
|
||||
@ -1280,11 +1004,7 @@ void lcd_commands()
|
||||
enquecommand_P(PSTR("G91"));
|
||||
enquecommand_P(PSTR("G1 Z15 F1500"));
|
||||
st_synchronize();
|
||||
#ifdef SNMM
|
||||
lcd_commands_step = 7;
|
||||
#else
|
||||
lcd_commands_step = 5;
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
@ -2443,12 +2163,7 @@ void lcd_wait_interact() {
|
||||
|
||||
lcd_clear();
|
||||
|
||||
lcd_set_cursor(0, 1);
|
||||
#ifdef SNMM
|
||||
lcd_puts_P(_i("Prepare new filament"));////MSG_PREPARE_FILAMENT c=20
|
||||
#else
|
||||
lcd_puts_P(_i("Insert filament"));////MSG_INSERT_FILAMENT c=20
|
||||
#endif
|
||||
lcd_puts_at_P(0, 1, _i("Insert filament"));////MSG_INSERT_FILAMENT c=20
|
||||
if (!fsensor_autoload_enabled) {
|
||||
lcd_puts_at_P(0, 2, _i("and press the knob"));////MSG_PRESS c=20 r=2
|
||||
}
|
||||
@ -2494,25 +2209,9 @@ void lcd_loading_filament() {
|
||||
|
||||
lcd_puts_at_P(0, 0, _T(MSG_LOADING_FILAMENT));
|
||||
lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT));
|
||||
#ifdef SNMM
|
||||
for (int i = 0; i < 20; i++) {
|
||||
|
||||
lcd_set_cursor(i, 3);
|
||||
lcd_print('.');
|
||||
for (int j = 0; j < 10 ; j++) {
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
_delay(153);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
#else //SNMM
|
||||
uint16_t slow_seq_time = (FILAMENTCHANGE_FINALFEED * 1000ul) / FILAMENTCHANGE_EFEED_FINAL;
|
||||
uint16_t fast_seq_time = (FILAMENTCHANGE_FIRSTFEED * 1000ul) / FILAMENTCHANGE_EFEED_FIRST;
|
||||
lcd_loading_progress_bar(slow_seq_time + fast_seq_time); //show progress bar for total time of filament loading fast + slow sequence
|
||||
#endif //SNMM
|
||||
}
|
||||
|
||||
|
||||
@ -4454,97 +4153,6 @@ void lcd_calibrate_pinda() {
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
#ifndef SNMM
|
||||
|
||||
/*void lcd_calibrate_extruder() {
|
||||
|
||||
if (degHotend0() > EXTRUDE_MINTEMP)
|
||||
{
|
||||
current_position[E_AXIS] = 0; //set initial position to zero
|
||||
plan_set_e_position(current_position[E_AXIS]);
|
||||
|
||||
//long steps_start = st_get_position(E_AXIS);
|
||||
|
||||
long steps_final;
|
||||
float e_steps_per_unit;
|
||||
float feedrate = (180 / axis_steps_per_unit[E_AXIS]) * 1; //3 //initial automatic extrusion feedrate (depends on current value of axis_steps_per_unit to avoid too fast extrusion)
|
||||
float e_shift_calibration = (axis_steps_per_unit[E_AXIS] > 180 ) ? ((180 / axis_steps_per_unit[E_AXIS]) * 70): 70; //length of initial automatic extrusion sequence
|
||||
const char *msg_e_cal_knob = _i("Rotate knob until mark reaches extruder body. Click when done.");////MSG_E_CAL_KNOB c=20 r=8
|
||||
const char *msg_next_e_cal_knob = lcd_display_message_fullscreen_P(msg_e_cal_knob);
|
||||
const bool multi_screen = msg_next_e_cal_knob != NULL;
|
||||
unsigned long msg_millis;
|
||||
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Mark filament 100mm from extruder body. Click when done."));////MSG_MARK_FIL c=20 r=8
|
||||
lcd_clear();
|
||||
|
||||
|
||||
lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_PLEASE_WAIT));
|
||||
current_position[E_AXIS] += e_shift_calibration;
|
||||
plan_buffer_line_curposXYZE(feedrate, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
lcd_display_message_fullscreen_P(msg_e_cal_knob);
|
||||
msg_millis = _millis();
|
||||
while (!LCD_CLICKED) {
|
||||
if (multi_screen && _millis() - msg_millis > 5000) {
|
||||
if (msg_next_e_cal_knob == NULL)
|
||||
msg_next_e_cal_knob = msg_e_cal_knob;
|
||||
msg_next_e_cal_knob = lcd_display_message_fullscreen_P(msg_next_e_cal_knob);
|
||||
msg_millis = _millis();
|
||||
}
|
||||
|
||||
//manage_inactivity(true);
|
||||
manage_heater();
|
||||
if (abs(lcd_encoder_diff) >= ENCODER_PULSES_PER_STEP) { //adjusting mark by knob rotation
|
||||
delay_keep_alive(50);
|
||||
//previous_millis_cmd = _millis();
|
||||
lcd_encoder += (lcd_encoder_diff / ENCODER_PULSES_PER_STEP);
|
||||
lcd_encoder_diff = 0;
|
||||
if (!planner_queue_full()) {
|
||||
current_position[E_AXIS] += float(abs((int)lcd_encoder)) * 0.01; //0.05
|
||||
lcd_encoder = 0;
|
||||
plan_buffer_line_curposXYZE(feedrate, active_extruder);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
steps_final = current_position[E_AXIS] * axis_steps_per_unit[E_AXIS];
|
||||
//steps_final = st_get_position(E_AXIS);
|
||||
lcd_draw_update = 1;
|
||||
e_steps_per_unit = ((float)(steps_final)) / 100.0f;
|
||||
if (e_steps_per_unit < MIN_E_STEPS_PER_UNIT) e_steps_per_unit = MIN_E_STEPS_PER_UNIT;
|
||||
if (e_steps_per_unit > MAX_E_STEPS_PER_UNIT) e_steps_per_unit = MAX_E_STEPS_PER_UNIT;
|
||||
|
||||
lcd_clear();
|
||||
|
||||
axis_steps_per_unit[E_AXIS] = e_steps_per_unit;
|
||||
enquecommand_P(PSTR("M500")); //store settings to eeprom
|
||||
|
||||
//lcd_drawedit(PSTR("Result"), ftostr31(axis_steps_per_unit[E_AXIS]));
|
||||
//delay_keep_alive(2000);
|
||||
delay_keep_alive(500);
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("E calibration finished. Please clean the nozzle. Click when done."));////MSG_CLEAN_NOZZLE_E c=20 r=8
|
||||
lcd_update_enable(true);
|
||||
lcd_draw_update = 2;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
show_preheat_nozzle_warning();
|
||||
}
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
void lcd_extr_cal_reset() {
|
||||
float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT;
|
||||
axis_steps_per_unit[E_AXIS] = tmp1[3];
|
||||
//extrudemultiply = 100;
|
||||
enquecommand_P(PSTR("M500"));
|
||||
}*/
|
||||
|
||||
#endif
|
||||
|
||||
void lcd_toshiba_flash_air_compatibility_toggle()
|
||||
{
|
||||
card.ToshibaFlashAir_enable(! card.ToshibaFlashAir_isEnabled());
|
||||
@ -4723,9 +4331,6 @@ static void lcd_wizard_load()
|
||||
lcd_update_enable(false);
|
||||
lcd_clear();
|
||||
lcd_puts_at_P(0, 2, _T(MSG_LOADING_FILAMENT));
|
||||
#ifdef SNMM
|
||||
change_extr(0);
|
||||
#endif
|
||||
loading_flag = true;
|
||||
gcode_M701();
|
||||
}
|
||||
@ -5685,11 +5290,8 @@ static void lcd_calibration_menu()
|
||||
MENU_ITEM_FUNCTION_P(_i("Calibrate XYZ"), lcd_mesh_calibration);////MSG_CALIBRATE_BED c=18
|
||||
// "Calibrate Z" with storing the reference values to EEPROM.
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_HOMEYZ), lcd_mesh_calibration_z);
|
||||
#ifndef SNMM
|
||||
//MENU_ITEM_FUNCTION_P(_i("Calibrate E"), lcd_calibrate_extruder);////MSG_CALIBRATE_E c=20
|
||||
#endif
|
||||
// "Mesh Bed Leveling"
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_MESH_BED_LEVELING), lcd_mesh_bedleveling);
|
||||
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_MESH_BED_LEVELING), lcd_mesh_bedleveling); ////MSG_MESH_BED_LEVELING c=18
|
||||
|
||||
MENU_ITEM_SUBMENU_P(_i("Bed level correct"), lcd_adjust_bed);////MSG_BED_CORRECTION_MENU c=18
|
||||
MENU_ITEM_SUBMENU_P(_i("PID calibration"), pid_extruder);////MSG_PID_EXTRUDER c=17
|
||||
@ -5697,9 +5299,6 @@ static void lcd_calibration_menu()
|
||||
MENU_ITEM_SUBMENU_P(_i("Show end stops"), menu_show_end_stops);////MSG_SHOW_END_STOPS c=18
|
||||
#endif
|
||||
MENU_ITEM_GCODE_P(_i("Reset XYZ calibr."), PSTR("M44"));////MSG_CALIBRATE_BED_RESET c=18
|
||||
#ifndef SNMM
|
||||
//MENU_ITEM_FUNCTION_P(MSG_RESET_CALIBRATE_E, lcd_extr_cal_reset);
|
||||
#endif
|
||||
if(has_temperature_compensation())
|
||||
{
|
||||
MENU_ITEM_SUBMENU_P(_i("Temp. calibration"), lcd_pinda_calibration_menu);////MSG_CALIBRATION_PINDA_MENU c=17
|
||||
@ -5709,156 +5308,6 @@ static void lcd_calibration_menu()
|
||||
MENU_END();
|
||||
}
|
||||
|
||||
void bowden_menu() {
|
||||
int enc_dif = lcd_encoder_diff;
|
||||
int cursor_pos = 0;
|
||||
lcd_clear();
|
||||
lcd_putc_at(0, 0, '>');
|
||||
for (uint_least8_t i = 0; i < 4; i++) {
|
||||
lcd_puts_at_P(1, i, PSTR("Extruder "));
|
||||
lcd_print(i);
|
||||
lcd_print(": ");
|
||||
bowden_length[i] = eeprom_read_word((uint16_t*)EEPROM_BOWDEN_LENGTH + i);
|
||||
lcd_print(bowden_length[i] - 48);
|
||||
|
||||
}
|
||||
enc_dif = lcd_encoder_diff;
|
||||
lcd_consume_click();
|
||||
while (1) {
|
||||
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
if (abs((enc_dif - lcd_encoder_diff)) > 2) {
|
||||
|
||||
if (enc_dif > lcd_encoder_diff) {
|
||||
cursor_pos--;
|
||||
}
|
||||
|
||||
if (enc_dif < lcd_encoder_diff) {
|
||||
cursor_pos++;
|
||||
}
|
||||
|
||||
if (cursor_pos > 3) {
|
||||
cursor_pos = 3;
|
||||
Sound_MakeSound(e_SOUND_TYPE_BlindAlert);
|
||||
}
|
||||
|
||||
if (cursor_pos < 0) {
|
||||
cursor_pos = 0;
|
||||
Sound_MakeSound(e_SOUND_TYPE_BlindAlert);
|
||||
}
|
||||
|
||||
lcd_puts_at_P(0, 0, PSTR(" \n \n \n "));
|
||||
lcd_putc_at(0, cursor_pos, '>');
|
||||
Sound_MakeSound(e_SOUND_TYPE_EncoderMove);
|
||||
enc_dif = lcd_encoder_diff;
|
||||
_delay(100);
|
||||
}
|
||||
|
||||
if (lcd_clicked()) {
|
||||
Sound_MakeSound(e_SOUND_TYPE_ButtonEcho);
|
||||
lcd_clear();
|
||||
while (1) {
|
||||
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
lcd_puts_at_P(1, 1, PSTR("Extruder "));
|
||||
lcd_print(cursor_pos);
|
||||
lcd_print(": ");
|
||||
lcd_set_cursor(13, 1);
|
||||
lcd_print(bowden_length[cursor_pos] - 48);
|
||||
|
||||
if (abs((enc_dif - lcd_encoder_diff)) > 2) {
|
||||
if (enc_dif > lcd_encoder_diff) {
|
||||
bowden_length[cursor_pos]--;
|
||||
lcd_set_cursor(13, 1);
|
||||
lcd_print(bowden_length[cursor_pos] - 48);
|
||||
enc_dif = lcd_encoder_diff;
|
||||
}
|
||||
|
||||
if (enc_dif < lcd_encoder_diff) {
|
||||
bowden_length[cursor_pos]++;
|
||||
lcd_set_cursor(13, 1);
|
||||
lcd_print(bowden_length[cursor_pos] - 48);
|
||||
enc_dif = lcd_encoder_diff;
|
||||
}
|
||||
}
|
||||
_delay(100);
|
||||
if (lcd_clicked()) {
|
||||
Sound_MakeSound(e_SOUND_TYPE_ButtonEcho);
|
||||
eeprom_update_word((uint16_t*)EEPROM_BOWDEN_LENGTH + cursor_pos, bowden_length[cursor_pos]);
|
||||
if (lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Continue with another bowden?"))) {
|
||||
lcd_update_enable(true);
|
||||
lcd_clear();
|
||||
enc_dif = lcd_encoder_diff;
|
||||
lcd_putc_at(0, cursor_pos, '>');
|
||||
for (uint_least8_t i = 0; i < 4; i++) {
|
||||
lcd_puts_at_P(1, i, PSTR("Extruder "));
|
||||
lcd_print(i);
|
||||
lcd_print(": ");
|
||||
bowden_length[i] = eeprom_read_word((uint16_t*)EEPROM_BOWDEN_LENGTH + i);
|
||||
lcd_print(bowden_length[i] - 48);
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
else return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef SNMM
|
||||
|
||||
static char snmm_stop_print_menu() { //menu for choosing which filaments will be unloaded in stop print
|
||||
lcd_clear();
|
||||
lcd_puts_at_P(0,0,_T(MSG_UNLOAD_FILAMENT)); lcd_print(':');
|
||||
lcd_set_cursor(0, 1); lcd_print('>');
|
||||
lcd_puts_at_P(1,2,_i("Used during print"));////MSG_USED c=19
|
||||
lcd_puts_at_P(1,3,_i("Current"));////MSG_CURRENT c=19
|
||||
char cursor_pos = 1;
|
||||
int enc_dif = 0;
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
lcd_consume_click();
|
||||
while (1) {
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
if (abs((enc_dif - lcd_encoder_diff)) > 4) {
|
||||
|
||||
if ((abs(enc_dif - lcd_encoder_diff)) > 1) {
|
||||
if (enc_dif > lcd_encoder_diff) cursor_pos--;
|
||||
if (enc_dif < lcd_encoder_diff) cursor_pos++;
|
||||
if (cursor_pos > 3) {
|
||||
cursor_pos = 3;
|
||||
Sound_MakeSound(e_SOUND_TYPE_BlindAlert);
|
||||
}
|
||||
if (cursor_pos < 1){
|
||||
cursor_pos = 1;
|
||||
Sound_MakeSound(e_SOUND_TYPE_BlindAlert);
|
||||
}
|
||||
|
||||
lcd_puts_at_P(0, 1, PSTR(" \n \n "));
|
||||
lcd_set_cursor(0, cursor_pos);
|
||||
lcd_print('>');
|
||||
enc_dif = lcd_encoder_diff;
|
||||
Sound_MakeSound(e_SOUND_TYPE_EncoderMove);
|
||||
_delay(100);
|
||||
}
|
||||
}
|
||||
if (lcd_clicked()) {
|
||||
Sound_MakeSound(e_SOUND_TYPE_ButtonEcho);
|
||||
KEEPALIVE_STATE(IN_HANDLER);
|
||||
return(cursor_pos - 1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif //SNMM
|
||||
|
||||
//! @brief Select one of numbered items
|
||||
//!
|
||||
//! Create list of items with header. Header can not be selected.
|
||||
@ -5960,20 +5409,17 @@ uint8_t choose_menu_P(const char *header, const char *item, const char *last_ite
|
||||
}
|
||||
|
||||
char reset_menu() {
|
||||
const uint8_t items_no =
|
||||
#ifdef SNMM
|
||||
6;
|
||||
#else
|
||||
5;
|
||||
#endif
|
||||
const uint8_t items_no = 5;
|
||||
static int8_t first = 0;
|
||||
int8_t enc_dif = 0;
|
||||
char cursor_pos = 0;
|
||||
|
||||
const char *const item[items_no] = {PSTR("Language"), PSTR("Statistics"), PSTR("Shipping prep"), PSTR("Service prep"), PSTR("All Data")
|
||||
#ifdef SNMM
|
||||
, PSTR("Bowden length")
|
||||
#endif
|
||||
const char *const item[items_no] = {
|
||||
PSTR("Language"),
|
||||
PSTR("Statistics"),
|
||||
PSTR("Shipping prep"),
|
||||
PSTR("Service prep"),
|
||||
PSTR("All Data"),
|
||||
};
|
||||
|
||||
enc_dif = lcd_encoder_diff;
|
||||
@ -6052,20 +5498,13 @@ static void lcd_disable_farm_mode()
|
||||
|
||||
|
||||
|
||||
static void fil_load_menu()
|
||||
static void mmu_load_filament_menu()
|
||||
{
|
||||
MENU_BEGIN();
|
||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||
MENU_ITEM_FUNCTION_P(_i("Load all"), load_all); ////MSG_LOAD_ALL c=17
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '1', extr_adj, 0); ////MSG_LOAD_FILAMENT_1 c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '2', extr_adj, 1); ////MSG_LOAD_FILAMENT_2 c=17
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '3', extr_adj, 2); ////MSG_LOAD_FILAMENT_3 c=17
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '4', extr_adj, 3); ////MSG_LOAD_FILAMENT_4 c=17
|
||||
|
||||
if (mmu_enabled)
|
||||
{
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '5', extr_adj, 4);
|
||||
}
|
||||
MENU_ITEM_FUNCTION_P(_i("Load all"), load_all); ////MSG_LOAD_ALL c=18
|
||||
for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++)
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', extr_adj, i); ////MSG_LOAD_FILAMENT c=16
|
||||
MENU_END();
|
||||
}
|
||||
|
||||
@ -6075,11 +5514,8 @@ static void mmu_load_to_nozzle_menu()
|
||||
{
|
||||
MENU_BEGIN();
|
||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '1', lcd_mmu_load_to_nozzle, 0);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '2', lcd_mmu_load_to_nozzle, 1);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '3', lcd_mmu_load_to_nozzle, 2);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '4', lcd_mmu_load_to_nozzle, 3);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '5', lcd_mmu_load_to_nozzle, 4);
|
||||
for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++)
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', lcd_mmu_load_to_nozzle, i); ////MSG_LOAD_FILAMENT c=16
|
||||
MENU_END();
|
||||
}
|
||||
else
|
||||
@ -6101,11 +5537,11 @@ static void mmu_fil_eject_menu()
|
||||
{
|
||||
MENU_BEGIN();
|
||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '1', mmu_eject_filament, 0);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '2', mmu_eject_filament, 1);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '3', mmu_eject_filament, 2);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '4', mmu_eject_filament, 3);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '5', mmu_eject_filament, 4);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '1', mmu_eject_filament, 0); ////MSG_EJECT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '2', mmu_eject_filament, 1); ////MSG_EJECT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '3', mmu_eject_filament, 2); ////MSG_EJECT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '4', mmu_eject_filament, 3); ////MSG_EJECT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), '5', mmu_eject_filament, 4); ////MSG_EJECT_FILAMENT c=16
|
||||
MENU_END();
|
||||
}
|
||||
else
|
||||
@ -6123,11 +5559,11 @@ static void mmu_cut_filament_menu()
|
||||
{
|
||||
MENU_BEGIN();
|
||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '1', mmu_cut_filament, 0);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '2', mmu_cut_filament, 1);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '3', mmu_cut_filament, 2);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '4', mmu_cut_filament, 3);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '5', mmu_cut_filament, 4);
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '1', mmu_cut_filament, 0); ////MSG_CUT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '2', mmu_cut_filament, 1); ////MSG_CUT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '3', mmu_cut_filament, 2); ////MSG_CUT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '4', mmu_cut_filament, 3); ////MSG_CUT_FILAMENT c=16
|
||||
MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), '5', mmu_cut_filament, 4); ////MSG_CUT_FILAMENT c=16
|
||||
MENU_END();
|
||||
}
|
||||
else
|
||||
@ -6144,35 +5580,6 @@ static void mmu_cut_filament_menu()
|
||||
}
|
||||
#endif //MMU_HAS_CUTTER
|
||||
|
||||
#ifdef SNMM
|
||||
static void fil_unload_menu()
|
||||
{
|
||||
MENU_BEGIN();
|
||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||
MENU_ITEM_FUNCTION_P(_i("Unload all"), extr_unload_all);////MSG_UNLOAD_ALL c=17
|
||||
MENU_ITEM_FUNCTION_P(_i("Unload filament 1"), extr_unload_0);////MSG_UNLOAD_FILAMENT_1 c=17
|
||||
MENU_ITEM_FUNCTION_P(_i("Unload filament 2"), extr_unload_1);////MSG_UNLOAD_FILAMENT_2 c=17
|
||||
MENU_ITEM_FUNCTION_P(_i("Unload filament 3"), extr_unload_2);////MSG_UNLOAD_FILAMENT_3 c=17
|
||||
MENU_ITEM_FUNCTION_P(_i("Unload filament 4"), extr_unload_3);////MSG_UNLOAD_FILAMENT_4 c=17
|
||||
|
||||
if (mmu_enabled)
|
||||
MENU_ITEM_FUNCTION_P(_i("Unload filament 5"), extr_unload_4);////MSG_UNLOAD_FILAMENT_5 c=17
|
||||
|
||||
MENU_END();
|
||||
}
|
||||
|
||||
|
||||
static void change_extr_menu(){
|
||||
MENU_BEGIN();
|
||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||
MENU_ITEM_FUNCTION_P(_i("Extruder 1"), extr_change_0);////MSG_EXTRUDER_1 c=17
|
||||
MENU_ITEM_FUNCTION_P(_i("Extruder 2"), extr_change_1);////MSG_EXTRUDER_2 c=17
|
||||
MENU_ITEM_FUNCTION_P(_i("Extruder 3"), extr_change_2);////MSG_EXTRUDER_3 c=17
|
||||
MENU_ITEM_FUNCTION_P(_i("Extruder 4"), extr_change_3);////MSG_EXTRUDER_4 c=17
|
||||
|
||||
MENU_END();
|
||||
}
|
||||
#endif //SNMM
|
||||
|
||||
// unload filament for single material printer (used in M702 gcode)
|
||||
// @param automatic: If true, unload_filament is part of a unload+load sequence (M600)
|
||||
@ -6526,20 +5933,14 @@ static void lcd_main_menu()
|
||||
|
||||
if ( ! ( IS_SD_PRINTING || usb_timer.running() || (lcd_commands_type == LcdCommands::Layer1Cal) ) ) {
|
||||
if (mmu_enabled) {
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_LOAD_FILAMENT), fil_load_menu);
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_LOAD_FILAMENT), mmu_load_filament_menu);
|
||||
MENU_ITEM_SUBMENU_P(_i("Load to nozzle"), mmu_load_to_nozzle_menu);////MSG_LOAD_TO_NOZZLE c=18
|
||||
//-// MENU_ITEM_FUNCTION_P(_T(MSG_UNLOAD_FILAMENT), extr_unload);
|
||||
//bFilamentFirstRun=true;
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_UNLOAD_FILAMENT), mmu_unload_filament);
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_EJECT_FILAMENT), mmu_fil_eject_menu);
|
||||
#ifdef MMU_HAS_CUTTER
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_CUT_FILAMENT), mmu_cut_filament_menu);
|
||||
#endif //MMU_HAS_CUTTER
|
||||
} else {
|
||||
#ifdef SNMM
|
||||
MENU_ITEM_SUBMENU_P(_T(MSG_UNLOAD_FILAMENT), fil_unload_menu);
|
||||
MENU_ITEM_SUBMENU_P(_i("Change extruder"), change_extr_menu);////MSG_CHANGE_EXTR c=20
|
||||
#endif
|
||||
#ifdef FILAMENT_SENSOR
|
||||
if ((fsensor_autoload_enabled == true) && (fsensor_enabled == true) && (mmu_enabled == false))
|
||||
MENU_ITEM_SUBMENU_P(_i("AutoLoad filament"), lcd_menu_AutoLoadFilament);////MSG_AUTOLOAD_FILAMENT c=18
|
||||
|
@ -189,12 +189,9 @@ void unload_filament(bool automatic = false);
|
||||
void lcd_printer_connected();
|
||||
void lcd_ping();
|
||||
|
||||
void lcd_calibrate_extruder();
|
||||
|
||||
void lcd_wait_for_heater();
|
||||
void lcd_wait_for_cool_down();
|
||||
void lcd_move_e(); // NOT static due to usage in Marlin_main
|
||||
void lcd_extr_cal_reset();
|
||||
|
||||
void lcd_temp_cal_show_result(bool result);
|
||||
#ifdef PINDA_THERMISTOR
|
||||
@ -202,7 +199,6 @@ bool lcd_wait_for_pinda(float temp);
|
||||
#endif //PINDA_THERMISTOR
|
||||
|
||||
|
||||
void bowden_menu();
|
||||
char reset_menu();
|
||||
uint8_t choose_menu_P(const char *header, const char *item, const char *last_item = nullptr);
|
||||
|
||||
|
@ -24,9 +24,6 @@ GENERAL SETTINGS
|
||||
// Electronics
|
||||
#define MOTHERBOARD BOARD_RAMBO_MINI_1_0
|
||||
|
||||
// Prusa Single extruder multiple material suport
|
||||
//#define SNMM
|
||||
|
||||
// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier)
|
||||
//#define E3D_PT100_EXTRUDER_WITH_AMP
|
||||
//#define E3D_PT100_EXTRUDER_NO_AMP
|
||||
@ -39,11 +36,7 @@ AXIS SETTINGS
|
||||
*------------------------------------*/
|
||||
|
||||
// Steps per unit {X,Y,Z,E}
|
||||
#ifdef SNMM
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140}
|
||||
#else
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3}
|
||||
#endif
|
||||
|
||||
|
||||
// Endstop inverting
|
||||
@ -157,18 +150,6 @@ EXTRUDER SETTINGS
|
||||
#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed
|
||||
|
||||
|
||||
#ifdef SNMM
|
||||
//#define BOWDEN_LENGTH 408
|
||||
#define BOWDEN_LENGTH 433 //default total length for filament fast loading part; max length for extrusion is 465 mm!; this length can be adjusted in service menu
|
||||
#define FIL_LOAD_LENGTH 102 //length for loading filament into the nozzle
|
||||
#define FIL_COOLING 10 //length for cooling moves
|
||||
#define E_MOTOR_LOW_CURRENT 350 // current for PRUSAY code
|
||||
#define E_MOTOR_HIGH_CURRENT 700 //current for unloading filament, stop print, PRUSAY ramming
|
||||
#endif //SNMM
|
||||
|
||||
//#define DIS //for measuring bed heigth and PINDa detection heigth relative to auto home point, experimental function
|
||||
|
||||
|
||||
/*------------------------------------
|
||||
CHANGE FILAMENT SETTINGS
|
||||
*------------------------------------*/
|
||||
@ -460,11 +441,11 @@ THERMISTORS SETTINGS
|
||||
|
||||
#define M600_TIMEOUT 600 //seconds
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 132
|
||||
|
||||
#ifndef SNMM
|
||||
//#define SUPPORT_VERBOSITY
|
||||
#endif
|
||||
|
||||
#define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning
|
||||
|
||||
|
@ -24,9 +24,6 @@ GENERAL SETTINGS
|
||||
// Electronics
|
||||
#define MOTHERBOARD BOARD_RAMBO_MINI_1_3
|
||||
|
||||
// Prusa Single extruder multiple material suport
|
||||
//#define SNMM
|
||||
|
||||
// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier)
|
||||
//#define E3D_PT100_EXTRUDER_WITH_AMP
|
||||
//#define E3D_PT100_EXTRUDER_NO_AMP
|
||||
@ -39,11 +36,7 @@ AXIS SETTINGS
|
||||
*------------------------------------*/
|
||||
|
||||
// Steps per unit {X,Y,Z,E}
|
||||
#ifdef SNMM
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140}
|
||||
#else
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3}
|
||||
#endif
|
||||
|
||||
|
||||
// Endstop inverting
|
||||
@ -156,18 +149,6 @@ EXTRUDER SETTINGS
|
||||
#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed
|
||||
|
||||
|
||||
#ifdef SNMM
|
||||
//#define BOWDEN_LENGTH 408
|
||||
#define BOWDEN_LENGTH 433 //default total length for filament fast loading part; max length for extrusion is 465 mm!; this length can be adjusted in service menu
|
||||
#define FIL_LOAD_LENGTH 102 //length for loading filament into the nozzle
|
||||
#define FIL_COOLING 10 //length for cooling moves
|
||||
#define E_MOTOR_LOW_CURRENT 350 // current for PRUSAY code
|
||||
#define E_MOTOR_HIGH_CURRENT 700 //current for unloading filament, stop print, PRUSAY ramming
|
||||
#endif //SNMM
|
||||
|
||||
//#define DIS //for measuring bed heigth and PINDa detection heigth relative to auto home point, experimental function
|
||||
|
||||
|
||||
/*------------------------------------
|
||||
CHANGE FILAMENT SETTINGS
|
||||
*------------------------------------*/
|
||||
@ -449,11 +430,11 @@ THERMISTORS SETTINGS
|
||||
|
||||
#define M600_TIMEOUT 600 //seconds
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 132
|
||||
|
||||
#ifndef SNMM
|
||||
//#define SUPPORT_VERBOSITY
|
||||
#endif
|
||||
|
||||
#define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning
|
||||
|
||||
|
@ -516,6 +516,8 @@
|
||||
|
||||
//#define SUPPORT_VERBOSITY
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 132
|
||||
#define MMU_FORCE_STEALTH_MODE
|
||||
#define MMU_DEBUG //print communication between MMU2 and printer on serial
|
||||
|
@ -517,6 +517,8 @@
|
||||
|
||||
//#define SUPPORT_VERBOSITY
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 132
|
||||
#define MMU_FORCE_STEALTH_MODE
|
||||
#define MMU_DEBUG //print communication between MMU2 and printer on serial
|
||||
|
@ -516,6 +516,8 @@
|
||||
|
||||
//#define SUPPORT_VERBOSITY
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 132
|
||||
#define MMU_FORCE_STEALTH_MODE
|
||||
#define MMU_DEBUG //print communication between MMU2 and printer on serial
|
||||
|
@ -517,6 +517,8 @@
|
||||
|
||||
//#define SUPPORT_VERBOSITY
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 132
|
||||
#define MMU_FORCE_STEALTH_MODE
|
||||
#define MMU_DEBUG //print communication between MMU2 and printer on serial
|
||||
|
@ -663,6 +663,8 @@
|
||||
|
||||
//#define SUPPORT_VERBOSITY
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 83
|
||||
#define MMU_HWRESET
|
||||
#define MMU_DEBUG //print communication between MMU2 and printer on serial
|
||||
|
@ -667,6 +667,8 @@
|
||||
|
||||
//#define SUPPORT_VERBOSITY
|
||||
|
||||
#define MMU_FILAMENT_COUNT 5
|
||||
|
||||
#define MMU_REQUIRED_FW_BUILDNR 83
|
||||
#define MMU_HWRESET
|
||||
#define MMU_DEBUG //print communication between MMU2 and printer on serial
|
||||
|
@ -922,7 +922,7 @@
|
||||
#MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
|
||||
#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
|
||||
|
@ -1230,7 +1230,7 @@
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
"Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
"Zavest vse"
|
||||
|
||||
|
@ -1230,7 +1230,7 @@
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
"XYZ-Kalibrierung beeintraechtigt. Rechter vorderer Kalibrierpunkt nicht erreichbar."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
"Alle laden"
|
||||
|
||||
|
@ -1230,7 +1230,7 @@
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
"Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
"Intr. todos fil."
|
||||
|
||||
|
@ -1230,7 +1230,7 @@
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
"Calibration XYZ compromise. Le point de calibration avant droit n'est pas atteignable."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
"Charger un par un"
|
||||
|
||||
|
@ -1230,7 +1230,7 @@
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
"Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
"Caricare tutti"
|
||||
|
||||
|
@ -1230,7 +1230,7 @@
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
"XYZ-kalibratie niet gelukt. Rechter voor kalibratiepunt niet bereikbaar."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
"Laad alle"
|
||||
|
||||
|
@ -1230,7 +1230,7 @@
|
||||
"XYZ calibration compromised. Right front calibration point not reachable."
|
||||
"Kalibracja XYZ niedokladna. Prawy przedni punkt nieosiagalny."
|
||||
|
||||
#MSG_LOAD_ALL c=17
|
||||
#MSG_LOAD_ALL c=18
|
||||
"Load all"
|
||||
"Zalad. wszystkie"
|
||||
|
||||
|
@ -1555,7 +1555,7 @@ msgstr ""
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr ""
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr ""
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Zavest vse"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "XYZ-Kalibrierung beeintraechtigt. Vordere Kalibrierpunkte nicht erreichb
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "XYZ-Kalibrierung beeintraechtigt. Rechter vorderer Kalibrierpunkt nicht erreichbar."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Alle laden"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Calibrazion XYZ comprometida. Puntos frontales no alcanzables."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Intr. todos fil."
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Calibration XYZ compromise. Les points de calibration en avant ne sont p
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Calibration XYZ compromise. Le point de calibration avant droit n'est pas atteignable."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Charger un par un"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Caricare tutti"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "XYZ-kalibratie niet gelukt. Voorste kalibratiepunten niet bereikbaar."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "XYZ-kalibratie niet gelukt. Rechter voor kalibratiepunt niet bereikbaar."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Laad alle"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Kalibr. XYZ niedokladna. Przednie punkty kalibr. nieosiagalne."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Kalibracja XYZ niedokladna. Prawy przedni punkt nieosiagalny."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Zalad. wszystkie"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Zavest vse"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "XYZ-Kalibrierung beeintraechtigt. Vordere Kalibrierpunkte nicht erreichb
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "XYZ-Kalibrierung beeintraechtigt. Rechter vorderer Kalibrierpunkt nicht erreichbar."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Alle laden"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Calibrazion XYZ comprometida. Puntos frontales no alcanzables."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Intr. todos fil."
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Calibration XYZ compromise. Les points de calibration en avant ne sont p
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Calibration XYZ compromise. Le point de calibration avant droit n'est pas atteignable."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Charger un par un"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Caricare tutti"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "XYZ-kalibratie niet gelukt. Voorste kalibratiepunten niet bereikbaar."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "XYZ-kalibratie niet gelukt. Rechter voor kalibratiepunt niet bereikbaar."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Laad alle"
|
||||
|
@ -1555,7 +1555,7 @@ msgstr "Kalibr. XYZ niedokladna. Przednie punkty kalibr. nieosiagalne."
|
||||
msgid "XYZ calibration compromised. Right front calibration point not reachable."
|
||||
msgstr "Kalibracja XYZ niedokladna. Prawy przedni punkt nieosiagalny."
|
||||
|
||||
# MSG_LOAD_ALL c=17
|
||||
# MSG_LOAD_ALL c=18
|
||||
#: ultralcd.cpp:6167
|
||||
msgid "Load all"
|
||||
msgstr "Zalad. wszystkie"
|
||||
|
Loading…
Reference in New Issue
Block a user