commit
9f195ad391
|
|
@ -51,6 +51,16 @@
|
|||
#define EEPROM_XYZ_CAL_SKEW (EEPROM_SD_SORT - 4)
|
||||
#define EEPROM_WIZARD_ACTIVE (EEPROM_XYZ_CAL_SKEW - 1)
|
||||
|
||||
// addition for PJR amendment
|
||||
#define EEPROM_BED_CORRECTION_PJR_A (EEPROM_CALIBRATION_STATUS_PINDA - 1)
|
||||
#define EEPROM_BED_CORRECTION_PJR_B (EEPROM_BED_CORRECTION_PJR_A - 1)
|
||||
#define EEPROM_BED_CORRECTION_PJR_C (EEPROM_BED_CORRECTION_PJR_B - 1)
|
||||
#define EEPROM_BED_CORRECTION_PJR_D (EEPROM_BED_CORRECTION_PJR_C - 1)
|
||||
#define EEPROM_BED_CORRECTION_PJR_E (EEPROM_BED_CORRECTION_PJR_D - 1)
|
||||
#define EEPROM_BED_CORRECTION_PJR_F (EEPROM_BED_CORRECTION_PJR_E - 1)
|
||||
#define EEPROM_BED_CORRECTION_PJR_G (EEPROM_BED_CORRECTION_PJR_F - 1)
|
||||
#define EEPROM_BED_CORRECTION_PJR_H (EEPROM_BED_CORRECTION_PJR_G - 1)
|
||||
|
||||
// Currently running firmware, each digit stored as uint16_t.
|
||||
// The flavor differentiates a dev, alpha, beta, release candidate or a release version.
|
||||
#define EEPROM_FIRMWARE_VERSION_END (FW_PRUSA3D_MAGIC_LEN+8)
|
||||
|
|
|
|||
|
|
@ -3303,7 +3303,7 @@ void process_commands()
|
|||
case_G80:
|
||||
{
|
||||
mesh_bed_leveling_flag = true;
|
||||
int8_t verbosity_level = 0;
|
||||
int8_t verbosity_level = 20;
|
||||
static bool run = false;
|
||||
|
||||
if (code_seen('V')) {
|
||||
|
|
@ -3490,55 +3490,142 @@ void process_commands()
|
|||
eeprom_bed_correction_valid ? SERIAL_PROTOCOLPGM("Bed correction data valid\n") : SERIAL_PROTOCOLPGM("Bed correction data not valid\n");
|
||||
}
|
||||
|
||||
for (uint8_t i = 0; i < 4; ++i) {
|
||||
unsigned char codes[4] = { 'L', 'R', 'F', 'B' };
|
||||
long correction = 0;
|
||||
if (code_seen(codes[i]))
|
||||
correction = code_value_long();
|
||||
else if (eeprom_bed_correction_valid) {
|
||||
unsigned char *addr = (i < 2) ?
|
||||
((i == 0) ? (unsigned char*)EEPROM_BED_CORRECTION_LEFT : (unsigned char*)EEPROM_BED_CORRECTION_RIGHT) :
|
||||
((i == 2) ? (unsigned char*)EEPROM_BED_CORRECTION_FRONT : (unsigned char*)EEPROM_BED_CORRECTION_REAR);
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
if (correction == 0)
|
||||
continue;
|
||||
float offset = float(correction) * 0.001f;
|
||||
if (fabs(offset) > 0.101f) {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ECHOPGM("Excessive bed leveling correction: ");
|
||||
SERIAL_ECHO(offset);
|
||||
SERIAL_ECHOLNPGM(" microns");
|
||||
}
|
||||
else {
|
||||
switch (i) {
|
||||
case 0:
|
||||
for (uint8_t row = 0; row < 3; ++row) {
|
||||
mbl.z_values[row][1] += 0.5f * offset;
|
||||
mbl.z_values[row][0] += offset;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
for (uint8_t row = 0; row < 3; ++row) {
|
||||
mbl.z_values[row][1] += 0.5f * offset;
|
||||
mbl.z_values[row][2] += offset;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (uint8_t col = 0; col < 3; ++col) {
|
||||
mbl.z_values[1][col] += 0.5f * offset;
|
||||
mbl.z_values[0][col] += offset;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
for (uint8_t col = 0; col < 3; ++col) {
|
||||
mbl.z_values[1][col] += 0.5f * offset;
|
||||
mbl.z_values[2][col] += offset;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// bed correction routine
|
||||
// PJR's amendment:
|
||||
// YOKOTSUNO
|
||||
for (uint8_t i = 0; i < 8; ++i) {
|
||||
unsigned char codes[8] = { 'a', 'b', 'c', 'd' , 'e' , 'f', 'g', 'h'};
|
||||
long correction = 0;
|
||||
if (code_seen(codes[i]))
|
||||
correction = code_value_long();
|
||||
else if (eeprom_bed_correction_valid) {
|
||||
|
||||
switch (i) {
|
||||
case 0:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_A;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_B;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_C;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_D;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_E;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_F;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_G;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
{unsigned char *addr = (unsigned char*)EEPROM_BED_CORRECTION_PJR_H;
|
||||
correction = eeprom_read_int8(addr);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (correction == 0)
|
||||
continue;
|
||||
float offset = float(correction) * 0.001f;
|
||||
if (fabs(offset) > 0.201f) {
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ECHOPGM("Excessive bed leveling correction: ");
|
||||
SERIAL_ECHO(offset);
|
||||
SERIAL_ECHOLNPGM(" microns");
|
||||
}
|
||||
else {
|
||||
switch (i) {
|
||||
case 0:
|
||||
{
|
||||
mbl.z_values[0][0] += offset;
|
||||
SERIAL_ECHOPGM("PJR A =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
mbl.z_values[0][1] += offset;
|
||||
SERIAL_ECHOPGM("PJR B =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
mbl.z_values[0][2] += offset;
|
||||
SERIAL_ECHOPGM("PJR C =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
mbl.z_values[1][2] += offset;
|
||||
SERIAL_ECHOPGM("PJR D =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
mbl.z_values[2][2] += offset;
|
||||
SERIAL_ECHOPGM("PJR E =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
mbl.z_values[2][1] += offset;
|
||||
SERIAL_ECHOPGM("PJR F =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
mbl.z_values[2][0] += offset;
|
||||
SERIAL_ECHOPGM("PJR G =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
{
|
||||
mbl.z_values[1][0] += offset;
|
||||
SERIAL_ECHOPGM("PJR H =");
|
||||
SERIAL_ECHO(correction+0);
|
||||
SERIAL_ECHOLNPGM(" microns.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
|
||||
|
||||
SERIAL_ECHOLNPGM("Bed leveling correction finished");
|
||||
mbl.upsample_3x3(); //bilinear interpolation from 3x3 to 7x7 points while using the same array z_values[iy][ix] for storing (just coppying measured data to new destination and interpolating between them)
|
||||
SERIAL_ECHOLNPGM("Upsample finished");
|
||||
|
|
|
|||
|
|
@ -136,21 +136,119 @@ const char * const MSG_BED_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_BED_EN
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_FRONT_EN[] PROGMEM = "Front side[um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_CZ[] PROGMEM = "Vpredu [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_IT[] PROGMEM = "Fronte [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_ES[] PROGMEM = "Adelante [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_PL[] PROGMEM = "Do przodu [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_DE[] PROGMEM = "Vorne [um]";
|
||||
const char * const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_FRONT_EN,
|
||||
MSG_BED_CORRECTION_FRONT_CZ,
|
||||
MSG_BED_CORRECTION_FRONT_IT,
|
||||
MSG_BED_CORRECTION_FRONT_ES,
|
||||
MSG_BED_CORRECTION_FRONT_PL,
|
||||
MSG_BED_CORRECTION_FRONT_DE
|
||||
const char MSG_BED_CORRECTION_PJR_A_EN[] PROGMEM = "FrontLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_A_CZ[] PROGMEM = "FrontLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_A_IT[] PROGMEM = "FrontLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_A_ES[] PROGMEM = "FrontLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_A_PL[] PROGMEM = "FrontLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_A_DE[] PROGMEM = "FrontLeft [um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_A_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_A_EN,
|
||||
MSG_BED_CORRECTION_PJR_A_CZ,
|
||||
MSG_BED_CORRECTION_PJR_A_IT,
|
||||
MSG_BED_CORRECTION_PJR_A_ES,
|
||||
MSG_BED_CORRECTION_PJR_A_PL,
|
||||
MSG_BED_CORRECTION_PJR_A_DE
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_PJR_B_EN[] PROGMEM = "FrontCentr[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_B_CZ[] PROGMEM = "FrontCentr[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_B_IT[] PROGMEM = "FrontCentr[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_B_ES[] PROGMEM = "FrontCentr[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_B_PL[] PROGMEM = "FrontCentr[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_B_DE[] PROGMEM = "FrontCentr[um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_B_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_B_EN,
|
||||
MSG_BED_CORRECTION_PJR_B_CZ,
|
||||
MSG_BED_CORRECTION_PJR_B_IT,
|
||||
MSG_BED_CORRECTION_PJR_B_ES,
|
||||
MSG_BED_CORRECTION_PJR_B_PL,
|
||||
MSG_BED_CORRECTION_PJR_B_DE
|
||||
};
|
||||
const char MSG_BED_CORRECTION_PJR_C_EN[] PROGMEM = "FrontRight[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_C_CZ[] PROGMEM = "FrontRight[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_C_IT[] PROGMEM = "FrontRight[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_C_ES[] PROGMEM = "FrontRight[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_C_PL[] PROGMEM = "FrontRight[um]";
|
||||
const char MSG_BED_CORRECTION_PJR_C_DE[] PROGMEM = "FrontRight[um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_C_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_C_EN,
|
||||
MSG_BED_CORRECTION_PJR_C_CZ,
|
||||
MSG_BED_CORRECTION_PJR_C_IT,
|
||||
MSG_BED_CORRECTION_PJR_C_ES,
|
||||
MSG_BED_CORRECTION_PJR_C_PL,
|
||||
MSG_BED_CORRECTION_PJR_C_DE
|
||||
};
|
||||
const char MSG_BED_CORRECTION_PJR_D_EN[] PROGMEM = "MidRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_D_CZ[] PROGMEM = "MidRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_D_IT[] PROGMEM = "MidRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_D_ES[] PROGMEM = "MidRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_D_PL[] PROGMEM = "MidRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_D_DE[] PROGMEM = "MidRight [um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_D_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_D_EN,
|
||||
MSG_BED_CORRECTION_PJR_D_CZ,
|
||||
MSG_BED_CORRECTION_PJR_D_IT,
|
||||
MSG_BED_CORRECTION_PJR_D_ES,
|
||||
MSG_BED_CORRECTION_PJR_D_PL,
|
||||
MSG_BED_CORRECTION_PJR_D_DE
|
||||
};
|
||||
const char MSG_BED_CORRECTION_PJR_E_EN[] PROGMEM = "RearRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_E_CZ[] PROGMEM = "RearRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_E_IT[] PROGMEM = "RearRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_E_ES[] PROGMEM = "RearRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_E_PL[] PROGMEM = "RearRight [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_E_DE[] PROGMEM = "RearRight [um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_E_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_E_EN,
|
||||
MSG_BED_CORRECTION_PJR_E_CZ,
|
||||
MSG_BED_CORRECTION_PJR_E_IT,
|
||||
MSG_BED_CORRECTION_PJR_E_ES,
|
||||
MSG_BED_CORRECTION_PJR_E_PL,
|
||||
MSG_BED_CORRECTION_PJR_E_DE
|
||||
};
|
||||
const char MSG_BED_CORRECTION_PJR_F_EN[] PROGMEM = "RearCentr [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_F_CZ[] PROGMEM = "RearCentr [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_F_IT[] PROGMEM = "RearCentr [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_F_ES[] PROGMEM = "RearCentr [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_F_PL[] PROGMEM = "RearCentr [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_F_DE[] PROGMEM = "RearCentr [um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_F_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_F_EN,
|
||||
MSG_BED_CORRECTION_PJR_F_CZ,
|
||||
MSG_BED_CORRECTION_PJR_F_IT,
|
||||
MSG_BED_CORRECTION_PJR_F_ES,
|
||||
MSG_BED_CORRECTION_PJR_F_PL,
|
||||
MSG_BED_CORRECTION_PJR_F_DE
|
||||
};
|
||||
const char MSG_BED_CORRECTION_PJR_G_EN[] PROGMEM = "RearLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_G_CZ[] PROGMEM = "RearLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_G_IT[] PROGMEM = "RearLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_G_ES[] PROGMEM = "RearLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_G_PL[] PROGMEM = "RearLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_G_DE[] PROGMEM = "RearLeft [um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_G_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_G_EN,
|
||||
MSG_BED_CORRECTION_PJR_G_CZ,
|
||||
MSG_BED_CORRECTION_PJR_G_IT,
|
||||
MSG_BED_CORRECTION_PJR_G_ES,
|
||||
MSG_BED_CORRECTION_PJR_G_PL,
|
||||
MSG_BED_CORRECTION_PJR_G_DE
|
||||
};
|
||||
const char MSG_BED_CORRECTION_PJR_H_EN[] PROGMEM = "MidLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_H_CZ[] PROGMEM = "MidLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_H_IT[] PROGMEM = "MidLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_H_ES[] PROGMEM = "MidLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_H_PL[] PROGMEM = "MidLeft [um]";
|
||||
const char MSG_BED_CORRECTION_PJR_H_DE[] PROGMEM = "MidLeft [um]";
|
||||
const char * const MSG_BED_CORRECTION_PJR_H_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_PJR_H_EN,
|
||||
MSG_BED_CORRECTION_PJR_H_CZ,
|
||||
MSG_BED_CORRECTION_PJR_H_IT,
|
||||
MSG_BED_CORRECTION_PJR_H_ES,
|
||||
MSG_BED_CORRECTION_PJR_H_PL,
|
||||
MSG_BED_CORRECTION_PJR_H_DE
|
||||
};
|
||||
/*
|
||||
const char MSG_BED_CORRECTION_LEFT_EN[] PROGMEM = "Left side [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_CZ[] PROGMEM = "Vlevo [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_IT[] PROGMEM = "Sinistra [um]";
|
||||
|
|
@ -158,27 +256,12 @@ const char MSG_BED_CORRECTION_LEFT_ES[] PROGMEM = "Izquierda [um]";
|
|||
const char MSG_BED_CORRECTION_LEFT_PL[] PROGMEM = "W lewo [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_DE[] PROGMEM = "Links [um]";
|
||||
const char * const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_LEFT_EN,
|
||||
MSG_BED_CORRECTION_LEFT_CZ,
|
||||
MSG_BED_CORRECTION_LEFT_IT,
|
||||
MSG_BED_CORRECTION_LEFT_ES,
|
||||
MSG_BED_CORRECTION_LEFT_PL,
|
||||
MSG_BED_CORRECTION_LEFT_DE
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_MENU_EN[] PROGMEM = "Bed level correct";
|
||||
const char MSG_BED_CORRECTION_MENU_CZ[] PROGMEM = "Korekce podlozky";
|
||||
const char MSG_BED_CORRECTION_MENU_IT[] PROGMEM = "Correz. liv.letto";
|
||||
const char MSG_BED_CORRECTION_MENU_ES[] PROGMEM = "Corr. de la cama";
|
||||
const char MSG_BED_CORRECTION_MENU_PL[] PROGMEM = "Korekta podkladki";
|
||||
const char MSG_BED_CORRECTION_MENU_DE[] PROGMEM = "Bed level Korrekt";
|
||||
const char * const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_MENU_EN,
|
||||
MSG_BED_CORRECTION_MENU_CZ,
|
||||
MSG_BED_CORRECTION_MENU_IT,
|
||||
MSG_BED_CORRECTION_MENU_ES,
|
||||
MSG_BED_CORRECTION_MENU_PL,
|
||||
MSG_BED_CORRECTION_MENU_DE
|
||||
MSG_BED_CORRECTION_LEFT_EN,
|
||||
MSG_BED_CORRECTION_LEFT_CZ,
|
||||
MSG_BED_CORRECTION_LEFT_IT,
|
||||
MSG_BED_CORRECTION_LEFT_ES,
|
||||
MSG_BED_CORRECTION_LEFT_PL,
|
||||
MSG_BED_CORRECTION_LEFT_DE
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_REAR_EN[] PROGMEM = "Rear side [um]";
|
||||
|
|
@ -188,23 +271,12 @@ const char MSG_BED_CORRECTION_REAR_ES[] PROGMEM = "Atras [um]";
|
|||
const char MSG_BED_CORRECTION_REAR_PL[] PROGMEM = "Do tylu [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_DE[] PROGMEM = "Hinten [um]";
|
||||
const char * const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_REAR_EN,
|
||||
MSG_BED_CORRECTION_REAR_CZ,
|
||||
MSG_BED_CORRECTION_REAR_IT,
|
||||
MSG_BED_CORRECTION_REAR_ES,
|
||||
MSG_BED_CORRECTION_REAR_PL,
|
||||
MSG_BED_CORRECTION_REAR_DE
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_RESET_EN[] PROGMEM = "Reset";
|
||||
const char MSG_BED_CORRECTION_RESET_DE[] PROGMEM = "Ruecksetzen";
|
||||
const char * const MSG_BED_CORRECTION_RESET_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_DE
|
||||
MSG_BED_CORRECTION_REAR_EN,
|
||||
MSG_BED_CORRECTION_REAR_CZ,
|
||||
MSG_BED_CORRECTION_REAR_IT,
|
||||
MSG_BED_CORRECTION_REAR_ES,
|
||||
MSG_BED_CORRECTION_REAR_PL,
|
||||
MSG_BED_CORRECTION_REAR_DE
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_RIGHT_EN[] PROGMEM = "Right side[um]";
|
||||
|
|
@ -214,20 +286,49 @@ const char MSG_BED_CORRECTION_RIGHT_ES[] PROGMEM = "Derecha [um]";
|
|||
const char MSG_BED_CORRECTION_RIGHT_PL[] PROGMEM = "W prawo [um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_DE[] PROGMEM = "Rechts [um]";
|
||||
const char * const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_RIGHT_EN,
|
||||
MSG_BED_CORRECTION_RIGHT_CZ,
|
||||
MSG_BED_CORRECTION_RIGHT_IT,
|
||||
MSG_BED_CORRECTION_RIGHT_ES,
|
||||
MSG_BED_CORRECTION_RIGHT_PL,
|
||||
MSG_BED_CORRECTION_RIGHT_DE
|
||||
MSG_BED_CORRECTION_RIGHT_EN,
|
||||
MSG_BED_CORRECTION_RIGHT_CZ,
|
||||
MSG_BED_CORRECTION_RIGHT_IT,
|
||||
MSG_BED_CORRECTION_RIGHT_ES,
|
||||
MSG_BED_CORRECTION_RIGHT_PL,
|
||||
MSG_BED_CORRECTION_RIGHT_DE
|
||||
};
|
||||
|
||||
*/
|
||||
|
||||
const char MSG_BED_CORRECTION_MENU_EN[] PROGMEM = "Bed level correct";
|
||||
const char MSG_BED_CORRECTION_MENU_CZ[] PROGMEM = "Korekce podlozky";
|
||||
const char MSG_BED_CORRECTION_MENU_IT[] PROGMEM = "Correz. liv.letto";
|
||||
const char MSG_BED_CORRECTION_MENU_ES[] PROGMEM = "Corr. de la cama";
|
||||
const char MSG_BED_CORRECTION_MENU_PL[] PROGMEM = "Korekta podkladki";
|
||||
const char MSG_BED_CORRECTION_MENU_DE[] PROGMEM = "Bett - Korrektur";
|
||||
const char * const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_MENU_EN,
|
||||
MSG_BED_CORRECTION_MENU_CZ,
|
||||
MSG_BED_CORRECTION_MENU_IT,
|
||||
MSG_BED_CORRECTION_MENU_ES,
|
||||
MSG_BED_CORRECTION_MENU_PL,
|
||||
MSG_BED_CORRECTION_MENU_DE
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_RESET_EN[] PROGMEM = "Reset";
|
||||
const char MSG_BED_CORRECTION_RESET_DE[] PROGMEM = "Ruecksetzen";
|
||||
const char * const MSG_BED_CORRECTION_RESET_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_DE
|
||||
};
|
||||
|
||||
|
||||
const char MSG_BED_DONE_EN[] PROGMEM = "Bed done";
|
||||
const char MSG_BED_DONE_CZ[] PROGMEM = "Bed OK.";
|
||||
const char MSG_BED_DONE_IT[] PROGMEM = "Piatto fatto.";
|
||||
const char MSG_BED_DONE_ES[] PROGMEM = "Base preparada";
|
||||
const char MSG_BED_DONE_PL[] PROGMEM = "Stolik OK.";
|
||||
const char MSG_BED_DONE_DE[] PROGMEM = "Bed OK";
|
||||
const char MSG_BED_DONE_DE[] PROGMEM = "Bett OK";
|
||||
const char * const MSG_BED_DONE_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_DONE_EN,
|
||||
MSG_BED_DONE_CZ,
|
||||
|
|
|
|||
|
|
@ -56,18 +56,28 @@ extern const char* const MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE[LANG_NUM];
|
|||
#define MSG_BABYSTEP_Z_NOT_SET LANG_TABLE_SELECT(MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE)
|
||||
extern const char* const MSG_BED_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED LANG_TABLE_SELECT(MSG_BED_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_FRONT LANG_TABLE_SELECT(MSG_BED_CORRECTION_FRONT_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_LEFT LANG_TABLE_SELECT(MSG_BED_CORRECTION_LEFT_LANG_TABLE)
|
||||
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_A_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_A LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_A_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_B_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_B LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_B_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_C_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_C LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_C_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_D_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_D LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_D_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_E_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_E LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_E_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_F_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_F LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_F_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_G_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_G LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_G_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_PJR_H_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_PJR_H LANG_TABLE_SELECT(MSG_BED_CORRECTION_PJR_H_LANG_TABLE)
|
||||
|
||||
extern const char* const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_MENU LANG_TABLE_SELECT(MSG_BED_CORRECTION_MENU_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_REAR LANG_TABLE_SELECT(MSG_BED_CORRECTION_REAR_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_RESET_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_RESET LANG_TABLE_SELECT(MSG_BED_CORRECTION_RESET_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_RIGHT LANG_TABLE_SELECT(MSG_BED_CORRECTION_RIGHT_LANG_TABLE)
|
||||
extern const char* const MSG_BED_DONE_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_DONE LANG_TABLE_SELECT(MSG_BED_DONE_LANG_TABLE)
|
||||
extern const char* const MSG_BED_HEATING_LANG_TABLE[LANG_NUM];
|
||||
|
|
|
|||
|
|
@ -246,10 +246,17 @@
|
|||
#define MSG_BABYSTEP_Z_NOT_SET "Neni zkalibrovana vzdalenost trysky od tiskove podlozky. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy."
|
||||
|
||||
#define MSG_BED_CORRECTION_MENU "Korekce podlozky"
|
||||
#define MSG_BED_CORRECTION_LEFT "Vlevo [um]"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Vpravo [um]"
|
||||
#define MSG_BED_CORRECTION_FRONT "Vpredu [um]"
|
||||
#define MSG_BED_CORRECTION_REAR "Vzadu [um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_A "FrontLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_B "FrontCentr[um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_C "FrontRight[um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_D "MidRight [um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_E "RearRight [um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_F "RearCentr [um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_G "RearLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PRJ_H "MidLeft [um]"
|
||||
|
||||
|
||||
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
|
|
|
|||
|
|
@ -265,11 +265,16 @@
|
|||
+ #define(length = 20, lines = 8) MSG_PAPER "Legen ein Blatt Papier unter die Duese waehrend der Kalibrierung der ersten 4 Punkte. Wenn die Duese das Papier einklemmt, Drucker sofort ausschalten"
|
||||
+
|
||||
+#define MSG_BED_CORRECTION_MENU "Bed level Korrekt"
|
||||
+ #define MSG_BED_CORRECTION_PJR_A "FrontLeft [um]"
|
||||
+ #define MSG_BED_CORRECTION_PJR_B "FrontCentr[um]"
|
||||
+ #define MSG_BED_CORRECTION_PJR_C "FrontRight[um]"
|
||||
+ #define MSG_BED_CORRECTION_PJR_D "MidRight [um]"
|
||||
+ #define MSG_BED_CORRECTION_PJR_E "RearRight [um]"
|
||||
+ #define MSG_BED_CORRECTION_PJR_F "RearCentr [um]"
|
||||
+ #define MSG_BED_CORRECTION_PJR_G "RearLeft [um]"
|
||||
+ #define MSG_BED_CORRECTION_PJR_H "MidLeft [um]"
|
||||
|
||||
|
||||
+ #define MSG_BED_CORRECTION_LEFT "Links [um]"
|
||||
+ #define MSG_BED_CORRECTION_RIGHT "Rechts [um]"
|
||||
+ #define MSG_BED_CORRECTION_FRONT "Vorne [um]"
|
||||
+ #define MSG_BED_CORRECTION_REAR "Hinten [um]"
|
||||
+ #define MSG_BED_CORRECTION_RESET "Ruecksetzen"
|
||||
+
|
||||
+#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
|
|
|
|||
|
|
@ -265,10 +265,15 @@
|
|||
#define(length=20, lines=8) MSG_PAPER "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."
|
||||
|
||||
#define MSG_BED_CORRECTION_MENU "Bed level correct"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_LEFT "Left side [um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_RIGHT "Right side[um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_FRONT "Front side[um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_REAR "Rear side [um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_A "FrontLeft [um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_B "FrontCentr[um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_C "FrontRight[um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_D "MidRight [um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_E "RearRight [um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_F "RearCentr [um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_G "RearLeft [um]"
|
||||
#define(length=14,lines=1) MSG_BED_CORRECTION_PJR_H "MidLeft [um]"
|
||||
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
|
|
|
|||
|
|
@ -226,10 +226,15 @@
|
|||
#define MSG_FOLLOW_CALIBRATION_FLOW "Impresora no esta calibrada todavia. Por favor usar el manual, el capitulo First steps, seleccion Calibration flow."
|
||||
#define MSG_BABYSTEP_Z_NOT_SET "Distancia entre la punta de la boquilla y la superficie de la cama no fijada aun. Por favor siga el manual, capitulo First steps, seccion First layer calibration."
|
||||
#define MSG_BED_CORRECTION_MENU "Corr. de la cama"
|
||||
#define MSG_BED_CORRECTION_LEFT "Izquierda [um]"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Derecha [um]"
|
||||
#define MSG_BED_CORRECTION_FRONT "Adelante [um]"
|
||||
#define MSG_BED_CORRECTION_REAR "Atras [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_A "FrontLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_B "FrontCentr[um]"
|
||||
#define MSG_BED_CORRECTION_PJR_C "FrontRight[um]"
|
||||
#define MSG_BED_CORRECTION_PJR_D "MidRight [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_E "RearRight [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_F "RearCentr [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_G "RearLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_H "MidLeft [um]"
|
||||
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
|
|
|
|||
|
|
@ -221,10 +221,15 @@
|
|||
#define MSG_BABYSTEP_Z_NOT_SET "Distanza tra la punta dell'ugello e la superficie del letto non ancora imposta. Si prega di seguire il manuale, capitolo First steps, sezione First layer calibration."
|
||||
|
||||
#define MSG_BED_CORRECTION_MENU "Correz. liv.letto"
|
||||
#define MSG_BED_CORRECTION_LEFT "Sinistra [um]"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Destra [um]"
|
||||
#define MSG_BED_CORRECTION_FRONT "Fronte [um]"
|
||||
#define MSG_BED_CORRECTION_REAR "Retro [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_A "FrontLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_B "FrontCentr[um]"
|
||||
#define MSG_BED_CORRECTION_PJR_C "FrontRight[um]"
|
||||
#define MSG_BED_CORRECTION_PJR_D "MidRight [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_E "RearRight [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_F "RearCentr [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_G "RearLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_H "MidLeft [um]"
|
||||
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh livel. letto"
|
||||
|
|
|
|||
|
|
@ -232,10 +232,15 @@
|
|||
#define MSG_FOLLOW_CALIBRATION_FLOW "Drukarka nie zostala jeszcze skalibrowana. Prosze kierowac sie instrukcja, rozdzial Zaczynamy, podrozdzial Selftest."
|
||||
#define MSG_BABYSTEP_Z_NOT_SET "Odleglosc dyszy od podkladki nie jest skalibrowana. Postepuj zgodnie z instrukcja rozdzial Zaczynamy, podrozdzial Kalibracja pierwszej warstwy."
|
||||
#define MSG_BED_CORRECTION_MENU "Korekta podkladki"
|
||||
#define MSG_BED_CORRECTION_LEFT "W lewo [um]"
|
||||
#define MSG_BED_CORRECTION_RIGHT "W prawo [um]"
|
||||
#define MSG_BED_CORRECTION_FRONT "Do przodu [um]"
|
||||
#define MSG_BED_CORRECTION_REAR "Do tylu [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_A "FrontLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_B "FrontCentr[um]"
|
||||
#define MSG_BED_CORRECTION_PJR_C "FrontRight[um]"
|
||||
#define MSG_BED_CORRECTION_PJR_D "MidRight [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_E "RearRight [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_F "RearCentr [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_G "RearLeft [um]"
|
||||
#define MSG_BED_CORRECTION_PJR_H "MidLeft [um]"
|
||||
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ union MenuData
|
|||
char ip_str[3*4+3+1];
|
||||
} supportMenu;
|
||||
|
||||
// alternative PJR:
|
||||
struct AdjustBed
|
||||
{
|
||||
// 6+13+16=35B
|
||||
|
|
@ -65,14 +66,22 @@ union MenuData
|
|||
// the return menu and encoder state.
|
||||
struct EditMenuParentState editMenuParentState;
|
||||
int8_t status;
|
||||
int8_t left;
|
||||
int8_t right;
|
||||
int8_t front;
|
||||
int8_t rear;
|
||||
int left2;
|
||||
int right2;
|
||||
int front2;
|
||||
int rear2;
|
||||
int8_t pjr_a;
|
||||
int8_t pjr_b;
|
||||
int8_t pjr_c;
|
||||
int8_t pjr_d;
|
||||
int8_t pjr_e;
|
||||
int8_t pjr_f;
|
||||
int8_t pjr_g;
|
||||
int8_t pjr_h;
|
||||
int pjr_a2;
|
||||
int pjr_b2;
|
||||
int pjr_c2;
|
||||
int pjr_d2;
|
||||
int pjr_e2;
|
||||
int pjr_f2;
|
||||
int pjr_g2;
|
||||
int pjr_h2;
|
||||
} adjustBed;
|
||||
|
||||
// editMenuParentState is used when an edit menu is entered, so it knows
|
||||
|
|
@ -1747,13 +1756,20 @@ static void lcd_babystep_z() {
|
|||
|
||||
static void lcd_adjust_bed();
|
||||
|
||||
// EEPROM_BED_CORRECTION_PJR_A
|
||||
|
||||
static void lcd_adjust_bed_reset()
|
||||
{
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_LEFT , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_FRONT, 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_REAR , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_A , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_B , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_C , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_D , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_E , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_F , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_G , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_H , 0);
|
||||
|
||||
lcd_goto_menu(lcd_adjust_bed, 0, false);
|
||||
// Because we did not leave the menu, the menuData did not reset.
|
||||
// Force refresh of the bed leveling data.
|
||||
|
|
@ -1761,17 +1777,25 @@ static void lcd_adjust_bed_reset()
|
|||
}
|
||||
|
||||
void adjust_bed_reset() {
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_LEFT, 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_FRONT, 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_REAR, 0);
|
||||
menuData.adjustBed.left = menuData.adjustBed.left2 = 0;
|
||||
menuData.adjustBed.right = menuData.adjustBed.right2 = 0;
|
||||
menuData.adjustBed.front = menuData.adjustBed.front2 = 0;
|
||||
menuData.adjustBed.rear = menuData.adjustBed.rear2 = 0;
|
||||
}
|
||||
#define BED_ADJUSTMENT_UM_MAX 50
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_A , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_B , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_C , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_D , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_E , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_F , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_G , 0);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_PJR_H , 0);
|
||||
|
||||
menuData.adjustBed.pjr_a = menuData.adjustBed.pjr_a2 = 0;
|
||||
menuData.adjustBed.pjr_b = menuData.adjustBed.pjr_b2 = 0;
|
||||
menuData.adjustBed.pjr_c = menuData.adjustBed.pjr_c2 = 0;
|
||||
menuData.adjustBed.pjr_d = menuData.adjustBed.pjr_d2 = 0;
|
||||
menuData.adjustBed.pjr_e = menuData.adjustBed.pjr_e2 = 0;
|
||||
menuData.adjustBed.pjr_f = menuData.adjustBed.pjr_f2 = 0;
|
||||
menuData.adjustBed.pjr_g = menuData.adjustBed.pjr_g2 = 0;
|
||||
menuData.adjustBed.pjr_h = menuData.adjustBed.pjr_h2 = 0;}
|
||||
#define BED_ADJUSTMENT_UM_MAX 99
|
||||
|
||||
static void lcd_adjust_bed()
|
||||
{
|
||||
|
|
@ -1780,46 +1804,72 @@ static void lcd_adjust_bed()
|
|||
// Initialize its status.
|
||||
menuData.adjustBed.status = 1;
|
||||
bool valid = false;
|
||||
menuData.adjustBed.left = menuData.adjustBed.left2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT);
|
||||
menuData.adjustBed.right = menuData.adjustBed.right2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT);
|
||||
menuData.adjustBed.front = menuData.adjustBed.front2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT);
|
||||
menuData.adjustBed.rear = menuData.adjustBed.rear2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR);
|
||||
menuData.adjustBed.pjr_a = menuData.adjustBed.pjr_a2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_A);
|
||||
menuData.adjustBed.pjr_b = menuData.adjustBed.pjr_b2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_B);
|
||||
menuData.adjustBed.pjr_c = menuData.adjustBed.pjr_c2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_C);
|
||||
menuData.adjustBed.pjr_d = menuData.adjustBed.pjr_d2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_D);
|
||||
menuData.adjustBed.pjr_e = menuData.adjustBed.pjr_e2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_E);
|
||||
menuData.adjustBed.pjr_f = menuData.adjustBed.pjr_f2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_F);
|
||||
menuData.adjustBed.pjr_g = menuData.adjustBed.pjr_g2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_G);
|
||||
menuData.adjustBed.pjr_h = menuData.adjustBed.pjr_h2 = eeprom_read_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_H);
|
||||
if (eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1 &&
|
||||
menuData.adjustBed.left >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.left <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.right >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.right <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.front >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.front <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.rear >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.rear <= BED_ADJUSTMENT_UM_MAX)
|
||||
menuData.adjustBed.pjr_a >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_a <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.pjr_b >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_b <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.pjr_c >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_c <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.pjr_d >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_d <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.pjr_e >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_e <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.pjr_f >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_f <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.pjr_g >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_g <= BED_ADJUSTMENT_UM_MAX &&
|
||||
menuData.adjustBed.pjr_h >= -BED_ADJUSTMENT_UM_MAX && menuData.adjustBed.pjr_h <= BED_ADJUSTMENT_UM_MAX)
|
||||
|
||||
valid = true;
|
||||
if (! valid) {
|
||||
// Reset the values: simulate an edit.
|
||||
menuData.adjustBed.left2 = 0;
|
||||
menuData.adjustBed.right2 = 0;
|
||||
menuData.adjustBed.front2 = 0;
|
||||
menuData.adjustBed.rear2 = 0;
|
||||
menuData.adjustBed.pjr_a2 = 0;
|
||||
menuData.adjustBed.pjr_b2 = 0;
|
||||
menuData.adjustBed.pjr_c2 = 0;
|
||||
menuData.adjustBed.pjr_d2 = 0;
|
||||
menuData.adjustBed.pjr_e2 = 0;
|
||||
menuData.adjustBed.pjr_f2 = 0;
|
||||
menuData.adjustBed.pjr_g2 = 0;
|
||||
menuData.adjustBed.pjr_h2 = 0;
|
||||
}
|
||||
lcdDrawUpdate = 1;
|
||||
eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1);
|
||||
}
|
||||
|
||||
if (menuData.adjustBed.left != menuData.adjustBed.left2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_LEFT, menuData.adjustBed.left = menuData.adjustBed.left2);
|
||||
if (menuData.adjustBed.right != menuData.adjustBed.right2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_RIGHT, menuData.adjustBed.right = menuData.adjustBed.right2);
|
||||
if (menuData.adjustBed.front != menuData.adjustBed.front2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_FRONT, menuData.adjustBed.front = menuData.adjustBed.front2);
|
||||
if (menuData.adjustBed.rear != menuData.adjustBed.rear2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR, menuData.adjustBed.rear = menuData.adjustBed.rear2);
|
||||
if (menuData.adjustBed.pjr_a != menuData.adjustBed.pjr_a2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_A, menuData.adjustBed.pjr_a = menuData.adjustBed.pjr_a2);
|
||||
if (menuData.adjustBed.pjr_b != menuData.adjustBed.pjr_b2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_B, menuData.adjustBed.pjr_b = menuData.adjustBed.pjr_b2);
|
||||
if (menuData.adjustBed.pjr_c != menuData.adjustBed.pjr_c2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_C, menuData.adjustBed.pjr_c = menuData.adjustBed.pjr_c2);
|
||||
if (menuData.adjustBed.pjr_d != menuData.adjustBed.pjr_d2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_D, menuData.adjustBed.pjr_d = menuData.adjustBed.pjr_d2);
|
||||
if (menuData.adjustBed.pjr_e != menuData.adjustBed.pjr_e2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_E, menuData.adjustBed.pjr_e = menuData.adjustBed.pjr_e2);
|
||||
if (menuData.adjustBed.pjr_f != menuData.adjustBed.pjr_f2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_F, menuData.adjustBed.pjr_f = menuData.adjustBed.pjr_f2);
|
||||
if (menuData.adjustBed.pjr_g != menuData.adjustBed.pjr_g2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_G, menuData.adjustBed.pjr_g = menuData.adjustBed.pjr_g2);
|
||||
if (menuData.adjustBed.pjr_h != menuData.adjustBed.pjr_h2)
|
||||
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_PJR_H, menuData.adjustBed.pjr_h = menuData.adjustBed.pjr_h2);
|
||||
|
||||
START_MENU();
|
||||
MENU_ITEM(back, MSG_SETTINGS, lcd_calibration_menu);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_LEFT, &menuData.adjustBed.left2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_RIGHT, &menuData.adjustBed.right2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_FRONT, &menuData.adjustBed.front2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_REAR, &menuData.adjustBed.rear2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_A, &menuData.adjustBed.pjr_a2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_B, &menuData.adjustBed.pjr_b2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_C, &menuData.adjustBed.pjr_c2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_D, &menuData.adjustBed.pjr_d2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_E, &menuData.adjustBed.pjr_e2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_F, &menuData.adjustBed.pjr_f2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_G, &menuData.adjustBed.pjr_g2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_PJR_H, &menuData.adjustBed.pjr_h2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
|
||||
MENU_ITEM(function, MSG_BED_CORRECTION_RESET, lcd_adjust_bed_reset);
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
|
||||
void pid_extruder() {
|
||||
|
||||
lcd_implementation_clear();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
# Hyperfine Bed Levelling for Prusa i3 MK2/MK2S
|
||||
|
||||
NOTE: None of the modifications are mine, PJR and JeffJordan have shared the modifications on the Prusa3d.com Forums (http://shop.prusa3d.com/forum/prusa-i3-kit-building-calibrating-first-print-main-f6/hyperfine-bed-leveling--t4330.html)
|
||||
This repo is so that you can pull the changes into your own MK2 firmware (if you have a Haribo for example)
|
||||
|
||||
## CURRENTLY NO FILES HAVE BEEN CHANGED (except this readme!)
|
||||
|
||||
|
||||
# Original Prusa i3 MK2 Firmware
|
||||
|
||||
## General instructions
|
||||
|
|
|
|||
Loading…
Reference in New Issue