Another Step

This commit is contained in:
InsanityAutomation
2019-03-17 00:05:31 -04:00
parent a94dedd2cb
commit 6a3532bc71
4 changed files with 75 additions and 63 deletions
+1 -1
View File
@@ -529,7 +529,7 @@
// @section lcd
#if ENABLED(ULTIPANEL)
#if ENABLED(ULTIPANEL) || ENABLED(EXTENSIBLE_UI)
#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
#define MANUAL_E_MOVES_RELATIVE // Show LCD extruder moves as relative rather than absolute positions
#define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder
@@ -1,5 +1,4 @@
#include "Creality_DWIN.h"
#include "RTS_Show.h"
#include <HardwareSerial.h>
#include <arduino.h>
#include <wstring.h>
@@ -69,32 +68,33 @@ char commandbuf[30];
AutoLevelStatus = 1; //Set auto leveling on
int showcount = 0;
recdat.head[0] = snddat.head[0] = FHONE;
recdat.head[1] = snddat.head[1] = FHTWO;
memset(databuf,0, sizeof(databuf));
rtscheck.recdat.head[0] = rtscheck.snddat.head[0] = FHONE;
rtscheck.recdat.head[1] = rtscheck.snddat.head[1] = FHTWO;
memset(rtscheck.databuf,0, sizeof(rtscheck.databuf));
#if HAS_MESH && (ENABLED(MachineCR10SPro) || ENABLED(Force10SProDisplay))
if (leveling_is_valid())
if (getMeshValid())
{
bed_mesh_t bedMesh = getMeshArray();
for(int xCount = 0; xCount < GRID_MAX_POINTS_X; xCount++)
{
for(int yCount = 0; yCount < GRID_MAX_POINTS_X; yCount++)
{
if((showcount++) < 16)
{
RTS_SndData(z_values[xCount][yCount] *10000, AutolevelVal + (showcount-1)*2);
RTS_SndData(showcount,AutolevelIcon);
rtscheck.RTS_SndData(bedMesh[xCount][yCount] *10000, AutolevelVal + (showcount-1)*2);
rtscheck.RTS_SndData(showcount,AutolevelIcon);
}
}
}
RTS_SndData(2, AutoLevelIcon);/*On*/
rtscheck.RTS_SndData(2, AutoLevelIcon);/*On*/
enqueueCommands_P((PSTR("M420 S1")));
AutoLevelStatus = planner.leveling_active;
AutoLevelStatus = getLevelingActive();
}
else
{
RTS_SndData(3, AutoLevelIcon);/*Off*/
rtscheck.RTS_SndData(3, AutoLevelIcon);/*Off*/
//settings.load();
}
#endif
@@ -172,28 +172,28 @@ char commandbuf[30];
SERIAL_ECHOLN(" ***test1*** ");
if(startprogress == 0)
{
RTS_SndData(StartSoundSet, SoundAddr);
rtscheck.RTS_SndData(StartSoundSet, SoundAddr);
RTS_SndData(5, VolumeIcon);
RTS_SndData(8, SoundIcon);
RTS_SndData(0xC0, VolumeIcon-2);
rtscheck.RTS_SndData(5, VolumeIcon);
rtscheck.RTS_SndData(8, SoundIcon);
rtscheck.RTS_SndData(0xC0, VolumeIcon-2);
if(VolumeSet == 0)
{
RTS_SndData(0, VolumeIcon);
RTS_SndData(9, SoundIcon);
rtscheck.RTS_SndData(0, VolumeIcon);
rtscheck.RTS_SndData(9, SoundIcon);
}
else
{
RTS_SndData((VolumeSet+1)/32 - 1, VolumeIcon);
RTS_SndData(8, SoundIcon);
rtscheck.RTS_SndData((VolumeSet+1)/32 - 1, VolumeIcon);
rtscheck.RTS_SndData(8, SoundIcon);
}
RTS_SndData(VolumeSet, VolumeIcon-2);
RTS_SndData(VolumeSet<<8, SoundAddr+1);
rtscheck.RTS_SndData(VolumeSet, VolumeIcon-2);
rtscheck.RTS_SndData(VolumeSet<<8, SoundAddr+1);
}
if(startprogress <= 100)
RTS_SndData(startprogress,StartIcon);
rtscheck.RTS_SndData(startprogress,StartIcon);
else
RTS_SndData((startprogress-100),StartIcon+1);
rtscheck.RTS_SndData((startprogress-100),StartIcon+1);
delay(30);
if((startprogress +=1) > 200)
{
@@ -232,25 +232,25 @@ char commandbuf[30];
if(startprogress == 0)
{
RTS_SndData(StartSoundSet, SoundAddr);
rtscheck.RTS_SndData(StartSoundSet, SoundAddr);
if(VolumeSet == 0)
{
RTS_SndData(0, VolumeIcon);
RTS_SndData(9, SoundIcon);
rtscheck.RTS_SndData(0, VolumeIcon);
rtscheck.RTS_SndData(9, SoundIcon);
}
else
{
RTS_SndData((VolumeSet+1)/32 - 1, VolumeIcon);
RTS_SndData(8, SoundIcon);
rtscheck.RTS_SndData((VolumeSet+1)/32 - 1, VolumeIcon);
rtscheck.RTS_SndData(8, SoundIcon);
}
RTS_SndData(VolumeSet, VolumeIcon-2);
RTS_SndData(VolumeSet<<8, SoundAddr+1);
rtscheck.RTS_SndData(VolumeSet, VolumeIcon-2);
rtscheck.RTS_SndData(VolumeSet<<8, SoundAddr+1);
}
if(startprogress <= 100)
RTS_SndData(startprogress,StartIcon);
rtscheck.RTS_SndData(startprogress,StartIcon);
else
RTS_SndData((startprogress-100),StartIcon+1);
rtscheck.RTS_SndData((startprogress-100),StartIcon+1);
delay(30);
if((startprogress +=1) > 200)
{
@@ -259,7 +259,7 @@ char commandbuf[30];
InforShowStatus = true;
TPShowStatus = false;
Update_Time_Value = RTS_UPDATE_VALUE;
RTS_SndData(ExchangePageBase + 45, ExchangepageAddr);
rtscheck.RTS_SndData(ExchangePageBase + 45, ExchangepageAddr);
}
return;
}
@@ -268,8 +268,8 @@ char commandbuf[30];
if (TPShowStatus && isPrinting()) //need to optimize
{
static unsigned int last_cardpercentValue = 101;
RTS_SndData(getProgress_seconds_elapsed() / 3600,Timehour);
RTS_SndData((getProgress_seconds_elapsed() /3600)/60,Timemin);
rtscheck.RTS_SndData(getProgress_seconds_elapsed() / 3600,Timehour);
rtscheck.RTS_SndData((getProgress_seconds_elapsed() /3600)/60,Timemin);
if(last_cardpercentValue != getProgress_percent())
{
@@ -278,33 +278,33 @@ char commandbuf[30];
Percentrecord = progress_bar_percent+1;
if(Percentrecord<= 50)
{
RTS_SndData((unsigned int)Percentrecord*2 ,PrintscheduleIcon);
RTS_SndData(0,PrintscheduleIcon+1);
rtscheck.RTS_SndData((unsigned int)Percentrecord*2 ,PrintscheduleIcon);
rtscheck.RTS_SndData(0,PrintscheduleIcon+1);
}
else
{
RTS_SndData(100 ,PrintscheduleIcon);
RTS_SndData((unsigned int)Percentrecord*2 -100,PrintscheduleIcon+1);
rtscheck.RTS_SndData(100 ,PrintscheduleIcon);
rtscheck.RTS_SndData((unsigned int)Percentrecord*2 -100,PrintscheduleIcon+1);
}
}
else
{
RTS_SndData(0,PrintscheduleIcon);
RTS_SndData(0,PrintscheduleIcon+1);
rtscheck.RTS_SndData(0,PrintscheduleIcon);
rtscheck.RTS_SndData(0,PrintscheduleIcon+1);
}
RTS_SndData((unsigned int)getProgress_percent(),Percentage);
rtscheck.RTS_SndData((unsigned int)getProgress_percent(),Percentage);
last_cardpercentValue = getProgress_percent();
}
}
RTS_SndData(getZOffset_mm()*100, 0x1026);
rtscheck.RTS_SndData(getZOffset_mm()*100, 0x1026);
//float temp_buf = getActualTemp_celsius(H0);
RTS_SndData(getActualTemp_celsius(H0),NozzleTemp);
RTS_SndData(getActualTemp_celsius(BED),Bedtemp);
rtscheck.RTS_SndData(getActualTemp_celsius(H0),NozzleTemp);
rtscheck.RTS_SndData(getActualTemp_celsius(BED),Bedtemp);
if(last_target_temperature_bed != getTargetTemp_celsius(BED) || (last_target_temperature[0] != getTargetTemp_celsius(H0)))
{
RTS_SndData(getTargetTemp_celsius(H0),NozzlePreheat);
RTS_SndData(getTargetTemp_celsius(BED),BedPreheat);
rtscheck.RTS_SndData(getTargetTemp_celsius(H0),NozzlePreheat);
rtscheck.RTS_SndData(getTargetTemp_celsius(BED),BedPreheat);
if(isPrinting())
{
@@ -312,13 +312,13 @@ char commandbuf[30];
}
else if(last_target_temperature_bed < getTargetTemp_celsius(BED) || (last_target_temperature[0] < getTargetTemp_celsius(H0)))
{
RTS_SndData(1+CEIconGrap,IconPrintstatus);
rtscheck.RTS_SndData(1+CEIconGrap,IconPrintstatus);
Update_Time_Value = 0;
PrinterStatusKey[1] =( PrinterStatusKey[1] == 0? 1 : PrinterStatusKey[1]);
}
else if(last_target_temperature_bed > getTargetTemp_celsius(BED) || (last_target_temperature[0] > getTargetTemp_celsius(H0)))
{
RTS_SndData(8+CEIconGrap,IconPrintstatus);
rtscheck.RTS_SndData(8+CEIconGrap,IconPrintstatus);
Update_Time_Value = 0;
PrinterStatusKey[1] =( PrinterStatusKey[1] == 0? 2 : PrinterStatusKey[1] );
}
@@ -335,14 +335,14 @@ char commandbuf[30];
IconTemp = getActualTemp_celsius(H0) * 100/getTargetTemp_celsius(H0);
if(IconTemp >= 100)
IconTemp = 100;
RTS_SndData(IconTemp, HeatPercentIcon);
rtscheck.RTS_SndData(IconTemp, HeatPercentIcon);
if(getActualTemp_celsius(H0) >= getTargetTemp_celsius(H0) && NozzleTempStatus[0])
{
NozzleTempStatus[1] = 0;
NozzleTempStatus[0] = 0;
RTS_SndData(10*ChangeMaterialbuf[0], FilementUnit1);
RTS_SndData(10*ChangeMaterialbuf[1], FilementUnit2);
RTS_SndData(ExchangePageBase + 65, ExchangepageAddr);
rtscheck.RTS_SndData(10*ChangeMaterialbuf[0], FilementUnit1);
rtscheck.RTS_SndData(10*ChangeMaterialbuf[1], FilementUnit2);
rtscheck.RTS_SndData(ExchangePageBase + 65, ExchangepageAddr);
//RTS_line_to_current(E_AXIS); //NEEDS FIX
setActiveTool(E0, true);
//delay(current_position[E_AXIS] * 1000);
@@ -352,25 +352,25 @@ char commandbuf[30];
SERIAL_ECHOPAIR("\n ***NozzleTempStatus[2] =",(int)NozzleTempStatus[2]);
startprogress = NozzleTempStatus[2] = 0;
TPShowStatus = true;
RTS_SndData(4, ExchFlmntIcon);
RTS_SndData(ExchangePageBase + 83, ExchangepageAddr);
rtscheck.RTS_SndData(4, ExchFlmntIcon);
rtscheck.RTS_SndData(ExchangePageBase + 83, ExchangepageAddr);
}
else if( NozzleTempStatus[2] )
{
RTS_SndData((startprogress++)%5, ExchFlmntIcon);
rtscheck.RTS_SndData((startprogress++)%5, ExchFlmntIcon);
}
}
if(AutohomeKey )
{
RTS_SndData(AutoHomeIconNum++,AutoZeroIcon);
rtscheck.RTS_SndData(AutoHomeIconNum++,AutoZeroIcon);
if(AutoHomeIconNum > 9) AutoHomeIconNum = 0;
}
}
if(getLevelingActive())
RTS_SndData(2, AutoLevelIcon);/*Off*/
rtscheck.RTS_SndData(2, AutoLevelIcon);/*Off*/
else
RTS_SndData(3, AutoLevelIcon);/*On*/
rtscheck.RTS_SndData(3, AutoLevelIcon);/*On*/
next_rts_update_ms = ms + RTS_UPDATE_INTERVAL + Update_Time_Value;
}
//SERIAL_ECHOPAIR("\n RTSUpdate Waitway",waitway);
@@ -1243,7 +1243,7 @@ SERIAL_ECHO(Checkkey);
break;
}
float targetPos = ((float)recdat.data[0])/10;
targetPos = ((float)recdat.data[0])/10;
if (targetPos < min) targetPos = min;
else if (targetPos > max) targetPos = max;
@@ -129,7 +129,6 @@ class RTSSHOW {
DB recdat;
DB snddat;
private:
unsigned char databuf[SizeofDatabuf];
};
@@ -192,4 +191,5 @@ extern char PrinterStatusKey[2];
extern const char *injected_commands_P;
extern uint8_t progress_bar_percent;
extruder_t original_extruder;
float targetPos;
}
+14 -2
View File
@@ -80,6 +80,16 @@
#include "ui_api.h"
#if HAS_LEVELING
#if ENABLED(MESH_BED_LEVELING)
#include "../../feature/bedlevelmbl/mesh_bed_leveling.h"
#elif ENABLED(AUTO_BED_LEVELING_UBL)
#include "../../feature/bedlevel/ubl/ubl.h"
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR)
#include "../../feature/bedlevel/abl/abl.h"
#endif
#endif
#if ENABLED(BACKLASH_GCODE)
extern float backlash_distance_mm[XYZ], backlash_correction;
#ifdef BACKLASH_SMOOTHING_MM
@@ -417,7 +427,9 @@ namespace ExtUI {
void setJunctionDeviation_mm(const float value) {
planner.junction_deviation_mm = clamp(value, 0.01, 0.3);
planner.recalculate_max_e_jerk();
#if ENABLED(LIN_ADVANCE)
planner.recalculate_max_e_jerk();
#endif
}
#else
@@ -579,7 +591,7 @@ namespace ExtUI {
#if HAS_LEVELING
bool getLevelingActive() { return planner.leveling_active; }
void setLevelingActive(const bool state) { set_bed_leveling_enabled(state) }
void setLevelingActive(const bool state) { set_bed_leveling_enabled(state); }
#if HAS_MESH
bool getMeshValid() { return leveling_is_valid(); }
bed_mesh_t getMeshArray() { return Z_VALUES; }