George Fu 4 роки тому
джерело
коміт
e3ebbe25e0
Аккаунт користувача з таким Email не знайдено

+ 5
- 5
Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp Переглянути файл

@@ -30,10 +30,6 @@
30 30
   #error "More than 2 hotends not implemented on the Display UI design."
31 31
 #endif
32 32
 
33
-#include "DGUSDisplay.h"
34
-#include "DGUSVPVariable.h"
35
-#include "DGUSDisplayDef.h"
36
-
37 33
 #include "../../ui_api.h"
38 34
 
39 35
 #include "../../../../MarlinCore.h"
@@ -48,6 +44,10 @@
48 44
   #include "../../../../feature/powerloss.h"
49 45
 #endif
50 46
 
47
+#include "DGUSDisplay.h"
48
+#include "DGUSVPVariable.h"
49
+#include "DGUSDisplayDef.h"
50
+
51 51
 // Preamble... 2 Bytes, usually 0x5A 0xA5, but configurable
52 52
 constexpr uint8_t DGUS_HEADER1 = 0x5A;
53 53
 constexpr uint8_t DGUS_HEADER2 = 0xA5;
@@ -855,7 +855,7 @@ void DGUSScreenVariableHandler::HandleStepPerMMExtruderChanged(DGUS_VP_Variable
855 855
 void DGUSScreenVariableHandler::HandleProbeOffsetZChanged(DGUS_VP_Variable &var, void *val_ptr) {
856 856
   DEBUG_ECHOLNPGM("HandleProbeOffsetZChanged");
857 857
 
858
-  const float offset = float(swap16(*(uint16_t*)val_ptr)) / 100.0f;
858
+  const float offset = float(int16_t(swap16(*(uint16_t*)val_ptr))) / 100.0f;
859 859
   ExtUI::setZOffset_mm(offset);
860 860
   ScreenHandler.skipVP = var.VP; // don't overwrite value the next update time as the display might autoincrement in parallel
861 861
   return;

+ 9
- 1
Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.cpp Переглянути файл

@@ -283,6 +283,13 @@ const uint16_t VPList_FLCPrinting[] PROGMEM = {
283 283
   0x0000
284 284
 };
285 285
 
286
+const uint16_t VPList_Z_Offset[] PROGMEM = {
287
+  #if HOTENDS >= 1
288
+    VP_SD_Print_ProbeOffsetZ,
289
+  #endif
290
+  0x0000
291
+};
292
+
286 293
 const struct VPMapping VPMap[] PROGMEM = {
287 294
   { DGUSLCD_SCREEN_BOOT, VPList_Boot },
288 295
   { DGUSLCD_SCREEN_MAIN, VPList_Main },
@@ -291,6 +298,7 @@ const struct VPMapping VPMap[] PROGMEM = {
291 298
   { DGUSLCD_SCREEN_STATUS2, VPList_Status2 },
292 299
   { DGUSLCD_SCREEN_PREHEAT, VPList_Preheat },
293 300
   { DGUSLCD_SCREEN_MANUALMOVE, VPList_ManualMove },
301
+  { DGUSLCD_SCREEN_Z_OFFSET, VPList_Z_Offset },
294 302
   { DGUSLCD_SCREEN_MANUALEXTRUDE, VPList_ManualExtrude },
295 303
   { DGUSLCD_SCREEN_FILAMENT_HEATING, VPList_Filament_heating },
296 304
   { DGUSLCD_SCREEN_FILAMENT_LOADING, VPList_Filament_load_unload },
@@ -361,7 +369,7 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
361 369
   #if HOTENDS >= 1
362 370
     VPHELPER(VP_T_E0_Is, &thermalManager.temp_hotend[0].celsius, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<0>),
363 371
     VPHELPER(VP_T_E0_Set, &thermalManager.temp_hotend[0].target, DGUSScreenVariableHandler::HandleTemperatureChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay),
364
-    VPHELPER(VP_Flowrate_E0, nullptr, DGUSScreenVariableHandler::HandleFlowRateChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay),
372
+    VPHELPER(VP_Flowrate_E0, &planner.flow_percentage[ExtUI::extruder_t::E0], DGUSScreenVariableHandler::HandleFlowRateChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay),
365 373
     VPHELPER(VP_EPos, &destination.e, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<2>),
366 374
     VPHELPER(VP_MOVE_E0, nullptr, &DGUSScreenVariableHandler::HandleManualExtrude, nullptr),
367 375
     VPHELPER(VP_E0_CONTROL, &thermalManager.temp_hotend[0].target, &DGUSScreenVariableHandler::HandleHeaterControl, nullptr),

+ 1
- 0
Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.h Переглянути файл

@@ -35,6 +35,7 @@ enum DGUSLCD_Screens : uint8_t {
35 35
   DGUSLCD_SCREEN_FILAMENT_LOADING     =  76,
36 36
   DGUSLCD_SCREEN_FILAMENT_UNLOADING   =  82,
37 37
   DGUSLCD_SCREEN_MANUALEXTRUDE        =  84,
38
+  DGUSLCD_SCREEN_Z_OFFSET             =  88,
38 39
   DGUSLCD_SCREEN_SDFILELIST           =   3,
39 40
   DGUSLCD_SCREEN_SDPRINTMANIPULATION  =   7,
40 41
   DGUSLCD_SCREEN_SDPRINTTUNE          =   9,

Завантаження…
Відмінити
Зберегти