diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 34830f36d9..207fb4c19b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1350,7 +1350,7 @@ // The standard SD detect circuit reads LOW when media is inserted and HIGH when empty. // Enable this option and set to HIGH if your SD cards are incorrectly detected. - #if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder3V2, SKR14Turbo, SKR14, , Creality422, Creality427) + #if NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder3V2, SKR14Turbo, SKR14, , Creality422, Creality427, MachineEnder6) #define SD_DETECT_STATE HIGH #endif diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp index 19eb62fe73..3eaa931d72 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.cpp @@ -89,7 +89,7 @@ void onStartup() delay_ms(500); // Delay to allow screen startup SetTouchScreenConfiguration(); - + rtscheck.RTS_SndData(StartSoundSet, SoundAddr); delay_ms(400); // Delay to allow screen to configure onStatusChanged_P(PSTR(CUSTOM_MACHINE_NAME " Ready")); //Set Eco Mode @@ -167,6 +167,15 @@ void onIdle() rtscheck.RTS_SndData(getTargetTemp_celsius(H0), NozzlePreheat); rtscheck.RTS_SndData(getTargetTemp_celsius(BED), BedPreheat); + + rtscheck.RTS_SndData(map(constrain(Settings.display_volume, 0, 255), 0, 255, 0, 100), VolumeDisplay); + rtscheck.RTS_SndData(Settings.screen_brightness, DisplayBrightness); + rtscheck.RTS_SndData(Settings.standby_screen_brightness, DisplayStandbyBrightness); + if(Settings.display_standby) + rtscheck.RTS_SndData(3, DisplayStandbyEnableIndicator); + else + rtscheck.RTS_SndData(2, DisplayStandbyEnableIndicator); + reEntryPrevent = true; idleThrottling = 0; if(waitway && !commandsInQueue()) @@ -236,17 +245,17 @@ void onIdle() void yield(); + #if HAS_MESH + if (getLevelingActive()) + rtscheck.RTS_SndData(3, AutoLevelIcon); /*On*/ + else + rtscheck.RTS_SndData(2, AutoLevelIcon); /*Off*/ + #endif + if (InforShowStatus) { if (startprogress == 0) { - - #if HAS_MESH - if (getLevelingActive()) - rtscheck.RTS_SndData(3, AutoLevelIcon); /*On*/ - else - rtscheck.RTS_SndData(2, AutoLevelIcon); /*Off*/ - #endif startprogress += 25; } else if( startprogress < 250) @@ -704,6 +713,13 @@ void RTSSHOW::RTS_HandleData() break; } + if(recdat.addr == VolumeDisplay) + Checkkey = VolumeDisplay; + if(recdat.addr == DisplayBrightness) + Checkkey = DisplayBrightness; + if(recdat.addr == DisplayStandbyBrightness) + Checkkey = DisplayStandbyBrightness; + if (recdat.addr >= SDFILE_ADDR && recdat.addr <= (SDFILE_ADDR + 10 * (FileNum + 1))) Checkkey = Filename; @@ -1302,6 +1318,43 @@ void RTSSHOW::RTS_HandleData() onStatusChanged_P(PSTR("Moved up 0.025")); break; } + case 17: + { + Settings.display_volume = 0; + Settings.display_sound = false; + SetTouchScreenConfiguration(); + break; + } + case 18: + { + Settings.display_volume = 255; + Settings.display_sound = true; + SetTouchScreenConfiguration(); + break; + } + case 19: + { + Settings.screen_brightness = 10; + SetTouchScreenConfiguration(); + break; + } + case 20: + { + Settings.screen_brightness = 100; + SetTouchScreenConfiguration(); + break; + } + case 21: + { + if(Settings.display_standby) { + Settings.display_standby = false; + } + else { + Settings.display_standby = true; + } + SetTouchScreenConfiguration(); + break; + } default: { SERIAL_ECHOLNPAIR("Unsupported Option Selected", recdat.data[0]); @@ -1461,11 +1514,12 @@ void RTSSHOW::RTS_HandleData() switch(recdat.data[0]) { case 0: { - SERIAL_ECHOLNPGM_P(PSTR("Chinese Not Supported")); + SERIAL_ECHOLNPGM_P(PSTR("Store Settings")); + injectCommands_P(PSTR("M500")); break; } case 1: { - SERIAL_ECHOLNPGM_P(PSTR("English Already Set")); + RTS_SndData(ExchangePageBase + 94, ExchangepageAddr); break; } #if ENABLED(PIDTEMP) @@ -1691,6 +1745,52 @@ void RTSSHOW::RTS_HandleData() } break; + case VolumeDisplay: + { + SERIAL_ECHOLN("VolumeDisplay"); + if(recdat.data[0]==0) { + Settings.display_volume = 0; + Settings.display_sound = false; + } else if (recdat.data[0] > 100) { + Settings.display_volume = 255; + Settings.display_sound = true; + } else { + + Settings.display_volume = (uint8_t)map(constrain(recdat.data[0], 0, 100), 0, 100, 0, 255); + Settings.display_sound = true; + } + SetTouchScreenConfiguration(); + break; + } + + case DisplayBrightness: + { + SERIAL_ECHOLN("DisplayBrightness"); + if(recdat.data[0]<10) { + Settings.screen_brightness = 10; + } else if (recdat.data[0] > 100) { + Settings.screen_brightness = 100; + } else { + Settings.screen_brightness = (uint8_t)recdat.data[0]; + } + SetTouchScreenConfiguration(); + break; + } + + case DisplayStandbyBrightness: + { + SERIAL_ECHOLN("DisplayStandbyBrightness"); + if(recdat.data[0]<10) { + Settings.standby_screen_brightness = 10; + } else if (recdat.data[0] > 100) { + Settings.standby_screen_brightness = 100; + } else { + Settings.standby_screen_brightness = (uint8_t)recdat.data[0]; + } + SetTouchScreenConfiguration(); + break; + } + default: SERIAL_ECHOLNPGM_P(PSTR("No Match :")); break; @@ -1749,7 +1849,6 @@ void SetTouchScreenConfiguration() { }; WriteVariable(0x82 /*LED_Config*/, brightness_set, sizeof(brightness_set)); - rtscheck.RTS_SndData(StartSoundSet, SoundAddr); if (!Settings.display_sound) { rtscheck.RTS_SndData(0, VolumeIcon); diff --git a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h index fe1601a1a5..cbf355d7ec 100644 --- a/Marlin/src/lcd/extui/Creality/Creality_DWIN.h +++ b/Marlin/src/lcd/extui/Creality/Creality_DWIN.h @@ -138,6 +138,11 @@ namespace ExtUI { #define FilenameCount 0x20DE #define FilenameNature 0x6003 +#define VolumeDisplay 0x1140 +#define DisplayBrightness 0x1142 +#define DisplayStandbyBrightness 0x1144 +#define DisplayStandbyEnableIndicator 0x1146 + //#if ANY(MachineCR10SPro, MachineEnder5Plus, MachineCR10Max) || ENABLED(Force10SProDisplay) // #define StatusMessageString 0x3000 //#else diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index dc3df482b5..4378ad58c6 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -35,6 +35,10 @@ #include "../lcd/dwin/e3v2/dwin.h" #endif +#if ENABLED(EXTENSIBLE_UI) + #include "../lcd/extui/ui_api.h" +#endif + #include "../module/planner.h" // for synchronize #include "../module/printcounter.h" #include "../gcode/queue.h" @@ -422,6 +426,7 @@ void CardReader::mount() { else { flag.mounted = true; SERIAL_ECHO_MSG(STR_SD_CARD_OK); + TERN_(EXTENSIBLE_UI, ExtUI::onMediaInserted()); // ExtUI response } if (flag.mounted)