FInish Mesh, fix M117 size
This commit is contained in:
@@ -1271,7 +1271,7 @@
|
||||
* Turn on with the command 'M111 S32'.
|
||||
* NOTE: Requires a lot of PROGMEM!
|
||||
*/
|
||||
//#define DEBUG_LEVELING_FEATURE
|
||||
#define DEBUG_LEVELING_FEATURE
|
||||
|
||||
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
|
||||
// Gradually reduce leveling correction until a set height is reached,
|
||||
|
||||
@@ -186,7 +186,12 @@ bool hasPrintTimer = false;
|
||||
bool zig = (outer & 1);
|
||||
if (zig) x_Point = (GRID_MAX_POINTS_X - 1) - inner;
|
||||
xy_uint8_t point = {x_Point, outer};
|
||||
dgusdisplay.WriteVariable( (VP_MESH_VALUE_START + (abl_probe_index * 2)), static_cast<uint16_t>(ExtUI::getMeshPoint(point) * 1000));
|
||||
|
||||
DEBUG_ECHOLNPAIR("Mesh X: ", x_Point);
|
||||
DEBUG_ECHOLNPAIR("Mesh Y: ", outer);
|
||||
DEBUG_ECHOLNPAIR("Mesh adr: ", (VP_MESH_VALUE_START + (abl_probe_index * 4)));
|
||||
DEBUG_ECHOLNPAIR("Mesh Val: ", ExtUI::getMeshPoint(point));
|
||||
ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<3>((VP_MESH_VALUE_START + (abl_probe_index * 4)), ExtUI::getMeshPoint(point));
|
||||
++abl_probe_index;
|
||||
}
|
||||
}
|
||||
@@ -227,22 +232,22 @@ bool hasPrintTimer = false;
|
||||
|
||||
#if HAS_PID_HEATING
|
||||
void onPidTuning(const result_t rst) {
|
||||
// Called for temperature PID tuning result
|
||||
// switch (rst) {
|
||||
// case PID_BAD_EXTRUDER_NUM:
|
||||
// ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_BAD_EXTRUDER_NUM));
|
||||
// break;
|
||||
// case PID_TEMP_TOO_HIGH:
|
||||
// ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_TEMP_TOO_HIGH));
|
||||
// break;
|
||||
// case PID_TUNING_TIMEOUT:
|
||||
// ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_TIMEOUT));
|
||||
// break;
|
||||
// case PID_DONE:
|
||||
// ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_AUTOTUNE_DONE));
|
||||
// break;
|
||||
// }
|
||||
// ScreenHandler.GotoScreen(DGUSLCD_SCREEN_MAIN);
|
||||
//Called for temperature PID tuning result
|
||||
switch (rst) {
|
||||
case PID_BAD_EXTRUDER_NUM:
|
||||
ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_BAD_EXTRUDER_NUM));
|
||||
break;
|
||||
case PID_TEMP_TOO_HIGH:
|
||||
ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_TEMP_TOO_HIGH));
|
||||
break;
|
||||
case PID_TUNING_TIMEOUT:
|
||||
ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_TIMEOUT));
|
||||
break;
|
||||
case PID_DONE:
|
||||
ScreenHandler.setstatusmessagePGM(GET_TEXT(MSG_PID_AUTOTUNE_DONE));
|
||||
break;
|
||||
}
|
||||
ScreenHandler.GotoScreen(DGUSLCD_SCREEN_MAIN);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -493,6 +493,10 @@ void DGUSScreenHandler::OnMeshLevelingUpdate(const int8_t xpos, const int8_t ypo
|
||||
MeshLevelIndex++;
|
||||
|
||||
DEBUG_ECHOLNPAIR("Mesh level index: ", MeshLevelIndex);
|
||||
DEBUG_ECHOLNPAIR("Mesh X: ", xpos);
|
||||
DEBUG_ECHOLNPAIR("Mesh Y: ", ypos);
|
||||
xy_uint8_t pnt = {xpos, ypos};
|
||||
DEBUG_ECHOLNPAIR("Mesh Val: ", ExtUI::getMeshPoint(pnt));
|
||||
|
||||
// Update icon
|
||||
dgusdisplay.WriteVariable(VP_MESH_LEVEL_STATUS, static_cast<uint16_t>(MeshLevelIndex));
|
||||
@@ -506,15 +510,19 @@ void DGUSScreenHandler::OnMeshLevelingUpdate(const int8_t xpos, const int8_t ypo
|
||||
bool zig = (outer & 1); // != ((PR_OUTER_END) & 1);
|
||||
if (zig) x_Point = (GRID_MAX_POINTS_X - 1) - inner;
|
||||
xy_uint8_t point = {x_Point, outer};
|
||||
if(x_Point==xpos && outer ==ypos)
|
||||
dgusdisplay.WriteVariable( (VP_MESH_VALUE_START + (abl_probe_index * 2)), static_cast<uint16_t>(ExtUI::getMeshPoint(point) * 1000));
|
||||
if(x_Point==xpos && outer ==ypos) {
|
||||
DEBUG_ECHOLNPAIR("Mesh adr: ", (VP_MESH_VALUE_START + (abl_probe_index * 4)));
|
||||
DEBUG_ECHOLNPAIR("Mesh Val: ", ExtUI::getMeshPoint(point));
|
||||
ScreenHandler.DGUSLCD_SendFloatAsLongValueToDisplay<3>((VP_MESH_VALUE_START + (abl_probe_index * 4)), ExtUI::getMeshPoint(point));
|
||||
}
|
||||
++abl_probe_index;
|
||||
}
|
||||
}
|
||||
|
||||
if (MeshLevelIndex == GRID_MAX_POINTS) {
|
||||
// Done
|
||||
thermalManager.disable_all_heaters();
|
||||
if(!ExtUI::isPrinting())
|
||||
thermalManager.disable_all_heaters();
|
||||
|
||||
settings.save();
|
||||
|
||||
|
||||
@@ -211,6 +211,12 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
template<unsigned int decimals>
|
||||
static void DGUSLCD_SendFloatAsLongValueToDisplay(uint16_t vp, float var) {
|
||||
var *= cpow(10, decimals);
|
||||
dgusdisplay.WriteVariable(vp, (long)var);
|
||||
}
|
||||
|
||||
// Send an icon to the display, depending on whether it is true or false
|
||||
template<unsigned int value_if_true, unsigned int value_if_false>
|
||||
static void DGUSLCD_SendIconValue(DGUS_VP_Variable &var) {
|
||||
@@ -234,6 +240,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
template<unsigned int decimals>
|
||||
static void DGUSLCD_SendFloatAsIntValueToDisplay(uint16_t vp, float var) {
|
||||
DEBUG_ECHOLNPAIR_F(" >> ", var, 6);
|
||||
var *= cpow(10, decimals);
|
||||
dgusdisplay.WriteVariable(vp, (int16_t)var);
|
||||
}
|
||||
|
||||
/// Force an update of all VP on the current screen.
|
||||
static inline void ForceCompleteUpdate() { update_ptr = 0; ScreenComplete = false; }
|
||||
/// Has all VPs sent to the screen
|
||||
|
||||
@@ -98,7 +98,7 @@ constexpr uint16_t VP_MSGSTR2 = 0x2030;
|
||||
constexpr uint8_t VP_MSGSTR2_LEN = 0x40;
|
||||
constexpr uint16_t VP_MSGSTR3 = 0x2070;
|
||||
constexpr uint8_t VP_MSGSTR3_LEN = 0x40;
|
||||
constexpr uint16_t VP_MSGSTR4 = 0x11C0;
|
||||
constexpr uint16_t VP_MSGSTR4 = 0x2080;
|
||||
constexpr uint8_t VP_MSGSTR4_LEN = 0x20;
|
||||
|
||||
// // Screenchange request for screens that only make sense when printer is idle.
|
||||
@@ -194,7 +194,7 @@ constexpr uint16_t VP_PREHEAT_ABS_BED_TEMP = 0x110a;
|
||||
|
||||
// // Place for status messages.
|
||||
constexpr uint16_t VP_M117 = 0x21B3;
|
||||
constexpr uint8_t VP_M117_LEN = 60;
|
||||
constexpr uint8_t VP_M117_LEN = 40;
|
||||
|
||||
// // Temperatures.
|
||||
constexpr uint16_t VP_T_E0_Is = 0x1036; // 4 Byte Integer - HEAD_CURRENT_TEMP_VP
|
||||
|
||||
Reference in New Issue
Block a user