George Fu 4 anni fa
parent
commit
e3ebbe25e0
Nessun account collegato all'indirizzo email del committer

+ 5
- 5
Marlin/src/lcd/extui/lib/dgus/DGUSDisplay.cpp Vedi File

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

+ 9
- 1
Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.cpp Vedi File

283
   0x0000
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
 const struct VPMapping VPMap[] PROGMEM = {
293
 const struct VPMapping VPMap[] PROGMEM = {
287
   { DGUSLCD_SCREEN_BOOT, VPList_Boot },
294
   { DGUSLCD_SCREEN_BOOT, VPList_Boot },
288
   { DGUSLCD_SCREEN_MAIN, VPList_Main },
295
   { DGUSLCD_SCREEN_MAIN, VPList_Main },
291
   { DGUSLCD_SCREEN_STATUS2, VPList_Status2 },
298
   { DGUSLCD_SCREEN_STATUS2, VPList_Status2 },
292
   { DGUSLCD_SCREEN_PREHEAT, VPList_Preheat },
299
   { DGUSLCD_SCREEN_PREHEAT, VPList_Preheat },
293
   { DGUSLCD_SCREEN_MANUALMOVE, VPList_ManualMove },
300
   { DGUSLCD_SCREEN_MANUALMOVE, VPList_ManualMove },
301
+  { DGUSLCD_SCREEN_Z_OFFSET, VPList_Z_Offset },
294
   { DGUSLCD_SCREEN_MANUALEXTRUDE, VPList_ManualExtrude },
302
   { DGUSLCD_SCREEN_MANUALEXTRUDE, VPList_ManualExtrude },
295
   { DGUSLCD_SCREEN_FILAMENT_HEATING, VPList_Filament_heating },
303
   { DGUSLCD_SCREEN_FILAMENT_HEATING, VPList_Filament_heating },
296
   { DGUSLCD_SCREEN_FILAMENT_LOADING, VPList_Filament_load_unload },
304
   { DGUSLCD_SCREEN_FILAMENT_LOADING, VPList_Filament_load_unload },
361
   #if HOTENDS >= 1
369
   #if HOTENDS >= 1
362
     VPHELPER(VP_T_E0_Is, &thermalManager.temp_hotend[0].celsius, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<0>),
370
     VPHELPER(VP_T_E0_Is, &thermalManager.temp_hotend[0].celsius, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<0>),
363
     VPHELPER(VP_T_E0_Set, &thermalManager.temp_hotend[0].target, DGUSScreenVariableHandler::HandleTemperatureChanged, &DGUSScreenVariableHandler::DGUSLCD_SendWordValueToDisplay),
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
     VPHELPER(VP_EPos, &destination.e, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<2>),
373
     VPHELPER(VP_EPos, &destination.e, nullptr, DGUSScreenVariableHandler::DGUSLCD_SendFloatAsLongValueToDisplay<2>),
366
     VPHELPER(VP_MOVE_E0, nullptr, &DGUSScreenVariableHandler::HandleManualExtrude, nullptr),
374
     VPHELPER(VP_MOVE_E0, nullptr, &DGUSScreenVariableHandler::HandleManualExtrude, nullptr),
367
     VPHELPER(VP_E0_CONTROL, &thermalManager.temp_hotend[0].target, &DGUSScreenVariableHandler::HandleHeaterControl, nullptr),
375
     VPHELPER(VP_E0_CONTROL, &thermalManager.temp_hotend[0].target, &DGUSScreenVariableHandler::HandleHeaterControl, nullptr),

+ 1
- 0
Marlin/src/lcd/extui/lib/dgus/hiprecy/DGUSDisplayDef.h Vedi File

35
   DGUSLCD_SCREEN_FILAMENT_LOADING     =  76,
35
   DGUSLCD_SCREEN_FILAMENT_LOADING     =  76,
36
   DGUSLCD_SCREEN_FILAMENT_UNLOADING   =  82,
36
   DGUSLCD_SCREEN_FILAMENT_UNLOADING   =  82,
37
   DGUSLCD_SCREEN_MANUALEXTRUDE        =  84,
37
   DGUSLCD_SCREEN_MANUALEXTRUDE        =  84,
38
+  DGUSLCD_SCREEN_Z_OFFSET             =  88,
38
   DGUSLCD_SCREEN_SDFILELIST           =   3,
39
   DGUSLCD_SCREEN_SDFILELIST           =   3,
39
   DGUSLCD_SCREEN_SDPRINTMANIPULATION  =   7,
40
   DGUSLCD_SCREEN_SDPRINTMANIPULATION  =   7,
40
   DGUSLCD_SCREEN_SDPRINTTUNE          =   9,
41
   DGUSLCD_SCREEN_SDPRINTTUNE          =   9,

Loading…
Annulla
Salva