Merge pull request #2982 from DRracer/codesize

Reduce code size and RAM usage
This commit is contained in:
DRracer 2021-01-26 12:04:39 +01:00 committed by GitHub
commit 891f37a622
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 14425 additions and 14597 deletions

View File

@ -204,7 +204,7 @@ extern float axis_steps_per_unit[NUM_AXIS];
*/
void dcode__1()
{
printf_P(PSTR("D-1 - Endless loop\n"));
DBG(_N("D-1 - Endless loop\n"));
// cli();
while (1);
}
@ -380,7 +380,7 @@ void dcode_4()
*/
void dcode_5()
{
printf_P(PSTR("D5 - Read/Write FLASH\n"));
puts_P(PSTR("D5 - Read/Write FLASH"));
uint32_t address = 0x0000; //default 0x0000
uint16_t count = 0x0400; //default 0x0400 (1kb block)
if (code_seen('A')) // Address (0x00000-0x3ffff)
@ -481,7 +481,7 @@ void dcode_7()
*/
void dcode_8()
{
printf_P(PSTR("D8 - Read/Write PINDA\n"));
puts_P(PSTR("D8 - Read/Write PINDA"));
uint8_t cal_status = calibration_status_pinda();
float temp_pinda = current_temperature_pinda;
float offset_z = temp_compensation_pinda_thermistor_offset(temp_pinda);
@ -587,7 +587,7 @@ uint16_t dcode_9_ADC_val(uint8_t i)
void dcode_9()
{
printf_P(PSTR("D9 - Read/Write ADC\n"));
puts_P(PSTR("D9 - Read/Write ADC"));
if ((strchr_pointer[1+1] == '?') || (strchr_pointer[1+1] == 0))
{
for (uint8_t i = 0; i < ADC_CHAN_CNT; i++)
@ -784,7 +784,7 @@ extern void st_synchronize();
*/
void dcode_2130()
{
printf_P(PSTR("D2130 - TMC2130\n"));
puts_P(PSTR("D2130 - TMC2130"));
uint8_t axis = 0xff;
switch (strchr_pointer[1+4])
{

View File

@ -359,7 +359,7 @@ void MarlinSerial::printFloat(double number, uint8_t digits)
// Print the decimal point, but only if there are digits beyond
if (digits > 0)
print(".");
print('.');
// Extract digits from the remainder one at a time
while (digits-- > 0)

View File

@ -308,6 +308,7 @@ uint8_t host_keepalive_interval = HOST_KEEPALIVE_INTERVAL;
const char errormagic[] PROGMEM = "Error:";
const char echomagic[] PROGMEM = "echo:";
const char G28W0[] PROGMEM = "G28 W0";
bool no_response = false;
uint8_t important_status;
@ -1016,10 +1017,10 @@ uint8_t lang_xflash_enum_codes(uint16_t* codes)
w25x20cl_rd_data(addr, (uint8_t*)&header, sizeof(lang_table_header_t));
if (header.magic != LANG_MAGIC)
{
printf_P(_n("NG!\n"));
puts_P(_n("NG!"));
break;
}
printf_P(_n("OK\n"));
puts_P(_n("OK"));
printf_P(_n(" _lt_magic = 0x%08lx %S\n"), header.magic, (header.magic==LANG_MAGIC)?_n("OK"):_n("NA"));
printf_P(_n(" _lt_size = 0x%04x (%d)\n"), header.size, header.size);
printf_P(_n(" _lt_count = 0x%04x (%d)\n"), header.count, header.count);
@ -1129,7 +1130,7 @@ void setup()
SERIAL_PROTOCOLLNPGM("start");
#endif
SERIAL_ECHO_START;
printf_P(PSTR(" " FW_VERSION_FULL "\n"));
puts_P(PSTR(" " FW_VERSION_FULL));
//SERIAL_ECHOPAIR("Active sheet before:", static_cast<unsigned long int>(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet))));
@ -1219,12 +1220,12 @@ void setup()
printf_P(_n("_SEC_LANG_TABLE checksum = %04x\n"), sum);
sum = (sum >> 8) | ((sum & 0xff) << 8); //swap bytes
if (sum == header.checksum)
printf_P(_n("Checksum OK\n"), sum);
puts_P(_n("Checksum OK"), sum);
else
printf_P(_n("Checksum NG\n"), sum);
puts_P(_n("Checksum NG"), sum);
}
else
printf_P(_n("lang_get_header failed!\n"));
puts_P(_n("lang_get_header failed!"));
#if 0
for (uint16_t i = 0; i < 1024*10; i++)
@ -1304,7 +1305,7 @@ void setup()
else
{
w25x20cl_err_msg();
printf_P(_n("W25X20CL not responding.\n"));
puts_P(_n("W25X20CL not responding."));
}
#ifdef EXTRUDER_ALTFAN_DETECT
SERIAL_ECHORPGM(_n("Extruder fan type: "));
@ -2181,7 +2182,7 @@ bool check_commands() {
while (buflen)
{
if ((code_seen("M84")) || (code_seen("M 84"))) end_command_found = true;
if ((code_seen_P(PSTR("M84"))) || (code_seen_P(PSTR("M 84")))) end_command_found = true;
if (!cmdbuffer_front_already_processed)
cmdqueue_pop_front();
cmdbuffer_front_already_processed = false;
@ -2685,7 +2686,7 @@ void gcode_M105(uint8_t extruder)
}
}
#endif
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
#ifdef TMC2130
@ -3218,7 +3219,7 @@ void gcode_M114()
SERIAL_PROTOCOLPGM(" E:");
SERIAL_PROTOCOL(float(st_get_position(E_AXIS)) / cs.axis_steps_per_unit[E_AXIS]);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
#if (defined(FANCHECK) && (((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1)))))
@ -3309,8 +3310,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
if (lcd_change_fil_state == 0)
{
lcd_clear();
lcd_set_cursor(0, 2);
lcd_puts_P(_T(MSG_PLEASE_WAIT));
lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT));
current_position[X_AXIS] -= 100;
plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED);
st_synchronize();
@ -3326,8 +3326,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
if (saved_printing) {
lcd_clear();
lcd_set_cursor(0, 2);
lcd_puts_P(_T(MSG_PLEASE_WAIT));
lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT));
mmu_command(MmuCmd::R0);
manage_response(false, false);
@ -3803,7 +3802,7 @@ void process_commands()
- TMC_SET_STEP
- TMC_SET_CHOP
*/
if (code_seen("M117")) { //moved to highest priority place to be able to to print strings which includes "G", "PRUSA" and "^"
if (code_seen_P(PSTR("M117"))) { //moved to highest priority place to be able to to print strings which includes "G", "PRUSA" and "^"
starpos = (strchr(strchr_pointer + 5, '*'));
if (starpos != NULL)
*(starpos) = '\0';
@ -3816,7 +3815,7 @@ void process_commands()
// ### CRASH_DETECTED - TMC2130
// ---------------------------------
if(code_seen("CRASH_DETECTED"))
if(code_seen_P(PSTR("CRASH_DETECTED")))
{
uint8_t mask = 0;
if (code_seen('X')) mask |= X_AXIS_MASK;
@ -3826,12 +3825,12 @@ void process_commands()
// ### CRASH_RECOVER - TMC2130
// ----------------------------------
else if(code_seen("CRASH_RECOVER"))
else if(code_seen_P(PSTR("CRASH_RECOVER")))
crashdet_recover();
// ### CRASH_CANCEL - TMC2130
// ----------------------------------
else if(code_seen("CRASH_CANCEL"))
else if(code_seen_P(PSTR("CRASH_CANCEL")))
crashdet_cancel();
}
else if (strncmp_P(CMDBUFFER_CURRENT_STRING, PSTR("TMC_"), 4) == 0)
@ -3917,7 +3916,7 @@ void process_commands()
}
#endif //BACKLASH_Y
#endif //TMC2130
else if(code_seen("PRUSA")){
else if(code_seen_P(PSTR("PRUSA"))){
/*!
---------------------------------------------------------------------------------
### PRUSA - Internal command set <a href="https://reprap.org/wiki/G-code#G98:_Activate_farm_mode">G98: Activate farm mode - Notes</a>
@ -3950,33 +3949,33 @@ void process_commands()
*/
if (code_seen("Ping")) { // PRUSA Ping
if (code_seen_P(PSTR("Ping"))) { // PRUSA Ping
if (farm_mode) {
PingTime = _millis();
}
}
else if (code_seen("PRN")) { // PRUSA PRN
else if (code_seen_P(PSTR("PRN"))) { // PRUSA PRN
printf_P(_N("%d"), status_number);
} else if( code_seen("FANPINTST") ){
} else if( code_seen_P(PSTR("FANPINTST"))){
gcode_PRUSA_BadRAMBoFanTest();
}else if (code_seen("FAN")) { // PRUSA FAN
}else if (code_seen_P(PSTR("FAN"))) { // PRUSA FAN
printf_P(_N("E0:%d RPM\nPRN0:%d RPM\n"), 60*fan_speed[0], 60*fan_speed[1]);
}
else if (code_seen("thx")) // PRUSA thx
else if (code_seen_P(PSTR("thx"))) // PRUSA thx
{
no_response = false;
}
else if (code_seen("uvlo")) // PRUSA uvlo
else if (code_seen_P(PSTR("uvlo"))) // PRUSA uvlo
{
eeprom_update_byte((uint8_t*)EEPROM_UVLO,0);
enquecommand_P(PSTR("M24"));
}
else if (code_seen("MMURES")) // PRUSA MMURES
else if (code_seen_P(PSTR("MMURES"))) // PRUSA MMURES
{
mmu_reset();
}
else if (code_seen("RESET")) { // PRUSA RESET
else if (code_seen_P(PSTR("RESET"))) { // PRUSA RESET
#ifdef WATCHDOG
#if defined(W25X20CL) && defined(BOOTAPP)
boot_app_magic = BOOT_APP_MAGIC;
@ -3986,7 +3985,7 @@ void process_commands()
#elif defined(BOOTAPP) //this is a safety precaution. This is because the new bootloader turns off the heaters, but the old one doesn't. The watchdog should be used most of the time.
asm volatile("jmp 0x3E000");
#endif
}else if (code_seen("fv")) { // PRUSA fv
}else if (code_seen_P("fv")) { // PRUSA fv
// get file version
#ifdef SDSUPPORT
card.openFile(strchr_pointer + 3,true);
@ -4001,38 +4000,38 @@ void process_commands()
#endif // SDSUPPORT
} else if (code_seen("M28")) { // PRUSA M28
} else if (code_seen_P(PSTR("M28"))) { // PRUSA M28
trace();
prusa_sd_card_upload = true;
card.openFile(strchr_pointer+4,false);
} else if (code_seen("SN")) { // PRUSA SN
} else if (code_seen_P(PSTR("SN"))) { // PRUSA SN
gcode_PRUSA_SN();
} else if(code_seen("Fir")){ // PRUSA Fir
} else if(code_seen_P(PSTR("Fir"))){ // PRUSA Fir
SERIAL_PROTOCOLLN(FW_VERSION_FULL);
} else if(code_seen("Rev")){ // PRUSA Rev
} else if(code_seen_P(PSTR("Rev"))){ // PRUSA Rev
SERIAL_PROTOCOLLN(FILAMENT_SIZE "-" ELECTRONICS "-" NOZZLE_TYPE );
} else if(code_seen("Lang")) { // PRUSA Lang
} else if(code_seen_P(PSTR("Lang"))) { // PRUSA Lang
lang_reset();
} else if(code_seen("Lz")) { // PRUSA Lz
} else if(code_seen_P(PSTR("Lz"))) { // PRUSA Lz
eeprom_update_word(reinterpret_cast<uint16_t *>(&(EEPROM_Sheets_base->s[(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))].z_offset)),0);
} else if(code_seen("Beat")) { // PRUSA Beat
} else if(code_seen_P(PSTR("Beat"))) { // PRUSA Beat
// Kick farm link timer
kicktime = _millis();
} else if(code_seen("FR")) { // PRUSA FR
} else if(code_seen_P(PSTR("FR"))) { // PRUSA FR
// Factory full reset
factory_reset(0);
} else if(code_seen("MBL")) { // PRUSA MBL
} else if(code_seen_P(PSTR("MBL"))) { // PRUSA MBL
// Change the MBL status without changing the logical Z position.
if(code_seen("V")) {
if(code_seen('V')) {
bool value = code_value_short();
st_synchronize();
if(value != mbl.active) {
@ -4057,14 +4056,14 @@ eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODE,0xFF);
eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,0xFF);
eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF);
*/
} else if (code_seen("nozzle")) { // PRUSA nozzle
} else if (code_seen_P(PSTR("nozzle"))) { // PRUSA nozzle
uint16_t nDiameter;
if(code_seen('D'))
{
nDiameter=(uint16_t)(code_value()*1000.0+0.5); // [,um]
nozzle_diameter_check(nDiameter);
}
else if(code_seen("set") && farm_mode)
else if(code_seen_P(PSTR("set")) && farm_mode)
{
strchr_pointer++; // skip 1st char (~ 's')
strchr_pointer++; // skip 2nd char (~ 'e')
@ -4774,7 +4773,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
// Push the commands to the front of the message queue in the reverse order!
// There shall be always enough space reserved for these commands.
repeatcommand_front(); // repeat G76 with all its parameters
enquecommand_front_P((PSTR("G28 W0")));
enquecommand_front_P(G28W0);
break;
}
lcd_show_fullscreen_message_and_wait_P(_i("Stable ambient temperature 21-26C is needed a rigid stand is required."));////MSG_TEMP_CAL_WARNING c=20 r=4
@ -4915,7 +4914,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
// Push the commands to the front of the message queue in the reverse order!
// There shall be always enough space reserved for these commands.
repeatcommand_front(); // repeat G76 with all its parameters
enquecommand_front_P((PSTR("G28 W0")));
enquecommand_front_P(G28W0);
break;
}
puts_P(_N("PINDA probe calibration start"));
@ -5064,7 +5063,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
// Push the commands to the front of the message queue in the reverse order!
// There shall be always enough space reserved for these commands.
repeatcommand_front(); // repeat G80 with all its parameters
enquecommand_front_P((PSTR("G28 W0")));
enquecommand_front_P(G28W0);
break;
}
@ -5097,7 +5096,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
temp_compensation_start();
run = true;
repeatcommand_front(); // repeat G80 with all its parameters
enquecommand_front_P((PSTR("G28 W0")));
enquecommand_front_P(G28W0);
break;
}
run = false;
@ -5225,12 +5224,12 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
break;
}
if (MESH_HOME_Z_SEARCH - current_position[Z_AXIS] < 0.1f) {
printf_P(PSTR("Bed leveling failed. Sensor disconnected or cable broken.\n"));
puts_P(PSTR("Bed leveling failed. Sensor disconnected or cable broken."));
break;
}
}
if (has_z && fabs(z0 - current_position[Z_AXIS]) > Z_CALIBRATION_THRESHOLD) { //if we have data from z calibration, max. allowed difference is 1mm for each point
printf_P(PSTR("Bed leveling failed. Sensor triggered too high.\n"));
puts_P(PSTR("Bed leveling failed. Sensor triggered too high."));
break;
}
#ifdef SUPPORT_VERBOSITY
@ -6041,22 +6040,21 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
// M46: Prusa3D: Show the assigned IP address.
if (card.ToshibaFlashAir_isEnabled()) {
uint8_t ip[4];
bool hasIP = card.ToshibaFlashAir_GetIP(ip);
if (hasIP) {
if (card.ToshibaFlashAir_GetIP(ip)) {
// SERIAL_PROTOCOLPGM("Toshiba FlashAir current IP: ");
SERIAL_PROTOCOL(int(ip[0]));
SERIAL_PROTOCOLPGM(".");
SERIAL_PROTOCOL(int(ip[1]));
SERIAL_PROTOCOLPGM(".");
SERIAL_PROTOCOL(int(ip[2]));
SERIAL_PROTOCOLPGM(".");
SERIAL_PROTOCOL(int(ip[3]));
SERIAL_PROTOCOLPGM("\n");
SERIAL_PROTOCOL(uint8_t(ip[0]));
SERIAL_PROTOCOL('.');
SERIAL_PROTOCOL(uint8_t(ip[1]));
SERIAL_PROTOCOL('.');
SERIAL_PROTOCOL(uint8_t(ip[2]));
SERIAL_PROTOCOL('.');
SERIAL_PROTOCOL(uint8_t(ip[3]));
SERIAL_PROTOCOLLN();
} else {
SERIAL_PROTOCOLPGM("?Toshiba FlashAir GetIP failed\n");
}
} else {
SERIAL_PROTOCOLPGM("n/a\n");
SERIAL_PROTOCOLLNPGM("n/a");
}
break;
}
@ -6617,7 +6615,7 @@ Sigma_Exit:
SERIAL_PROTOCOL((int)active_extruder);
SERIAL_PROTOCOLPGM(" B:");
SERIAL_PROTOCOL_F(degBed(), 1);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
codenum = _millis();
@ -6887,7 +6885,7 @@ Sigma_Exit:
else {
SERIAL_ECHO_START;
SERIAL_ECHOPAIR("M113 S", (unsigned long)host_keepalive_interval);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
break;
@ -6981,7 +6979,7 @@ Sigma_Exit:
*/
case 119:
SERIAL_PROTOCOLRPGM(_N("Reporting endstop status"));////MSG_M119_REPORT
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#if defined(X_MIN_PIN) && X_MIN_PIN > -1
SERIAL_PROTOCOLRPGM(_n("x_min: "));////MSG_X_MIN
if(READ(X_MIN_PIN)^X_MIN_ENDSTOP_INVERTING){
@ -6989,7 +6987,7 @@ Sigma_Exit:
}else{
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_OPEN);
}
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#endif
#if defined(X_MAX_PIN) && X_MAX_PIN > -1
SERIAL_PROTOCOLRPGM(_n("x_max: "));////MSG_X_MAX
@ -6998,7 +6996,7 @@ Sigma_Exit:
}else{
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_OPEN);
}
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#endif
#if defined(Y_MIN_PIN) && Y_MIN_PIN > -1
SERIAL_PROTOCOLRPGM(_n("y_min: "));////MSG_Y_MIN
@ -7007,7 +7005,7 @@ Sigma_Exit:
}else{
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_OPEN);
}
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#endif
#if defined(Y_MAX_PIN) && Y_MAX_PIN > -1
SERIAL_PROTOCOLRPGM(_n("y_max: "));////MSG_Y_MAX
@ -7016,7 +7014,7 @@ Sigma_Exit:
}else{
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_OPEN);
}
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#endif
#if defined(Z_MIN_PIN) && Z_MIN_PIN > -1
SERIAL_PROTOCOLRPGM(MSG_Z_MIN);
@ -7025,7 +7023,7 @@ Sigma_Exit:
}else{
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_OPEN);
}
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#endif
#if defined(Z_MAX_PIN) && Z_MAX_PIN > -1
SERIAL_PROTOCOLRPGM(MSG_Z_MAX);
@ -7034,7 +7032,7 @@ Sigma_Exit:
}else{
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_OPEN);
}
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#endif
break;
//!@todo update for all axes, use for loop
@ -7182,7 +7180,7 @@ Sigma_Exit:
For each axis individually.
*/
case 203: // M203 max feedrate mm/sec
for (int8_t i = 0; i < NUM_AXIS; i++)
for (uint8_t i = 0; i < NUM_AXIS; i++)
{
if (code_seen(axis_codes[i]))
{
@ -7303,7 +7301,7 @@ Sigma_Exit:
- `Z` - Z axis offset
*/
case 206:
for(int8_t i=0; i < 3; i++)
for(uint8_t i=0; i < 3; i++)
{
if(code_seen(axis_codes[i])) cs.add_homing[i] = code_value();
}
@ -7626,7 +7624,7 @@ Sigma_Exit:
SERIAL_PROTOCOL(servo_index);
SERIAL_PROTOCOL(": ");
SERIAL_PROTOCOL(servos[servo_index].read());
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
}
break;
@ -7702,7 +7700,7 @@ Sigma_Exit:
//Kc does not have scaling applied above, or in resetting defaults
SERIAL_PROTOCOL(Kc);
#endif
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
break;
#endif //PIDTEMP
@ -7735,7 +7733,7 @@ Sigma_Exit:
SERIAL_PROTOCOL(unscalePID_i(cs.bedKi));
SERIAL_PROTOCOL(" d:");
SERIAL_PROTOCOL(unscalePID_d(cs.bedKd));
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
break;
#endif //PIDTEMP
@ -7958,7 +7956,7 @@ Sigma_Exit:
cs.zprobe_zoffset = -value; // compare w/ line 278 of ConfigurationStore.cpp
SERIAL_ECHO_START;
SERIAL_ECHOLNRPGM(CAT4(MSG_ZPROBE_ZOFFSET, " ", MSG_OK,PSTR("")));
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
else
{
@ -7968,7 +7966,7 @@ Sigma_Exit:
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MIN);
SERIAL_ECHORPGM(MSG_Z_MAX);
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MAX);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
}
else
@ -7976,7 +7974,7 @@ Sigma_Exit:
SERIAL_ECHO_START;
SERIAL_ECHOLNRPGM(CAT2(MSG_ZPROBE_ZOFFSET, PSTR(" : ")));
SERIAL_ECHO(-cs.zprobe_zoffset);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
break;
}
@ -8065,7 +8063,7 @@ Sigma_Exit:
#endif
}
if (mmu_enabled && code_seen("AUTO"))
if (mmu_enabled && code_seen_P(PSTR("AUTO")))
automatic = true;
gcode_M600(automatic, x_position, y_position, z_shift, e_shift_init, e_shift_late);
@ -8139,7 +8137,7 @@ Sigma_Exit:
SERIAL_PROTOCOLPGM("Wait for PINDA target temperature:");
SERIAL_PROTOCOL(set_target_pinda);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
codenum = _millis();
cancel_heatup = false;
@ -8198,7 +8196,7 @@ Sigma_Exit:
SERIAL_PROTOCOL(usteps);
SERIAL_PROTOCOLPGM(", ");
SERIAL_PROTOCOL(mm * 1000);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
}
else if (code_seen('!')) { // ! - Set factory default values
@ -8241,7 +8239,7 @@ Sigma_Exit:
SERIAL_PROTOCOL(usteps);
SERIAL_PROTOCOLPGM(", ");
SERIAL_PROTOCOL(mm * 1000);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
}
}
@ -8776,6 +8774,8 @@ Sigma_Exit:
*/
else if(code_seen('T'))
{
static const char duplicate_Tcode_ignored[] PROGMEM = "Duplicate T-code ignored.";
int index;
bool load_to_nozzle = false;
for (index = 1; *(strchr_pointer + index) == ' ' || *(strchr_pointer + index) == '\t'; index++);
@ -8791,7 +8791,7 @@ Sigma_Exit:
tmp_extruder = choose_menu_P(_T(MSG_CHOOSE_FILAMENT), _T(MSG_FILAMENT));
if ((tmp_extruder == mmu_extruder) && mmu_fil_loaded) //dont execute the same T-code twice in a row
{
printf_P(PSTR("Duplicate T-code ignored.\n"));
puts_P(duplicate_Tcode_ignored);
}
else
{
@ -8836,7 +8836,7 @@ Sigma_Exit:
{
if ((tmp_extruder == mmu_extruder) && mmu_fil_loaded) //dont execute the same T-code twice in a row
{
printf_P(PSTR("Duplicate T-code ignored.\n"));
puts_P(duplicate_Tcode_ignored);
}
else
{
@ -10139,7 +10139,7 @@ static void wait_for_heater(long codenum, uint8_t extruder) {
}
}
#else
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
#endif
codenum = _millis();
}
@ -10446,7 +10446,7 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
// There shall be always enough space reserved for these commands.
repeatcommand_front(); // repeat G80 with all its parameters
enquecommand_front_P((PSTR("G28 W0")));
enquecommand_front_P(G28W0);
enquecommand_front_P((PSTR("G1 Z5")));
return;
}
@ -10762,7 +10762,7 @@ void serialecho_temperatures() {
SERIAL_PROTOCOL((int)active_extruder);
SERIAL_PROTOCOLPGM(" B:");
SERIAL_PROTOCOL_F(degBed(), 1);
SERIAL_PROTOCOLLN("");
SERIAL_PROTOCOLLN();
}
#ifdef UVLO_SUPPORT

View File

@ -19,7 +19,7 @@ uint16_t adc_sim_mask;
void adc_init(void)
{
printf_P(PSTR("adc_init\n"));
puts_P(PSTR("adc_init"));
adc_sim_mask = 0x00;
ADCSRA |= (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
ADMUX |= (1 << REFS0);

View File

@ -441,7 +441,7 @@ void CardReader::openFile(const char* name,bool read, bool replace_current/*=tru
SERIAL_PROTOCOLLNRPGM(_N("File selected"));////MSG_SD_FILE_SELECTED
getfilename(0, fname);
lcd_setstatus(longFilename[0] ? longFilename : fname);
lcd_setstatus("SD-PRINTING ");
lcd_setstatuspgm(PSTR("SD-PRINTING"));
}
else
{
@ -492,7 +492,7 @@ void CardReader::removeFile(const char* name)
{
SERIAL_PROTOCOLPGM("Deletion failed, File: ");
SERIAL_PROTOCOL(fname);
SERIAL_PROTOCOLLNPGM(".");
SERIAL_PROTOCOLLN('.');
}
}
@ -560,7 +560,7 @@ void CardReader::write_command_no_newline(char *buf)
{
SERIAL_ERROR_START;
SERIAL_ERRORLNRPGM(MSG_SD_ERR_WRITE_TO_FILE);
MYSERIAL.println("An error while writing to the SD Card.");
SERIAL_PROTOCOLLNPGM("An error while writing to the SD Card.");
}
}
@ -887,8 +887,7 @@ void CardReader::presort() {
for (int column = 0; column < 20; column++) {
if (column < (percent / 5))
{
lcd_set_cursor(column, 2);
lcd_print('\x01'); //simple progress bar
lcd_putc_at(column, 2, '\x01'); //simple progress bar
}
}
counter++;
@ -966,8 +965,7 @@ void CardReader::presort() {
#if !SDSORT_USES_RAM //show progresss bar only if slow sorting method is used
for (int column = 0; column <= 19; column++)
{
lcd_set_cursor(column, 2);
lcd_print('\x01'); //simple progress bar
lcd_putc_at(column, 2, '\x01'); //simple progress bar
}
_delay(300);
lcd_set_degree();

View File

@ -75,7 +75,7 @@ extern uint16_t cmdqueue_calc_sd_length();
// Return True if a character was found
static inline bool code_seen(char code) { return (strchr_pointer = strchr(CMDBUFFER_CURRENT_STRING, code)) != NULL; }
static inline bool code_seen(const char *code) { return (strchr_pointer = strstr(CMDBUFFER_CURRENT_STRING, code)) != NULL; }
static inline bool code_seen_P(const char *code_PROGMEM) { return (strchr_pointer = strstr_P(CMDBUFFER_CURRENT_STRING, code_PROGMEM)) != NULL; }
static inline float code_value() { return strtod(strchr_pointer+1, NULL);}
static inline long code_value_long() { return strtol(strchr_pointer+1, NULL, 10); }
static inline int16_t code_value_short() { return int16_t(strtol(strchr_pointer+1, NULL, 10)); };

View File

@ -129,7 +129,7 @@ unsigned long nIRsensorLastTime;
void fsensor_stop_and_save_print(void)
{
printf_P(PSTR("fsensor_stop_and_save_print\n"));
puts_P(PSTR("fsensor_stop_and_save_print"));
stop_and_save_print_to_ram(0, 0);
fsensor_watch_runout = false;
}
@ -152,7 +152,7 @@ void fsensor_set_axis_steps_per_unit(float u)
void fsensor_restore_print_and_continue(void)
{
printf_P(PSTR("fsensor_restore_print_and_continue\n"));
puts_P(PSTR("fsensor_restore_print_and_continue"));
fsensor_watch_runout = true;
#ifdef PAT9125
fsensor_reset_err_cnt();
@ -164,7 +164,7 @@ void fsensor_restore_print_and_continue(void)
// allowing new instructions to be inserted in the middle
void fsensor_checkpoint_print(void)
{
printf_P(PSTR("fsensor_checkpoint_print\n"));
puts_P(PSTR("fsensor_checkpoint_print"));
stop_and_save_print_to_ram(0, 0);
restore_print_from_ram_and_continue(0);
}
@ -414,7 +414,7 @@ void fsensor_oq_meassure_start(uint8_t skip)
{
if (!fsensor_enabled) return;
if (!fsensor_oq_meassure_enabled) return;
printf_P(PSTR("fsensor_oq_meassure_start\n"));
puts_P(PSTR("fsensor_oq_meassure_start"));
fsensor_oq_skipchunk = skip;
fsensor_oq_samples = 0;
fsensor_oq_st_sum = 0;
@ -447,7 +447,7 @@ bool fsensor_oq_result(void)
{
if (!fsensor_enabled) return true;
if (!fsensor_oq_meassure_enabled) return true;
printf_P(_N("fsensor_oq_result\n"));
puts_P(_N("fsensor_oq_result"));
bool res_er_sum = (fsensor_oq_er_sum <= FSENSOR_OQ_MAX_ES);
printf_P(_N(" er_sum = %u %S\n"), fsensor_oq_er_sum, (res_er_sum?_OK:_NG));
bool res_er_max = (fsensor_oq_er_max <= FSENSOR_OQ_MAX_EM);
@ -616,7 +616,7 @@ void fsensor_st_block_chunk(int cnt)
//! Common code for enqueing M600 and supplemental codes into the command queue.
//! Used both for the IR sensor and the PAT9125
void fsensor_enque_M600(){
printf_P(PSTR("fsensor_update - M600\n"));
puts_P(PSTR("fsensor_update - M600"));
eeprom_update_byte((uint8_t*)EEPROM_FERROR_COUNT, eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT) + 1);
eeprom_update_word((uint16_t*)EEPROM_FERROR_COUNT_TOT, eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT) + 1);
enquecommand_front_P((PSTR("M600")));
@ -670,7 +670,7 @@ void fsensor_update(void)
fsensor_softfail_ccnt = 0;
if (!err && fsensor_softfail_ccnt <= FSENSOR_SOFTERR_CMAX)
{
printf_P(PSTR("fsensor_err_cnt = 0\n"));
puts_P(PSTR("fsensor_err_cnt = 0"));
++fsensor_softfail;
++fsensor_softfail_ccnt;
fsensor_softfail_last = now;
@ -757,19 +757,19 @@ bool fsensor_IR_check(){
/// Or the user is so creative so that he can hold a piece of fillament in the hole in such a genius way,
/// that the IR fsensor reading is within 1.5 and 3V ... this would have been highly unusual
/// and would have been considered more like a sabotage than normal printer operation
printf_P(PSTR("fsensor in forbidden range 1.5-3V - check sensor\n"));
puts_P(PSTR("fsensor in forbidden range 1.5-3V - check sensor"));
return false;
}
if( oFsensorPCB == ClFsensorPCB::_Rev04 ){
/// newer IR sensor cannot normally produce 4.6-5V, this is considered a failure/bad mount
if( IRsensor_Hopen_TRESHOLD <= current_voltage_raw_IR && current_voltage_raw_IR <= IRsensor_VMax_TRESHOLD ){
printf_P(PSTR("fsensor v0.4 in fault range 4.6-5V - unconnected\n"));
puts_P(PSTR("fsensor v0.4 in fault range 4.6-5V - unconnected"));
return false;
}
/// newer IR sensor cannot normally produce 0-0.3V, this is considered a failure
#if 0 //Disabled as it has to be decided if we gonna use this or not.
if( IRsensor_Hopen_TRESHOLD <= current_voltage_raw_IR && current_voltage_raw_IR <= IRsensor_VMax_TRESHOLD ){
printf_P(PSTR("fsensor v0.4 in fault range 0.0-0.3V - wrong IR sensor\n"));
puts_P(PSTR("fsensor v0.4 in fault range 0.0-0.3V - wrong IR sensor"));
return false;
}
#endif
@ -777,7 +777,7 @@ bool fsensor_IR_check(){
/// If IR sensor is "uknown state" and filament is not loaded > 1.5V return false
#if 0
if( (oFsensorPCB == ClFsensorPCB::_Undef) && ( current_voltage_raw_IR > IRsensor_Lmax_TRESHOLD ) ){
printf_P(PSTR("Unknown IR sensor version and no filament loaded detected.\n"));
puts_P(PSTR("Unknown IR sensor version and no filament loaded detected."));
return false;
}
#endif

View File

@ -486,11 +486,17 @@ void lcd_escape_write(uint8_t chr)
#endif //VT100
int lcd_putc(int c)
int lcd_putc(char c)
{
return fputc(c, lcdout);
}
int lcd_putc_at(uint8_t c, uint8_t r, char ch)
{
lcd_set_cursor(c, r);
return fputc(ch, lcdout);
}
int lcd_puts_P(const char* str)
{
return fputs_P(str, lcdout);

View File

@ -40,7 +40,10 @@ extern void lcd_set_cursor(uint8_t col, uint8_t row);
extern void lcd_createChar_P(uint8_t, const uint8_t*);
extern int lcd_putc(int c);
// char c is non-standard, however it saves 1B on stack
extern int lcd_putc(char c);
extern int lcd_putc_at(uint8_t c, uint8_t r, char ch);
extern int lcd_puts_P(const char* str);
extern int lcd_puts_at_P(uint8_t c, uint8_t r, const char* str);
extern int lcd_printf_P(const char* format, ...);

View File

@ -252,8 +252,7 @@ static void menu_draw_item_puts_P(char type_char, const char* str, char num)
lcd_set_cursor(0, menu_row);
lcd_printf_P(PSTR("%c%-.16S "), menu_selection_mark(), str);
lcd_putc(num);
lcd_set_cursor(19, menu_row);
lcd_putc(type_char);
lcd_putc_at(19, menu_row, type_char);
}
/*
@ -312,7 +311,7 @@ uint8_t menu_item_submenu_E(const Sheet &sheet, menu_func_t submenu)
return 0;
}
uint8_t menu_item_function_E(const Sheet &sheet, menu_func_t func)
uint8_t __attribute__((noinline)) menu_item_function_E(const Sheet &sheet, menu_func_t func)
{
if (menu_item == menu_line)
{
@ -346,6 +345,10 @@ uint8_t menu_item_back_P(const char* str)
return 0;
}
bool __attribute__((noinline)) menu_item_leave(){
return ((menu_item == menu_line) && menu_clicked && (lcd_encoder == menu_item)) || menu_leaving;
}
uint8_t menu_item_function_P(const char* str, menu_func_t func)
{
if (menu_item == menu_line)

View File

@ -112,7 +112,8 @@ extern uint8_t menu_item_function_E(const Sheet &sheet, menu_func_t func);
extern uint8_t menu_item_back_P(const char* str);
// leaving menu - this condition must be immediately before MENU_ITEM_BACK_P
#define ON_MENU_LEAVE(func) do { if (((menu_item == menu_line) && menu_clicked && (lcd_encoder == menu_item)) || menu_leaving){ func } } while (0)
#define ON_MENU_LEAVE(func) do { if (menu_item_leave()){ func } } while (0)
extern bool menu_item_leave();
#define MENU_ITEM_FUNCTION_P(str, func) do { if (menu_item_function_P(str, func)) return; } while (0)
extern uint8_t menu_item_function_P(const char* str, menu_func_t func);

View File

@ -16,17 +16,24 @@ const char MSG_BED_DONE[] PROGMEM_I1 = ISTR("Bed done"); ////
const char MSG_BED_HEATING[] PROGMEM_I1 = ISTR("Bed Heating"); ////
const char MSG_BED_LEVELING_FAILED_POINT_LOW[] PROGMEM_I1 = ISTR("Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."); ////c=20 r=5
const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED[] PROGMEM_I1 = ISTR("XYZ calibration failed. Please consult the manual."); ////c=20 r=8
const char MSG_BELT_STATUS[] PROGMEM_I1 = ISTR("Belt Status");////c=18
const char MSG_CALIBRATE_Z_AUTO[] PROGMEM_I1 = ISTR("Calibrating Z"); ////c=20 r=2
const char MSG_CARD_MENU[] PROGMEM_I1 = ISTR("Print from SD"); ////
const char MSG_CHECKING_X[] PROGMEM_I1 = ISTR("Checking X axis"); ////c=20
const char MSG_CHECKING_Y[] PROGMEM_I1 = ISTR("Checking Y axis"); ////c=20
const char MSG_CONFIRM_NOZZLE_CLEAN[] PROGMEM_I1 = ISTR("Please clean the nozzle for calibration. Click when done."); ////c=20 r=8
const char MSG_COOLDOWN[] PROGMEM_I1 = ISTR("Cooldown"); ////
const char MSG_CRASH[] PROGMEM_I1 = ISTR("Crash"); ////c=7
const char MSG_CRASH_DETECTED[] PROGMEM_I1 = ISTR("Crash detected."); ////c=20 r=1
const char MSG_CRASHDETECT[] PROGMEM_I1 = ISTR("Crash det."); ////c=13
const char MSG_ERROR[] PROGMEM_I1 = ISTR("ERROR:"); ////
const char MSG_EXTRUDER[] PROGMEM_I1 = ISTR("Extruder"); ////c=17 r=1
const char MSG_EXTRUDER[] PROGMEM_I1 = ISTR("Extruder"); ////c=17
const char MSG_FANS_CHECK[] PROGMEM_I1 = ISTR("Fans check"); ////c=13
const char MSG_FIL_RUNOUTS[] PROGMEM_I1 = ISTR("Fil. runouts"); ////c=14
const char MSG_FILAMENT[] PROGMEM_I1 = ISTR("Filament"); ////c=17 r=1
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
@ -44,6 +51,8 @@ const char MSG_HEATING_COMPLETE[] PROGMEM_I1 = ISTR("Heating done."); ////c=20
const char MSG_HOMEYZ[] PROGMEM_I1 = ISTR("Calibrate Z"); ////
const char MSG_CHOOSE_EXTRUDER[] PROGMEM_I1 = ISTR("Choose extruder:"); ////c=20 r=1
const char MSG_CHOOSE_FILAMENT[] PROGMEM_I1 = ISTR("Choose filament:"); ////c=20 r=1
const char MSG_LAST_PRINT[] PROGMEM_I1 = ISTR("Last print"); ////c=18
const char MSG_LAST_PRINT_FAILURES[] PROGMEM_I1 = ISTR("Last print failures"); ////c=20
const char MSG_LOAD_FILAMENT[] PROGMEM_I1 = ISTR("Load filament"); //// Number 1 to 5 is added behind text e.g. "Load filament 1" c=16
const char MSG_LOADING_FILAMENT[] PROGMEM_I1 = ISTR("Loading filament"); ////c=20
const char MSG_EJECT_FILAMENT[] PROGMEM_I1 = ISTR("Eject filament"); //// Number 1 to 5 is added behind text e.g. "Eject filament 1" c=16
@ -52,22 +61,28 @@ const char MSG_M117_V2_CALIBRATION[] PROGMEM_I1 = ISTR("M117 First layer cal.");
const char MSG_MAIN[] PROGMEM_I1 = ISTR("Main"); ////
const char MSG_BACK[] PROGMEM_I1 = ISTR("Back"); ////
const char MSG_SHEET[] PROGMEM_I1 = ISTR("Sheet"); ////c=10
const char MSG_STEEL_SHEETS[] PROGMEM_I1 = ISTR("Steel sheets"); ////c=18
const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1[] PROGMEM_I1 = ISTR("Measuring reference height of calibration point"); ////c=60
const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2[] PROGMEM_I1 = ISTR(" of 9"); ////c=14
const char MSG_MENU_CALIBRATION[] PROGMEM_I1 = ISTR("Calibration"); ////
const char MSG_MMU_FAILS[] PROGMEM_I1 = ISTR("MMU fails"); ////c=14
const char MSG_MMU_LOAD_FAILS[] PROGMEM_I1 = ISTR("MMU load fails"); ////c=14
const char MSG_NO[] PROGMEM_I1 = ISTR("No"); ////
const char MSG_NOZZLE[] PROGMEM_I1 = ISTR("Nozzle"); ////
const char MSG_PAPER[] PROGMEM_I1 = ISTR("Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately."); ////c=20 r=10
const char MSG_PLACE_STEEL_SHEET[] PROGMEM_I1 = ISTR("Please place steel sheet on heatbed."); ////c=20 r=4
const char MSG_PLEASE_WAIT[] PROGMEM_I1 = ISTR("Please wait"); ////c=20
const char MSG_POWER_FAILURES[] PROGMEM_I1 = ISTR("Power failures"); ////c=14
const char MSG_PREHEAT_NOZZLE[] PROGMEM_I1 = ISTR("Preheat the nozzle!"); ////c=20
const char MSG_PRESS_TO_UNLOAD[] PROGMEM_I1 = ISTR("Please press the knob to unload filament"); ////c=20 r=4
const char MSG_PRINT_ABORTED[] PROGMEM_I1 = ISTR("Print aborted"); ////c=20
const char MSG_PULL_OUT_FILAMENT[] PROGMEM_I1 = ISTR("Please pull out filament immediately"); ////c=20 r=4
const char MSG_RECOVER_PRINT[] PROGMEM_I1 = ISTR("Blackout occurred. Recover print?"); ////c=20 r=2
const char MSG_REFRESH[] PROGMEM_I1 = ISTR("\xF8" "Refresh"); ////
const char MSG_RESUMING_PRINT[] PROGMEM_I1 = ISTR("Resuming print"); ////
const char MSG_REMOVE_STEEL_SHEET[] PROGMEM_I1 = ISTR("Please remove steel sheet from heatbed."); ////c=20 r=4
const char MSG_RESET[] PROGMEM_I1 = ISTR("Reset"); ////c=14
const char MSG_RESUME_PRINT[] PROGMEM_I1 = ISTR("Resume print"); ////c=18
const char MSG_RESUMING_PRINT[] PROGMEM_I1 = ISTR("Resuming print"); ////
const char MSG_SELFTEST_COOLING_FAN[] PROGMEM_I1 = ISTR("Front print fan?"); ////c=20
const char MSG_SELFTEST_EXTRUDER_FAN[] PROGMEM_I1 = ISTR("Left hotend fan?"); ////c=20
const char MSG_SELFTEST_FAILED[] PROGMEM_I1 = ISTR("Selftest failed "); ////c=20
@ -80,7 +95,9 @@ const char MSG_SELFTEST_MOTOR[] PROGMEM_I1 = ISTR("Motor"); ////
const char MSG_SELFTEST_FILAMENT_SENSOR[] PROGMEM_I1 = ISTR("Filament sensor"); ////c=17
const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////
const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////
const char MSG_HW_SETUP[] PROGMEM_I1 = ISTR("HW Setup"); ////
const char MSG_TOTAL[] PROGMEM_I1 = ISTR("Total"); ////c=6
const char MSG_TOTAL_FAILURES[] PROGMEM_I1 = ISTR("Total failures"); ////c=20
const char MSG_HW_SETUP[] PROGMEM_I1 = ISTR("HW Setup"); ////c=18
const char MSG_MODE[] PROGMEM_I1 = ISTR("Mode"); ////
const char MSG_HIGH_POWER[] PROGMEM_I1 = ISTR("High power"); ////
const char MSG_AUTO_POWER[] PROGMEM_I1 = ISTR("Auto power"); ////
@ -113,6 +130,8 @@ const char MSG_STRICT[] PROGMEM_I1 = ISTR("Strict"); ////
const char MSG_MODEL[] PROGMEM_I1 = ISTR("Model"); ////
const char MSG_FIRMWARE[] PROGMEM_I1 = ISTR("Firmware"); ////
const char MSG_GCODE[] PROGMEM_I1 = ISTR("Gcode"); ////
const char MSG_GCODE_DIFF_PRINTER_CONTINUE[] PROGMEM_I1 = ISTR("G-code sliced for a different printer type. Continue?"); ////c=20 r=5
const char MSG_GCODE_DIFF_PRINTER_CANCELLED[] PROGMEM_I1 =ISTR("G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."); ////c=20 r=6
const char MSG_NOZZLE_DIAMETER[] PROGMEM_I1 = ISTR("Nozzle d."); ////
const char MSG_MMU_MODE[] PROGMEM_I1 = ISTR("MMU Mode"); ////
const char MSG_SD_CARD[] PROGMEM_I1 = ISTR("SD card"); ////
@ -126,6 +145,7 @@ const char MSG_SOUND_LOUD[] PROGMEM_I1 = ISTR("Loud"); ////
const char MSG_SOUND_ONCE[] PROGMEM_I1 = ISTR("Once"); ////
const char MSG_SOUND_BLIND[] PROGMEM_I1 = ISTR("Assist"); ////
const char MSG_MESH[] PROGMEM_I1 = ISTR("Mesh"); ////
const char MSG_MESH_BED_LEVELING[] PROGMEM_I1 = ISTR("Mesh Bed Leveling"); ////c=18
const char MSG_Z_PROBE_NR[] PROGMEM_I1 = ISTR("Z-probe nr."); ////
const char MSG_MAGNETS_COMP[] PROGMEM_I1 = ISTR("Magnets comp."); ////
const char MSG_FS_ACTION[] PROGMEM_I1 = ISTR("FS Action"); ////c=10

View File

@ -17,17 +17,24 @@ extern const char MSG_BED_DONE[];
extern const char MSG_BED_HEATING[];
extern const char MSG_BED_LEVELING_FAILED_POINT_LOW[];
extern const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED[];
extern const char MSG_BELT_STATUS[];
extern const char MSG_CALIBRATE_Z_AUTO[];
extern const char MSG_CARD_MENU[];
extern const char MSG_CHECKING_X[];
extern const char MSG_CHECKING_Y[];
extern const char MSG_CONFIRM_NOZZLE_CLEAN[];
extern const char MSG_COOLDOWN[];
extern const char MSG_CRASH[];
extern const char MSG_CRASH_DETECTED[];
extern const char MSG_CRASHDETECT[];
extern const char MSG_ERROR[];
extern const char MSG_EXTRUDER[];
extern const char MSG_FANS_CHECK[];
extern const char MSG_FIL_RUNOUTS[];
extern const char MSG_FILAMENT[];
extern const char MSG_FAN_SPEED[];
extern const char MSG_FILAMENT_CLEAN[];
extern const char MSG_FILAMENT_LOADED[];
extern const char MSG_FILAMENT_LOADING_T0[];
extern const char MSG_FILAMENT_LOADING_T1[];
extern const char MSG_FILAMENT_LOADING_T2[];
@ -45,20 +52,26 @@ extern const char MSG_HEATING_COMPLETE[];
extern const char MSG_HOMEYZ[];
extern const char MSG_CHOOSE_EXTRUDER[];
extern const char MSG_CHOOSE_FILAMENT[];
extern const char MSG_LAST_PRINT[];
extern const char MSG_LAST_PRINT_FAILURES[];
extern const char MSG_LOAD_FILAMENT[];
extern const char MSG_LOADING_FILAMENT[];
extern const char MSG_M117_V2_CALIBRATION[];
extern const char MSG_MAIN[];
extern const char MSG_BACK[];
extern const char MSG_SHEET[];
extern const char MSG_STEEL_SHEETS[];
extern const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1[];
extern const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2[];
extern const char MSG_MENU_CALIBRATION[];
extern const char MSG_MMU_FAILS[];
extern const char MSG_MMU_LOAD_FAILS[];
extern const char MSG_NO[];
extern const char MSG_NOZZLE[];
extern const char MSG_PAPER[];
extern const char MSG_PLACE_STEEL_SHEET[];
extern const char MSG_PLEASE_WAIT[];
extern const char MSG_POWER_FAILURES[];
extern const char MSG_PREHEAT_NOZZLE[];
extern const char MSG_PRESS_TO_UNLOAD[];
extern const char MSG_PRINT_ABORTED[];
@ -66,6 +79,8 @@ extern const char MSG_PULL_OUT_FILAMENT[];
extern const char MSG_RECOVER_PRINT[];
extern const char MSG_REFRESH[];
extern const char MSG_REMOVE_STEEL_SHEET[];
extern const char MSG_RESET[];
extern const char MSG_RESUME_PRINT[];
extern const char MSG_RESUMING_PRINT[];
extern const char MSG_SD_WORKDIR_FAIL[];
extern const char MSG_SELFTEST_COOLING_FAN[];
@ -80,6 +95,8 @@ extern const char MSG_SELFTEST_MOTOR[];
extern const char MSG_SELFTEST_FILAMENT_SENSOR[];
extern const char MSG_SELFTEST_WIRINGERROR[];
extern const char MSG_SETTINGS[];
extern const char MSG_TOTAL[];
extern const char MSG_TOTAL_FAILURES[];
extern const char MSG_HW_SETUP[];
extern const char MSG_MODE[];
extern const char MSG_HIGH_POWER[];
@ -113,6 +130,8 @@ extern const char MSG_STRICT[];
extern const char MSG_MODEL[];
extern const char MSG_FIRMWARE[];
extern const char MSG_GCODE[];
extern const char MSG_GCODE_DIFF_PRINTER_CONTINUE[];
extern const char MSG_GCODE_DIFF_PRINTER_CANCELLED[];
extern const char MSG_NOZZLE_DIAMETER[];
extern const char MSG_MMU_MODE[];
extern const char MSG_SD_CARD[];
@ -126,6 +145,7 @@ extern const char MSG_SOUND_LOUD[];
extern const char MSG_SOUND_ONCE[];
extern const char MSG_SOUND_BLIND[];
extern const char MSG_MESH[];
extern const char MSG_MESH_BED_LEVELING[];
extern const char MSG_Z_PROBE_NR[];
extern const char MSG_MAGNETS_COMP[];
extern const char MSG_FS_ACTION[];

View File

@ -567,11 +567,11 @@ bool can_extrude()
static void get_response_print_info(uint8_t move) {
printf_P(PSTR("mmu_get_response - begin move: "), move);
switch (move) {
case MMU_LOAD_MOVE: printf_P(PSTR("load\n")); break;
case MMU_UNLOAD_MOVE: printf_P(PSTR("unload\n")); break;
case MMU_TCODE_MOVE: printf_P(PSTR("T-code\n")); break;
case MMU_NO_MOVE: printf_P(PSTR("no move\n")); break;
default: printf_P(PSTR("error: unknown move\n")); break;
case MMU_LOAD_MOVE: puts_P(PSTR("load")); break;
case MMU_UNLOAD_MOVE: puts_P(PSTR("unload")); break;
case MMU_TCODE_MOVE: puts_P(PSTR("T-code")); break;
case MMU_NO_MOVE: puts_P(PSTR("no move")); break;
default: puts_P(PSTR("error: unknown move")); break;
}
}
@ -602,7 +602,7 @@ bool mmu_get_response(uint8_t move)
{
if (can_extrude())
{
printf_P(PSTR("Unload 1\n"));
puts_P(PSTR("Unload 1"));
current_position[E_AXIS] = current_position[E_AXIS] - MMU_LOAD_FEEDRATE * MMU_LOAD_TIME_MS*0.001;
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE);
st_synchronize();
@ -610,7 +610,7 @@ bool mmu_get_response(uint8_t move)
}
else //filament was unloaded from idler, no additional movements needed
{
printf_P(PSTR("Unloading finished 1\n"));
puts_P(PSTR("Unloading finished 1"));
disable_e0(); //turn off E-stepper to prevent overheating and alow filament pull-out if necessary
move = MMU_NO_MOVE;
}
@ -620,7 +620,7 @@ bool mmu_get_response(uint8_t move)
{
if (can_extrude())
{
printf_P(PSTR("Unload 2\n"));
puts_P(PSTR("Unload 2"));
current_position[E_AXIS] = current_position[E_AXIS] - MMU_LOAD_FEEDRATE * MMU_LOAD_TIME_MS*0.001;
plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE);
st_synchronize();
@ -628,7 +628,7 @@ bool mmu_get_response(uint8_t move)
}
else //delay to allow mmu unit to pull out filament from bondtech gears and then start with infinite loading
{
printf_P(PSTR("Unloading finished 2\n"));
puts_P(PSTR("Unloading finished 2"));
disable_e0(); //turn off E-stepper to prevent overheating and alow filament pull-out if necessary
delay_keep_alive(MMU_LOAD_TIME_MS);
move = MMU_LOAD_MOVE;
@ -689,7 +689,7 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move)
}
st_synchronize();
mmu_print_saved = true;
printf_P(PSTR("MMU not responding\n"));
puts_P(PSTR("MMU not responding"));
KEEPALIVE_STATE(PAUSED_FOR_USER);
hotend_temp_bckp = degTargetHotend(active_extruder);
if (move_axes) {
@ -746,7 +746,7 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move)
}
}
else if (mmu_print_saved) {
printf_P(PSTR("MMU starts responding\n"));
puts_P(PSTR("MMU starts responding"));
KEEPALIVE_STATE(IN_HANDLER);
mmu_loading_flag = false;
if (turn_off_nozzle)
@ -878,8 +878,8 @@ void mmu_M600_load_filament(bool automatic, float nozzle_temp)
}
lcd_update_enable(false);
lcd_clear();
lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_LOADING_FILAMENT));
lcd_print(" ");
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
@ -991,10 +991,10 @@ void extr_adj(uint8_t extruder) //loading filament for SNMM
lcd_update_enable(false);
lcd_clear();
lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_LOADING_FILAMENT));
lcd_puts_at_P(0, 1, _T(MSG_LOADING_FILAMENT));
//if(strlen(_T(MSG_LOADING_FILAMENT))>18) lcd.setCursor(0, 1);
//else lcd.print(" ");
lcd_print(" ");
lcd_print(' ');
lcd_print(extruder + 1);
// get response
@ -1034,7 +1034,7 @@ void extr_adj(uint8_t extruder) //loading filament for SNMM
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(" ");
else lcd_print(' ');
lcd_print(mmu_extruder + 1);
lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT));
st_synchronize();
@ -1081,9 +1081,9 @@ void mmu_filament_ramming()
void extr_unload_view()
{
lcd_clear();
lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_UNLOADING_FILAMENT));
lcd_print(" ");
if (mmu_extruder == MMU_FILAMENT_UNKNOWN) lcd_print(" ");
lcd_puts_at_P(0, 1, _T(MSG_UNLOADING_FILAMENT));
lcd_print(' ');
if (mmu_extruder == MMU_FILAMENT_UNKNOWN) lcd_print(' ');
else lcd_print(mmu_extruder + 1);
}
@ -1115,7 +1115,7 @@ void extr_unload()
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(' ');
lcd_print(mmu_extruder + 1);
lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT));
if (current_position[Z_AXIS] < 15) {
@ -1349,9 +1349,8 @@ void lcd_mmu_load_to_nozzle(uint8_t filament_nr)
tmp_extruder = filament_nr;
lcd_update_enable(false);
lcd_clear();
lcd_set_cursor(0, 1);
lcd_puts_P(_T(MSG_LOADING_FILAMENT));
lcd_print(" ");
lcd_puts_at_P(0, 1, _T(MSG_LOADING_FILAMENT));
lcd_print(' ');
lcd_print(tmp_extruder + 1);
mmu_command(MmuCmd::T0 + tmp_extruder);
manage_response(true, true, MMU_TCODE_MOVE);
@ -1384,8 +1383,8 @@ void mmu_cut_filament(uint8_t filament_nr)
{
LcdUpdateDisabler disableLcdUpdate;
lcd_clear();
lcd_set_cursor(0, 1); lcd_puts_P(_i("Cutting filament")); //// c=18
lcd_print(" ");
lcd_puts_at_P(0, 1, _i("Cutting filament")); //// c=18
lcd_print(' ');
lcd_print(filament_nr + 1);
mmu_filament_ramming();
mmu_command(MmuCmd::K0 + filament_nr);
@ -1412,7 +1411,7 @@ bFilamentAction=false; // NOT in "mmu_fil_eject_menu(
{
LcdUpdateDisabler disableLcdUpdate;
lcd_clear();
lcd_set_cursor(0, 1); lcd_puts_P(_i("Ejecting filament"));
lcd_puts_at_P(0, 1, _i("Ejecting filament"));
mmu_filament_ramming();
mmu_command(MmuCmd::E0 + filament);
manage_response(false, false, MMU_UNLOAD_MOVE);

View File

@ -996,11 +996,11 @@ bool tmc2130_home_calibrate(uint8_t axis)
uint8_t val[16];
homeaxis(axis, 16, step);
bubblesort_uint8(step, 16, 0);
printf_P(PSTR("sorted samples:\n"));
puts_P(PSTR("sorted samples:"));
for (uint8_t i = 0; i < 16; i++)
printf_P(PSTR(" i=%2d step=%2d\n"), i, step[i]);
uint8_t cl = clusterize_uint8(step, 16, cnt, val, 1);
printf_P(PSTR("clusters:\n"));
puts_P(PSTR("clusters:"));
for (uint8_t i = 0; i < cl; i++)
printf_P(PSTR(" i=%2d cnt=%2d val=%2d\n"), i, cnt[i], val[i]);
bubblesort_uint8(cnt, cl, val);

View File

@ -79,7 +79,7 @@ ISR(USART2_RX_vect)
if (rbuf_put(uart2_ibuf, UDR2) < 0) // put received byte to buffer
{ //rx buffer full
//uart2_rx_clr(); //for sure, clear input buffer
printf_P(PSTR("USART2 rx Full!!!\n"));
puts_P(PSTR("USART2 rx Full!!!"));
}
}

File diff suppressed because it is too large Load Diff

View File

@ -428,13 +428,13 @@ switch(oCheckModel)
{
case ClCheckModel::_Warn:
// lcd_show_fullscreen_message_and_wait_P(_i("Printer model differs from the G-code. Continue?"));
lcd_display_message_fullscreen_P(_i("G-code sliced for a different printer type. Continue?"));
lcd_display_message_fullscreen_P(_T(MSG_GCODE_DIFF_PRINTER_CONTINUE));
lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT);
//???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery
lcd_update_enable(true); // display / status-line recovery
break;
case ClCheckModel::_Strict:
lcd_show_fullscreen_message_and_wait_P(_i("G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."));
lcd_show_fullscreen_message_and_wait_P(_T(MSG_GCODE_DIFF_PRINTER_CANCELLED));
lcd_print_stop();
break;
case ClCheckModel::_None:
@ -577,13 +577,13 @@ switch(oCheckModel)
{
case ClCheckModel::_Warn:
// lcd_show_fullscreen_message_and_wait_P(_i("Printer model differs from the G-code. Continue?"));
lcd_display_message_fullscreen_P(_i("G-code sliced for a different printer type. Continue?"));
lcd_display_message_fullscreen_P(_T(MSG_GCODE_DIFF_PRINTER_CONTINUE));
lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT);
//???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery
lcd_update_enable(true); // display / status-line recovery
break;
case ClCheckModel::_Strict:
lcd_show_fullscreen_message_and_wait_P(_i("G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."));
lcd_show_fullscreen_message_and_wait_P(_T(MSG_GCODE_DIFF_PRINTER_CANCELLED));
lcd_print_stop();
break;
case ClCheckModel::_None:

View File

@ -18,6 +18,8 @@
#define _PINDA ((READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)?1:0)
static const char endl[2] PROGMEM = "\n";
#define DBG(args...) printf_P(args)
//#define DBG(args...)
#ifndef _n
@ -275,6 +277,7 @@ bool xyzcal_spiral2(int16_t cx, int16_t cy, int16_t z0, int16_t dz, int16_t radi
ad = 0;
if (pad) ad = *pad % 720;
//@size=214
DBG(_n("xyzcal_spiral2 cx=%d cy=%d z0=%d dz=%d radius=%d ad=%d\n"), cx, cy, z0, dz, radius, ad);
// lcd_set_cursor(0, 4);
// char text[10];
@ -318,6 +321,7 @@ bool xyzcal_spiral8(int16_t cx, int16_t cy, int16_t z0, int16_t dz, int16_t radi
bool ret = false;
uint16_t ad = 0;
if (pad) ad = *pad;
//@size=274
DBG(_n("xyzcal_spiral8 cx=%d cy=%d z0=%d dz=%d radius=%d ad=%d\n"), cx, cy, z0, dz, radius, ad);
if (!ret && (ad < 720))
if ((ret = xyzcal_spiral2(cx, cy, z0 - 0*dz, dz, radius, 0, delay_us, check_pinda, &ad)) != 0)
@ -401,6 +405,7 @@ void print_hysteresis(int16_t min_z, int16_t max_z, int16_t step){
trigger = _Z;
//xyzcal_lineXYZ_to(_X, _Y, min_z, delay_us, 0);
//@size=114
DBG(_n("min, trigger, untrigger, max: [%d %d %d %d]\n"), _Z, trigger, untrigger, z);
}
}
@ -559,6 +564,7 @@ void xyzcal_scan_pixels_32x32_Zhop(int16_t cx, int16_t cy, int16_t min_z, int16_
go_manhattan((d & 1) ? (cx + 992) : (cx - 992), cy - 992 + r * 64, _Z, Z_ACCEL, Z_MIN_DELAY);
xyzcal_lineXYZ_to((d & 1) ? (cx + 992) : (cx - 992), cy - 992 + r * 64, _Z, delay_us, 0);
sm4_set_dir(X_AXIS, d);
//@size=242
DBG(_n("%d\n"), 64 - (r * 2 + d)); ///< to keep OctoPrint connection alive
for (uint8_t c = 0; c < 32; c++){ ///< X axis
@ -635,7 +641,7 @@ void xyzcal_scan_pixels_32x32_Zhop(int16_t cx, int16_t cy, int16_t min_z, int16_
}
}
}
DBG(_n("\n"));
DBG(endl);
}
/// Returns rate of match
@ -682,6 +688,7 @@ uint8_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, u
}
// DBG(_n("\n"));
}
//@size=278
DBG(_n("Pattern center [%f %f], match %f%%\n"), max_c + 5.5f, max_r + 5.5f, max_match / 1.32f);
*pc = max_c;
@ -694,6 +701,7 @@ const uint16_t xyzcal_point_pattern_08[12] PROGMEM = {0x000, 0x000, 0x0f0, 0x1f8
bool xyzcal_searchZ(void)
{
//@size=118
DBG(_n("xyzcal_searchZ x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]);
int16_t x0 = _X;
int16_t y0 = _Y;
@ -709,11 +717,13 @@ bool xyzcal_searchZ(void)
int16_t x_on = _X;
int16_t y_on = _Y;
int16_t z_on = _Z;
DBG(_n(" ON-SIGNAL at x=%d y=%d z=%d ad=%d\n"), x_on, y_on, z_on, ad);
//@size=82
DBG(_n(" ON-SIGNAL at x=%d y=%d z=%d ad=%d\n"), x_on, y_on, z_on, ad);
return true;
}
z -= 400;
}
//@size=138
DBG(_n("xyzcal_searchZ no signal\n x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]);
return false;
}
@ -805,6 +815,11 @@ float median(float *points, const uint8_t num_points){
return points[num_points / 2];
}
float __attribute__ ((noinline)) CLAMP_median(float *shifts, uint8_t blocks, float norm){
const constexpr float max_change = 0.5f; ///< avoids too fast changes (avoid oscillation)
return CLAMP( median(shifts, blocks) * norm, -max_change, max_change);
}
/// Searches for circle iteratively
/// Uses points on the perimeter. If point is high it pushes circle out of the center (shift or change of radius),
/// otherwise to the center.
@ -814,7 +829,6 @@ void dynamic_circle(uint8_t *matrix_32x32, float &x, float &y, float &r, uint8_t
const constexpr uint8_t num_points = 33;
const float pi_2_div_num_points = 2 * M_PI / num_points;
const constexpr uint8_t target_z = 32; ///< target z height of the circle
float max_change = 0.5f; ///< avoids too fast changes (avoid oscillation)
const uint8_t blocks = num_points;
float shifts_x[blocks];
float shifts_y[blocks];
@ -824,6 +838,7 @@ void dynamic_circle(uint8_t *matrix_32x32, float &x, float &y, float &r, uint8_t
for (int8_t i = iterations; i > 0; --i){
//@size=128B
DBG(_n(" [%f, %f][%f] circle\n"), x, y, r);
/// read points on the circle
@ -840,26 +855,31 @@ void dynamic_circle(uint8_t *matrix_32x32, float &x, float &y, float &r, uint8_t
const float reducer = 32.f; ///< reduces speed of convergency to avoid oscillation
const float norm = 1.f / reducer;
x += CLAMP(median(shifts_x, blocks) * norm, -max_change, max_change);
y += CLAMP(median(shifts_y, blocks) * norm, -max_change, max_change);
r += CLAMP(median(shifts_r, blocks) * norm * .5f, -max_change, max_change);
// x += CLAMP(median(shifts_x, blocks) * norm, -max_change, max_change);
// y += CLAMP(median(shifts_y, blocks) * norm, -max_change, max_change);
// r += CLAMP(median(shifts_r, blocks) * norm * .5f, -max_change, max_change);
//104B down
x += CLAMP_median(shifts_x, blocks, norm);
y += CLAMP_median(shifts_y, blocks, norm);
r += CLAMP_median(shifts_r, blocks, norm * .5f);
r = MAX(2, r);
}
//@size=118
DBG(_n(" [%f, %f][%f] final circle\n"), x, y, r);
}
/// Prints matrix in hex to debug output (serial line)
void print_image(uint8_t *matrix_32x32){
void print_image(const uint8_t *matrix_32x32){
for (uint8_t y = 0; y < 32; ++y){
const uint16_t idx_y = y * 32;
for (uint8_t x = 0; x < 32; ++x){
DBG(_n("%02x"), matrix_32x32[idx_y + x]);
}
DBG(_n("\n"));
DBG(endl);
}
DBG(_n("\n"));
DBG(endl);
}
/// Takes two patterns and searches them in matrix32
@ -889,6 +909,7 @@ uint8_t find_patterns(uint8_t *matrix32, uint16_t *pattern08, uint16_t *pattern1
/// scans area around the current head location and
/// searches for the center of the calibration pin
bool xyzcal_scan_and_process(void){
//@size=44
DBG(_n("sizeof(block_buffer)=%d\n"), sizeof(block_t)*BLOCK_BUFFER_SIZE);
bool ret = false;
int16_t x = _X;
@ -918,10 +939,11 @@ bool xyzcal_scan_and_process(void){
float xf = uc + 5.5f;
float yf = ur + 5.5f;
float radius = 4.5f; ///< default radius
const uint8_t iterations = 20;
constexpr const uint8_t iterations = 20;
dynamic_circle(matrix32, xf, yf, radius, iterations);
if (fabs(xf - (uc + 5.5f)) > 3 || fabs(yf - (ur + 5.5f)) > 3 || fabs(radius - 5) > 3){
DBG(_n(" [%f %f][%f] mm divergence\n"), xf - (uc + 5.5f), yf - (ur + 5.5f), radius - 5);
//@size=88
DBG(_n(" [%f %f][%f] mm divergence\n"), xf - (uc + 5.5f), yf - (ur + 5.5f), radius - 5);
/// dynamic algorithm diverged, use original position instead
xf = uc + 5.5f;
yf = ur + 5.5f;
@ -930,7 +952,8 @@ bool xyzcal_scan_and_process(void){
/// move to the center of area and convert to position
xf = (float)x + (xf - 15.5f) * 64;
yf = (float)y + (yf - 15.5f) * 64;
DBG(_n(" [%f %f] mm pattern center\n"), pos_2_mm(xf), pos_2_mm(yf));
//@size=114
DBG(_n(" [%f %f] mm pattern center\n"), pos_2_mm(xf), pos_2_mm(yf));
x = round_to_i16(xf);
y = round_to_i16(yf);
xyzcal_lineXYZ_to(x, y, z, 200, 0);
@ -946,11 +969,9 @@ bool xyzcal_scan_and_process(void){
bool xyzcal_find_bed_induction_sensor_point_xy(void){
bool ret = false;
DBG(_n("xyzcal_find_bed_induction_sensor_point_xy x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]);
//@size=258
DBG(_n("xyzcal_find_bed_induction_sensor_point_xy x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]);
st_synchronize();
pos_i16_t x = _X;
pos_i16_t y = _Y;
const pos_i16_t z = _Z;
///< magic constant, lowers min_z after searchZ to obtain more dense data in scan
const pos_i16_t lower_z = 72;

View File

@ -103,7 +103,7 @@
#MSG_BED
"Bed"
#MSG_MENU_BELT_STATUS c=18
#MSG_BELT_STATUS c=18
"Belt status"
#MSG_RECOVER_PRINT c=20 r=2
@ -163,7 +163,7 @@
#
"Crash detected. Resume print?"
#
#MSG_CRASH c=7
"Crash"
#MSG_CURRENT c=19 r=1
@ -187,7 +187,7 @@
#MSG_EXTRUDER_CORRECTION c=13
"E-correct:"
#MSG_EJECT_FILAMENT c=17 r=1
#MSG_EJECT_FILAMENT c=16
"Eject filament"
#MSG_EJECTING_FILAMENT c=20 r=1
@ -229,7 +229,7 @@
#MSG_INFO_EXTRUDER c=18
"Extruder info"
#MSG_MOVE_E
#MSG_EXTRUDER c=17
"Extruder"
#
@ -247,14 +247,14 @@
#MSG_SELFTEST_FAN c=20
"Fan test"
#MSG_FANS_CHECK
#MSG_FANS_CHECK c=13
"Fans check"
#MSG_FSENSOR
"Fil. sensor"
# c=14
"Filam. runouts"
#MSG_FIL_RUNOUTS c=14
"Fil. runouts "
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -343,14 +343,14 @@
#MSG_SELFTEST_CHECK_FSENSOR c=20
"Checking sensors "
#MSG_SELFTEST_CHECK_X c=20
"Checking X axis "
#MSG_CHECKING_X c=20
"Checking X axis"
#MSG_SELFTEST_CHECK_Y c=20
"Checking Y axis "
#MSG_CHECKING_Y c=20
"Checking Y axis"
#MSG_SELFTEST_CHECK_Z c=20
"Checking Z axis "
"Checking Z axis"
#MSG_CHOOSE_EXTRUDER c=20 r=1
"Choose extruder:"
@ -373,19 +373,19 @@
#MSG_INSERT_FILAMENT c=20
"Insert filament"
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
#MSG_FILAMENT_LOADED c=20 r=2
"Is filament loaded?"
#MSG_STEEL_SHEET_CHECK c=20 r=2
"Is steel sheet on heatbed?"
#
#MSG_LAST_PRINT_FAILURES c=20
"Last print failures"
#
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
#
#MSG_LAST_PRINT c=18
"Last print"
#MSG_SELFTEST_EXTRUDER_FAN c=20
@ -436,7 +436,7 @@
#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
"Measuring reference height of calibration point"
#MSG_MESH_BED_LEVELING
#MSG_MESH_BED_LEVELING c=18
"Mesh Bed Leveling"
#MSG_MMU_OK_RESUMING_POSITION c=20 r=4
@ -448,13 +448,13 @@
#
"Measured skew"
#
#MSG_MMU_FAILS c=14
"MMU fails"
#
"MMU load failed "
#
#MSG_MMU_LOAD_FAILS c=14
"MMU load fails"
#MSG_MMU_OK_RESUMING c=20 r=4
@ -625,7 +625,7 @@
#MSG_FS_PAUSE c=5
"Pause"
#
#MSG_POWER_FAILURES c=14
"Power failures"
#MSG_PRINT_ABORTED c=20
@ -691,10 +691,10 @@
#MSG_CALIBRATE_BED_RESET
"Reset XYZ calibr."
#MSG_BED_CORRECTION_RESET
#MSG_RESET c=14
"Reset"
#MSG_RESUME_PRINT
#MSG_RESUME_PRINT c=18
"Resume print"
#MSG_RESUMING_PRINT c=20
@ -871,7 +871,7 @@
#
"Unload"
#
#MSG_TOTAL_FAILURES c=20
"Total failures"
#
@ -886,7 +886,7 @@
#MSG_UNLOADING_FILAMENT c=20 r=1
"Unloading filament"
#
#MSG_TOTAL c=6
"Total"
#MSG_USED c=19 r=1
@ -1012,7 +1012,7 @@
#MSG_WARN
"Warn"
#
#MSG_HW_SETUP c=18
"HW Setup"
#
@ -1024,9 +1024,6 @@
#MSG_MESH
"Mesh"
#
"Mesh bed leveling"
#
"MK3S firmware detected on MK3 printer"
@ -1048,10 +1045,10 @@
#
"G-code sliced for a different level. Please re-slice the model again. Print cancelled."
#
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
"G-code sliced for a different printer type. Continue?"
#
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
#
@ -1093,7 +1090,7 @@
#MSG_SOUND_BLIND
"Assist"
# c=18
#MSG_STEEL_SHEET c=18
"Steel sheets"
#MSG_Z_CORRECTION c=13

View File

@ -138,7 +138,7 @@
"Bed"
"Podlozka"
#MSG_MENU_BELT_STATUS c=18
#MSG_BELT_STATUS c=18
"Belt status"
"Stav remenu"
@ -218,7 +218,7 @@
"Crash detected. Resume print?"
"Detekovan naraz. Obnovit tisk?"
#
#MSG_CRASH c=7
"Crash"
"Naraz"
@ -250,9 +250,9 @@
"E-correct:"
"Korekce E:"
#MSG_EJECT_FILAMENT c=17 r=1
#MSG_EJECT_FILAMENT c=16
"Eject filament"
"Vysunout filament"
"Vysunout fil."
#MSG_EJECTING_FILAMENT c=20 r=1
"Ejecting filament"
@ -306,7 +306,7 @@
"Extruder info"
"\x00"
#MSG_MOVE_E
#MSG_EXTRUDER c=17
"Extruder"
"\x00"
@ -330,7 +330,7 @@
"Fan test"
"Test ventilatoru"
#MSG_FANS_CHECK
#MSG_FANS_CHECK c=13
"Fans check"
"Kontr. vent."
@ -338,8 +338,8 @@
"Fil. sensor"
"Fil. senzor"
# c=14
"Filam. runouts"
#MSG_FIL_RUNOUTS c=14
"Fil. runouts "
"Vypadky filam."
#MSG_FILAMENT_CLEAN c=20 r=2
@ -458,16 +458,16 @@
"Checking sensors "
"Kontrola senzoru"
#MSG_SELFTEST_CHECK_X c=20
"Checking X axis "
#MSG_CHECKING_X c=20
"Checking X axis"
"Kontrola osy X"
#MSG_SELFTEST_CHECK_Y c=20
"Checking Y axis "
#MSG_CHECKING_Y c=20
"Checking Y axis"
"Kontrola osy Y"
#MSG_SELFTEST_CHECK_Z c=20
"Checking Z axis "
"Checking Z axis"
"Kontrola osy Z"
#MSG_CHOOSE_EXTRUDER c=20 r=1
@ -498,7 +498,7 @@
"Insert filament"
"Vlozte filament"
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
#MSG_FILAMENT_LOADED c=20 r=2
"Is filament loaded?"
"Je filament zaveden?"
@ -506,7 +506,7 @@
"Is steel sheet on heatbed?"
"Je tiskovy plat na podlozce?"
#
#MSG_LAST_PRINT_FAILURES c=20
"Last print failures"
"Selhani posl. tisku"
@ -514,7 +514,7 @@
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
"Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni - Tiskove platy"
#
#MSG_LAST_PRINT c=18
"Last print"
"Posledni tisk"
@ -582,7 +582,7 @@
"Measuring reference height of calibration point"
"Merim referencni vysku kalibracniho bodu"
#MSG_MESH_BED_LEVELING
#MSG_MESH_BED_LEVELING c=18
"Mesh Bed Leveling"
"\x00"
@ -598,7 +598,7 @@
"Measured skew"
"Merene zkoseni"
#
#MSG_MMU_FAILS c=14
"MMU fails"
"Selhani MMU"
@ -606,7 +606,7 @@
"MMU load failed "
"Zavedeni MMU selhalo"
#
#MSG_MMU_LOAD_FAILS c=14
"MMU load fails"
"MMU selhani zavadeni"
@ -834,7 +834,7 @@
"Pause"
"\x00"
#
#MSG_POWER_FAILURES c=14
"Power failures"
"Vypadky proudu"
@ -922,11 +922,11 @@
"Reset XYZ calibr."
"Reset XYZ kalibr."
#MSG_BED_CORRECTION_RESET
#MSG_RESET c=14
"Reset"
"\x00"
#MSG_RESUME_PRINT
#MSG_RESUME_PRINT c=18
"Resume print"
"Pokracovat"
@ -1162,7 +1162,7 @@
"Unload"
"Vysunout"
#
#MSG_TOTAL_FAILURES c=20
"Total failures"
"Celkem selhani"
@ -1182,7 +1182,7 @@
"Unloading filament"
"Vysouvam filament"
#
#MSG_TOTAL c=6
"Total"
"Celkem"
@ -1350,7 +1350,7 @@
"Warn"
"Varovat"
#
#MSG_HW_SETUP c=18
"HW Setup"
"HW nastaveni"
@ -1366,10 +1366,6 @@
"Mesh"
"\x00"
#
"Mesh bed leveling"
"Mesh Bed Leveling"
#
"MK3S firmware detected on MK3 printer"
"MK3S firmware detekovan na tiskarne MK3"
@ -1398,11 +1394,11 @@
"G-code sliced for a different level. Please re-slice the model again. Print cancelled."
"\x00"
#
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
"G-code sliced for a different printer type. Continue?"
"G-code je pripraven pro jiny typ tiskarny. Pokracovat?"
#
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
"G-code je pripraven pro jiny typ tiskarny. Prosim preslicujte model znovu. Tisk zrusen."
@ -1458,7 +1454,7 @@
"Assist"
"Asist."
# c=18
#MSG_STEEL_SHEET c=18
"Steel sheets"
"Tiskove platy"

View File

@ -138,7 +138,7 @@
"Bed"
"Bett"
#MSG_MENU_BELT_STATUS c=18
#MSG_BELT_STATUS c=18
"Belt status"
"Gurtstatus"
@ -218,7 +218,7 @@
"Crash detected. Resume print?"
"Crash erkannt. Druck fortfuehren?"
#
#MSG_CRASH c=7
"Crash"
"\x00"
@ -250,7 +250,7 @@
"E-correct:"
"E-Korrektur:"
#MSG_EJECT_FILAMENT c=17 r=1
#MSG_EJECT_FILAMENT c=16
"Eject filament"
"Filamentauswurf"
@ -306,7 +306,7 @@
"Extruder info"
"Extruder Info"
#MSG_MOVE_E
#MSG_EXTRUDER c=17
"Extruder"
"\x00"
@ -330,7 +330,7 @@
"Fan test"
"Lueftertest"
#MSG_FANS_CHECK
#MSG_FANS_CHECK c=13
"Fans check"
"Luefter Chk."
@ -338,9 +338,9 @@
"Fil. sensor"
"Fil. Sensor"
# c=14
"Filam. runouts"
"Filam. Maengel"
#MSG_FIL_RUNOUTS c=14
"Fil. runouts "
"Fil. Maengel "
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -458,17 +458,17 @@
"Checking sensors "
"Pruefe Sensoren "
#MSG_SELFTEST_CHECK_X c=20
"Checking X axis "
"Pruefe X Achse "
#MSG_CHECKING_X c=20
"Checking X axis"
"Pruefe X Achse"
#MSG_SELFTEST_CHECK_Y c=20
"Checking Y axis "
"Pruefe Y Achse "
#MSG_CHECKING_Y c=20
"Checking Y axis"
"Pruefe Y Achse"
#MSG_SELFTEST_CHECK_Z c=20
"Checking Z axis "
"Pruefe Z Achse "
"Checking Z axis"
"Pruefe Z Achse"
#MSG_CHOOSE_EXTRUDER c=20 r=1
"Choose extruder:"
@ -498,7 +498,7 @@
"Insert filament"
"Filament einlegen"
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
#MSG_FILAMENT_LOADED c=20 r=2
"Is filament loaded?"
"Ist das Filament geladen?"
@ -506,7 +506,7 @@
"Is steel sheet on heatbed?"
"Liegt das Stahlblech auf dem Heizbett?"
#
#MSG_LAST_PRINT_FAILURES c=20
"Last print failures"
"Letzte Druckfehler"
@ -514,7 +514,7 @@
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
"Wenn Sie zusaetzliche Stahlbleche haben, kalibrieren Sie deren Voreinstellungen unter Einstellungen - HW Setup - Stahlbleche."
#
#MSG_LAST_PRINT c=18
"Last print"
"Letzter Druck"
@ -582,7 +582,7 @@
"Measuring reference height of calibration point"
"Messen der Referenzhoehe des Kalibrierpunktes"
#MSG_MESH_BED_LEVELING
#MSG_MESH_BED_LEVELING c=18
"Mesh Bed Leveling"
"MeshBett Ausgleich"
@ -598,7 +598,7 @@
"Measured skew"
"Schraeglauf"
#
#MSG_MMU_FAILS c=14
"MMU fails"
"MMU Fehler"
@ -606,7 +606,7 @@
"MMU load failed "
"MMU Ladefehler"
#
#MSG_MMU_LOAD_FAILS c=14
"MMU load fails"
"MMU Ladefehler"
@ -834,7 +834,7 @@
"Pause"
"\x00"
#
#MSG_POWER_FAILURES c=14
"Power failures"
"Netzfehler"
@ -922,11 +922,11 @@
"Reset XYZ calibr."
"Reset XYZ Kalibr."
#MSG_BED_CORRECTION_RESET
#MSG_RESET c=14
"Reset"
"Ruecksetzen"
#MSG_RESUME_PRINT
#MSG_RESUME_PRINT c=18
"Resume print"
"Druck fortsetzen"
@ -1162,7 +1162,7 @@
"Unload"
"Entladen"
#
#MSG_TOTAL_FAILURES c=20
"Total failures"
"Gesamte Fehler"
@ -1182,7 +1182,7 @@
"Unloading filament"
"Filament auswerfen"
#
#MSG_TOTAL c=6
"Total"
"Gesamt"
@ -1350,7 +1350,7 @@
"Warn"
"Warnen"
#
#MSG_HW_SETUP c=18
"HW Setup"
"HW Einstellungen"
@ -1366,10 +1366,6 @@
"Mesh"
"Gitter"
#
"Mesh bed leveling"
"MeshBett Ausgleich"
#
"MK3S firmware detected on MK3 printer"
"MK3S-Firmware auf MK3-Drucker erkannt"
@ -1398,11 +1394,11 @@
"G-code sliced for a different level. Please re-slice the model again. Print cancelled."
"G-Code ist fuer einen anderen Level geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen."
#
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
"G-code sliced for a different printer type. Continue?"
"G-Code ist fuer einen anderen Drucker geslict. Fortfahren?"
#
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
"G-Code ist fuer einen anderen Drucker geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen."
@ -1458,7 +1454,7 @@
"Assist"
"\x00"
# c=18
#MSG_STEEL_SHEET c=18
"Steel sheets"
"Stahlbleche"

View File

@ -138,7 +138,7 @@
"Bed"
"Base"
#MSG_MENU_BELT_STATUS c=18
#MSG_BELT_STATUS c=18
"Belt status"
"Estado de correa"
@ -218,7 +218,7 @@
"Crash detected. Resume print?"
"Choque detectado. Continuar impresion?"
#
#MSG_CRASH c=7
"Crash"
"Choque"
@ -250,7 +250,7 @@
"E-correct:"
"Corregir-E:"
#MSG_EJECT_FILAMENT c=17 r=1
#MSG_EJECT_FILAMENT c=16
"Eject filament"
"Expulsar fil."
@ -306,7 +306,7 @@
"Extruder info"
"Info. del extrusor"
#MSG_MOVE_E
#MSG_EXTRUDER c=17
"Extruder"
"Extruir"
@ -330,7 +330,7 @@
"Fan test"
"Test ventiladores"
#MSG_FANS_CHECK
#MSG_FANS_CHECK c=13
"Fans check"
"Comprob.vent"
@ -338,9 +338,9 @@
"Fil. sensor"
"Sensor Fil."
# c=14
"Filam. runouts"
"Filam. acabado"
#MSG_FIL_RUNOUTS c=14
"Fil. runouts "
"Fil. acabado "
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -458,16 +458,16 @@
"Checking sensors "
"Comprobando sensores"
#MSG_SELFTEST_CHECK_X c=20
"Checking X axis "
#MSG_CHECKING_X c=20
"Checking X axis"
"Control sensor X"
#MSG_SELFTEST_CHECK_Y c=20
"Checking Y axis "
#MSG_CHECKING_Y c=20
"Checking Y axis"
"Control sensor Y"
#MSG_SELFTEST_CHECK_Z c=20
"Checking Z axis "
"Checking Z axis"
"Control sensor Z"
#MSG_CHOOSE_EXTRUDER c=20 r=1
@ -498,7 +498,7 @@
"Insert filament"
"Introducir filamento"
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
#MSG_FILAMENT_LOADED c=20 r=2
"Is filament loaded?"
"Esta el filamento cargado?"
@ -506,15 +506,15 @@
"Is steel sheet on heatbed?"
"?Esta colocada la lamina sobre la base"
#
#MSG_LAST_PRINT_FAILURES c=20
"Last print failures"
"Ultimas impresiones fallidas"
"Ultimos imp. fallos"
#
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
"Si tienes planchas de acero adicionales, calibra sus ajustes en Ajustes - Ajustes HW - Planchas acero."
#
#MSG_LAST_PRINT c=18
"Last print"
"Ultima impresion"
@ -582,9 +582,9 @@
"Measuring reference height of calibration point"
"Midiendo altura del punto de calibracion"
#MSG_MESH_BED_LEVELING
#MSG_MESH_BED_LEVELING c=18
"Mesh Bed Leveling"
"Nivelacion Mesh Level"
"Nivela. Mesh Level"
#MSG_MMU_OK_RESUMING_POSITION c=20 r=4
"MMU OK. Resuming position..."
@ -598,7 +598,7 @@
"Measured skew"
"Desviacion med:"
#
#MSG_MMU_FAILS c=14
"MMU fails"
"Fallos MMU"
@ -606,7 +606,7 @@
"MMU load failed "
"Carga MMU fallida"
#
#MSG_MMU_LOAD_FAILS c=14
"MMU load fails"
"Carga MMU falla"
@ -834,7 +834,7 @@
"Pause"
"Pausa"
#
#MSG_POWER_FAILURES c=14
"Power failures"
"Cortes de energia"
@ -922,11 +922,11 @@
"Reset XYZ calibr."
"\x00"
#MSG_BED_CORRECTION_RESET
#MSG_RESET c=14
"Reset"
"\x00"
#MSG_RESUME_PRINT
#MSG_RESUME_PRINT c=18
"Resume print"
"Reanudar impres."
@ -1162,7 +1162,7 @@
"Unload"
"Descargar"
#
#MSG_TOTAL_FAILURES c=20
"Total failures"
"Fallos totales"
@ -1182,7 +1182,7 @@
"Unloading filament"
"Soltando filamento"
#
#MSG_TOTAL c=6
"Total"
"\x00"
@ -1350,7 +1350,7 @@
"Warn"
"Aviso"
#
#MSG_HW_SETUP c=18
"HW Setup"
"Configuracion HW"
@ -1366,10 +1366,6 @@
"Mesh"
"Malla"
#
"Mesh bed leveling"
"Nivelacion Malla Base"
#
"MK3S firmware detected on MK3 printer"
"Firmware MK3S detectado en impresora MK3"
@ -1398,11 +1394,11 @@
"G-code sliced for a different level. Please re-slice the model again. Print cancelled."
"Codigo G laminado para un nivel diferente. Por favor relamina el modelo de nuevo. Impresion cancelada."
#
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
"G-code sliced for a different printer type. Continue?"
"Codigo G laminado para un tipo de impresora diferente. ?Continuar?"
#
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
"Codigo G laminado para una impresora diferente. Por favor relamina el modelo de nuevo. Impresion cancelada."
@ -1458,7 +1454,7 @@
"Assist"
"Asistido"
# c=18
#MSG_STEEL_SHEET c=18
"Steel sheets"
"Lamina de acero"

View File

@ -138,7 +138,7 @@
"Bed"
"Lit"
#MSG_MENU_BELT_STATUS c=18
#MSG_BELT_STATUS c=18
"Belt status"
"Statut courroie"
@ -218,7 +218,7 @@
"Crash detected. Resume print?"
"Crash detecte. Poursuivre l'impression?"
#
#MSG_CRASH c=7
"Crash"
"\x00"
@ -250,7 +250,7 @@
"E-correct:"
"Correct-E:"
#MSG_EJECT_FILAMENT c=17 r=1
#MSG_EJECT_FILAMENT c=16
"Eject filament"
"Remonter le fil."
@ -306,7 +306,7 @@
"Extruder info"
"Infos extrudeur"
#MSG_MOVE_E
#MSG_EXTRUDER c=17
"Extruder"
"Extrudeur"
@ -330,7 +330,7 @@
"Fan test"
"Test du ventilateur"
#MSG_FANS_CHECK
#MSG_FANS_CHECK c=13
"Fans check"
"Verif vent."
@ -338,9 +338,9 @@
"Fil. sensor"
"Capteur Fil."
# c=14
"Filam. runouts"
"Fins filament"
#MSG_FIL_RUNOUTS c=14
"Fil. runouts "
"Fins filament "
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -458,16 +458,16 @@
"Checking sensors "
"Verif. des capteurs"
#MSG_SELFTEST_CHECK_X c=20
"Checking X axis "
#MSG_CHECKING_X c=20
"Checking X axis"
"Verification axe X"
#MSG_SELFTEST_CHECK_Y c=20
"Checking Y axis "
#MSG_CHECKING_Y c=20
"Checking Y axis"
"Verification axe Y"
#MSG_SELFTEST_CHECK_Z c=20
"Checking Z axis "
"Checking Z axis"
"Verification axe Z"
#MSG_CHOOSE_EXTRUDER c=20 r=1
@ -498,7 +498,7 @@
"Insert filament"
"Inserez le filament"
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
#MSG_FILAMENT_LOADED c=20 r=2
"Is filament loaded?"
"Fil. est-il charge?"
@ -506,7 +506,7 @@
"Is steel sheet on heatbed?"
"Est la plaque sur le plat. chauffant?"
#
#MSG_LAST_PRINT_FAILURES c=20
"Last print failures"
"Echecs derniere imp."
@ -514,7 +514,7 @@
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
"Si vous avez d'autres feuilles d'acier, calibrez leurs pre-reglages dans Reglages - Config HW - Plaque en acier."
#
#MSG_LAST_PRINT c=18
"Last print"
"Derniere impres."
@ -582,7 +582,7 @@
"Measuring reference height of calibration point"
"Je mesure la hauteur de reference du point de calibrage"
#MSG_MESH_BED_LEVELING
#MSG_MESH_BED_LEVELING c=18
"Mesh Bed Leveling"
"\x00"
@ -598,7 +598,7 @@
"Measured skew"
"Deviat.mesuree"
#
#MSG_MMU_FAILS c=14
"MMU fails"
"Echecs MMU"
@ -606,7 +606,7 @@
"MMU load failed "
"Echec chargement MMU"
#
#MSG_MMU_LOAD_FAILS c=14
"MMU load fails"
"Echecs charg. MMU"
@ -834,7 +834,7 @@
"Pause"
"\x00"
#
#MSG_POWER_FAILURES c=14
"Power failures"
"Coup.de courant"
@ -922,11 +922,11 @@
"Reset XYZ calibr."
"Reinit. calib. XYZ"
#MSG_BED_CORRECTION_RESET
#MSG_RESET c=14
"Reset"
"Reinitialiser"
#MSG_RESUME_PRINT
#MSG_RESUME_PRINT c=18
"Resume print"
"Reprendre impression"
@ -1162,7 +1162,7 @@
"Unload"
"Decharger"
#
#MSG_TOTAL_FAILURES c=20
"Total failures"
"Total des echecs"
@ -1182,7 +1182,7 @@
"Unloading filament"
"Dechargement fil."
#
#MSG_TOTAL c=6
"Total"
"Totale"
@ -1350,7 +1350,7 @@
"Warn"
"Avert"
#
#MSG_HW_SETUP c=18
"HW Setup"
"Config HW"
@ -1366,10 +1366,6 @@
"Mesh"
"\x00"
#
"Mesh bed leveling"
"\x00"
#
"MK3S firmware detected on MK3 printer"
"Firmware MK3S detecte sur imprimante MK3"
@ -1398,11 +1394,11 @@
"G-code sliced for a different level. Please re-slice the model again. Print cancelled."
"Le G-code a ete prepare pour un niveau different. Veuillez decouper le modele a nouveau. L'impression a ete annulee."
#
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
"G-code sliced for a different printer type. Continue?"
"Le G-code a ete prepare pour une autre version de l'imprimante. Continuer?"
#
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
"Le G-code a ete prepare pour une autre version de l'imprimante. Veuillez decouper le modele a nouveau. L'impression a ete annulee."
@ -1458,7 +1454,7 @@
"Assist"
"\x00"
# c=18
#MSG_STEEL_SHEET c=18
"Steel sheets"
"Plaques en acier"

View File

@ -138,7 +138,7 @@
"Bed"
"Piano"
#MSG_MENU_BELT_STATUS c=18
#MSG_BELT_STATUS c=18
"Belt status"
"Stato cinghie"
@ -218,7 +218,7 @@
"Crash detected. Resume print?"
"Scontro rilevato. Riprendere la stampa?"
#
#MSG_CRASH c=7
"Crash"
"Impatto"
@ -250,9 +250,9 @@
"E-correct:"
"Correzione-E:"
#MSG_EJECT_FILAMENT c=17 r=1
#MSG_EJECT_FILAMENT c=16
"Eject filament"
"Espelli filamento"
"Espelli fil."
#MSG_EJECTING_FILAMENT c=20 r=1
"Ejecting filament"
@ -306,7 +306,7 @@
"Extruder info"
"Info estrusore"
#MSG_MOVE_E
#MSG_EXTRUDER c=17
"Extruder"
"Estrusore"
@ -330,7 +330,7 @@
"Fan test"
"Test ventola"
#MSG_FANS_CHECK
#MSG_FANS_CHECK c=13
"Fans check"
"Control.vent"
@ -338,9 +338,9 @@
"Fil. sensor"
"Sensore fil."
# c=14
"Filam. runouts"
"Fil. esauriti"
#MSG_FIL_RUNOUTS c=14
"Fil. runouts "
"Fil. esauriti "
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -458,16 +458,16 @@
"Checking sensors "
"Controllo sensori"
#MSG_SELFTEST_CHECK_X c=20
"Checking X axis "
#MSG_CHECKING_X c=20
"Checking X axis"
"Verifica asse X"
#MSG_SELFTEST_CHECK_Y c=20
"Checking Y axis "
#MSG_CHECKING_Y c=20
"Checking Y axis"
"Verifica asse Y"
#MSG_SELFTEST_CHECK_Z c=20
"Checking Z axis "
"Checking Z axis"
"Verifica asse Z"
#MSG_CHOOSE_EXTRUDER c=20 r=1
@ -498,7 +498,7 @@
"Insert filament"
"Inserire filamento"
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
#MSG_FILAMENT_LOADED c=20 r=2
"Is filament loaded?"
"Il filamento e' stato caricato?"
@ -506,15 +506,15 @@
"Is steel sheet on heatbed?"
"Piastra d'acciaio su piano riscaldato?"
#
#MSG_LAST_PRINT_FAILURES c=20
"Last print failures"
"Fallimenti ultima stampa"
"Errori ultima stampa"
#
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
"Se hai piastre d'acciaio aggiuntive, calibra i preset in Impostazioni - Setup HW - Piastre in Acciaio."
#
#MSG_LAST_PRINT c=18
"Last print"
"Ultima stampa"
@ -582,7 +582,7 @@
"Measuring reference height of calibration point"
"Misura altezza di rif. del punto di calib."
#MSG_MESH_BED_LEVELING
#MSG_MESH_BED_LEVELING c=18
"Mesh Bed Leveling"
"Liv. grilia piano"
@ -598,7 +598,7 @@
"Measured skew"
"Deviazione mis"
#
#MSG_MMU_FAILS c=14
"MMU fails"
"Fallimenti MMU"
@ -606,7 +606,7 @@
"MMU load failed "
"Caricamento MMU fallito"
#
#MSG_MMU_LOAD_FAILS c=14
"MMU load fails"
"Caricamenti MMU falliti"
@ -834,7 +834,7 @@
"Pause"
"Pausa"
#
#MSG_POWER_FAILURES c=14
"Power failures"
"Mancanza corrente"
@ -922,11 +922,11 @@
"Reset XYZ calibr."
"Reset calibrazione XYZ."
#MSG_BED_CORRECTION_RESET
#MSG_RESET c=14
"Reset"
"\x00"
#MSG_RESUME_PRINT
#MSG_RESUME_PRINT c=18
"Resume print"
"Riprendi stampa"
@ -1162,7 +1162,7 @@
"Unload"
"Scarica"
#
#MSG_TOTAL_FAILURES c=20
"Total failures"
"Totale fallimenti"
@ -1182,7 +1182,7 @@
"Unloading filament"
"Scaricando filamento"
#
#MSG_TOTAL c=6
"Total"
"Totale"
@ -1350,7 +1350,7 @@
"Warn"
"Avviso"
#
#MSG_HW_SETUP c=18
"HW Setup"
"Impostazioni HW"
@ -1366,10 +1366,6 @@
"Mesh"
"Griglia"
#
"Mesh bed leveling"
"Liv. griglia piano"
#
"MK3S firmware detected on MK3 printer"
"Firmware MK3S rilevato su stampante MK3"
@ -1398,11 +1394,11 @@
"G-code sliced for a different level. Please re-slice the model again. Print cancelled."
"G-code processato per un livello diverso. Per favore esegui nuovamente lo slice del modello. Stampa annullata."
#
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
"G-code sliced for a different printer type. Continue?"
"G-code processato per una stampante diversa. Continuare?"
#
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
"G-code processato per una stampante diversa. Per favore esegui nuovamente lo slice del modello. Stampa annullata."
@ -1458,7 +1454,7 @@
"Assist"
"Assist."
# c=18
#MSG_STEEL_SHEET c=18
"Steel sheets"
"Piani d'acciaio"

View File

@ -138,7 +138,7 @@
"Bed"
"Stol"
#MSG_MENU_BELT_STATUS c=18
#MSG_BELT_STATUS c=18
"Belt status"
"Stan paskow"
@ -218,9 +218,9 @@
"Crash detected. Resume print?"
"Wykryto zderzenie. Wznowic druk?"
#
#MSG_CRASH c=7
"Crash"
"Zderzenie"
"Zderzen"
#MSG_CURRENT c=19 r=1
"Current"
@ -250,7 +250,7 @@
"E-correct:"
"Korekcja-E:"
#MSG_EJECT_FILAMENT c=17 r=1
#MSG_EJECT_FILAMENT c=16
"Eject filament"
"Wysun filament"
@ -306,7 +306,7 @@
"Extruder info"
"Ekstruder - info"
#MSG_MOVE_E
#MSG_EXTRUDER c=17
"Extruder"
"Ekstruder"
@ -330,7 +330,7 @@
"Fan test"
"Test wentylatora"
#MSG_FANS_CHECK
#MSG_FANS_CHECK c=13
"Fans check"
"Sprawd.went."
@ -338,8 +338,8 @@
"Fil. sensor"
"Czuj. filam."
# c=14
"Filam. runouts"
#MSG_FIL_RUNOUTS c=14
"Fil. runouts "
"Konc.filamentu"
#MSG_FILAMENT_CLEAN c=20 r=2
@ -458,16 +458,16 @@
"Checking sensors "
"Kontrola czujnikow"
#MSG_SELFTEST_CHECK_X c=20
"Checking X axis "
#MSG_CHECKING_X c=20
"Checking X axis"
"Kontrola osi X"
#MSG_SELFTEST_CHECK_Y c=20
"Checking Y axis "
#MSG_CHECKING_Y c=20
"Checking Y axis"
"Kontrola osi Y"
#MSG_SELFTEST_CHECK_Z c=20
"Checking Z axis "
"Checking Z axis"
"Kontrola osi Z"
#MSG_CHOOSE_EXTRUDER c=20 r=1
@ -498,7 +498,7 @@
"Insert filament"
"Wprowadz filament"
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
#MSG_FILAMENT_LOADED c=20 r=2
"Is filament loaded?"
"Filament jest zaladowany?"
@ -506,7 +506,7 @@
"Is steel sheet on heatbed?"
"Czy plyta stal. jest na podgrzew. stole?"
#
#MSG_LAST_PRINT_FAILURES c=20
"Last print failures"
"Ostatnie bledy druku"
@ -514,7 +514,7 @@
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
"Jesli masz dodatkowe plyty stalowe, to skalibruj ich ustawienia w menu Ustawienia - Ustawienia HW - Plyty stalowe."
#
#MSG_LAST_PRINT c=18
"Last print"
"Ost. wydruk"
@ -582,9 +582,9 @@
"Measuring reference height of calibration point"
"Okreslam wysokosc odniesienia punktu kalibracyjnego"
#MSG_MESH_BED_LEVELING
#MSG_MESH_BED_LEVELING c=18
"Mesh Bed Leveling"
"Poziomowanie stolu wg siatki"
"Poziomowanie stolu"
#MSG_MMU_OK_RESUMING_POSITION c=20 r=4
"MMU OK. Resuming position..."
@ -598,7 +598,7 @@
"Measured skew"
"Zmierzony skos"
#
#MSG_MMU_FAILS c=14
"MMU fails"
"Bledy MMU"
@ -606,7 +606,7 @@
"MMU load failed "
"Blad ladowania MMU"
#
#MSG_MMU_LOAD_FAILS c=14
"MMU load fails"
"Bledy ladow. MMU"
@ -834,7 +834,7 @@
"Pause"
"Pauza"
#
#MSG_POWER_FAILURES c=14
"Power failures"
"Zaniki zasilania"
@ -922,11 +922,11 @@
"Reset XYZ calibr."
"Reset kalibr. XYZ"
#MSG_BED_CORRECTION_RESET
#MSG_RESET c=14
"Reset"
"\x00"
#MSG_RESUME_PRINT
#MSG_RESUME_PRINT c=18
"Resume print"
"Wznowic wydruk"
@ -1162,7 +1162,7 @@
"Unload"
"Rozladuj"
#
#MSG_TOTAL_FAILURES c=20
"Total failures"
"Suma bledow"
@ -1182,7 +1182,7 @@
"Unloading filament"
"Rozladowuje filament"
#
#MSG_TOTAL c=6
"Total"
"Suma"
@ -1350,7 +1350,7 @@
"Warn"
"Ostrzez"
#
#MSG_HW_SETUP c=18
"HW Setup"
"Ustawienia HW"
@ -1366,10 +1366,6 @@
"Mesh"
"Siatka"
#
"Mesh bed leveling"
"Poziomowanie stolu"
#
"MK3S firmware detected on MK3 printer"
"Wykryto firmware MK3S w drukarce MK3"
@ -1398,11 +1394,11 @@
"G-code sliced for a different level. Please re-slice the model again. Print cancelled."
"G-code pociety na innym poziomie. Potnij model ponownie. Druk anulowany."
#
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
"G-code sliced for a different printer type. Continue?"
"G-code pociety dla innej drukarki. Kontynuowac?"
#
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
"G-code pociety dla drukarki innego typu. Potnij model ponownie. Druk anulowany."
@ -1458,7 +1454,7 @@
"Assist"
"Asyst."
# c=18
#MSG_STEEL_SHEET c=18
"Steel sheets"
"Plyty stalowe"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff