Add custom end gcode

#208
This commit is contained in:
lawgicau
2021-07-13 15:36:45 +10:00
parent 0cfab2c333
commit b0765f7512
3 changed files with 82 additions and 2 deletions

View File

@ -235,7 +235,18 @@
<label>Retraction speed (mm/sec): <input type="number" name="retspeed" value="40" min="5" max="150" step="1"></label></p> <label>Retraction speed (mm/sec): <input type="number" name="retspeed" value="40" min="5" max="150" step="1"></label></p>
<p><label>Extra restart distance (mm): <input type="number" name="retdistextra" min="-10" max="10" value="0" step="0.1"></label> <p><label>Extra restart distance (mm): <input type="number" name="retdistextra" min="-10" max="10" value="0" step="0.1"></label>
<label>Z hop (mm): <input type="number" name="zhop" min="0" max="10" value="0" step="0.1"></label></p> <label>Z hop (mm): <input type="number" name="zhop" min="0" max="10" value="0" step="0.1"></label></p>
<h4>Additional end gcode</h4>
<p>If you have additional end commands, tick the box and enter the gcode.</p>
<label>Additional end gcode:<input name="end" type="checkbox" onchange="toggle(!this.checked, '#firstlayerEnd')" value="extraEnd"></label>
<div id="firstlayerEnd" class="endExp">
<p>For the majority of users, you can skip this section. Any gcode entered here will be inserted at the very end of the file.</p>
<textarea name="endgcode"></textarea>
</div>
<script>
if(document.firstlayerForm.start.checked == false){
$("#firstlayerEnd").hide();
}
</script>
<p><input type="button" onclick="processFirstlayer()" value="Download Gcode"></p> <p><input type="button" onclick="processFirstlayer()" value="Download Gcode"></p>
<p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p> <p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p>
</form> </form>
@ -322,6 +333,18 @@
<label>Retraction speed (mm/sec): <input type="number" name="retspeed" value="40" min="5" max="150" step="1"></label></p> <label>Retraction speed (mm/sec): <input type="number" name="retspeed" value="40" min="5" max="150" step="1"></label></p>
<p><label>Extra restart distance (mm): <input type="number" name="retdistextra" min="-10" max="10" value="0" step="0.1"></label> <p><label>Extra restart distance (mm): <input type="number" name="retdistextra" min="-10" max="10" value="0" step="0.1"></label>
<label>Z hop (mm): <input type="number" name="zhop" min="0" max="10" value="0" step="0.1"></label></p> <label>Z hop (mm): <input type="number" name="zhop" min="0" max="10" value="0" step="0.1"></label></p>
<h4>Additional end gcode</h4>
<p>If you have additional end commands, tick the box and enter the gcode.</p>
<label>Additional end gcode:<input name="end" type="checkbox" onchange="toggle(!this.checked, '#baselineEnd')" value="extraEnd"></label>
<div id="baselineEnd" class="endExp">
<p>For the majority of users, you can skip this section. Any gcode entered here will be inserted at the very end of the file.</p>
<textarea name="endgcode"></textarea>
</div>
<script>
if(document.baselineForm.start.checked == false){
$("#baselineEnd").hide();
}
</script>
<p><input type="button" onclick="processBaseline()" value="Download Gcode"></p> <p><input type="button" onclick="processBaseline()" value="Download Gcode"></p>
<p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p> <p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p>
</form> </form>
@ -851,6 +874,18 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h4>Additional end gcode</h4>
<p>If you have additional end commands, tick the box and enter the gcode.</p>
<label>Additional end gcode:<input name="end" type="checkbox" onchange="toggle(!this.checked, '#retractionEnd')" value="extraEnd"></label>
<div id="retractionEnd" class="endExp">
<p>For the majority of users, you can skip this section. Any gcode entered here will be inserted at the very end of the file.</p>
<textarea name="endgcode"></textarea>
</div>
<script>
if(document.retractionForm.start.checked == false){
$("#retractionEnd").hide();
}
</script>
<p><input type="button" onclick="processRetraction()" value="Download Gcode"></p> <p><input type="button" onclick="processRetraction()" value="Download Gcode"></p>
<p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p> <p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p>
</form> </form>
@ -987,6 +1022,18 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h4>Additional end gcode</h4>
<p>If you have additional end commands, tick the box and enter the gcode.</p>
<label>Additional end gcode:<input name="end" type="checkbox" onchange="toggle(!this.checked, '#temperatureEnd')" value="extraEnd"></label>
<div id="temperatureEnd" class="endExp">
<p>For the majority of users, you can skip this section. Any gcode entered here will be inserted at the very end of the file.</p>
<textarea name="endgcode"></textarea>
</div>
<script>
if(document.temperatureForm.start.checked == false){
$("#temperatureEnd").hide();
}
</script>
<p><input type="button" onclick="processTemperature()" value="Download Gcode"></p> <p><input type="button" onclick="processTemperature()" value="Download Gcode"></p>
<p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p> <p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p>
</form> </form>
@ -1215,6 +1262,18 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h4>Additional end gcode</h4>
<p>If you have additional end commands, tick the box and enter the gcode.</p>
<label>Additional end gcode:<input name="end" type="checkbox" onchange="toggle(!this.checked, '#accelerationEnd')" value="extraEnd"></label>
<div id="accelerationEnd" class="endExp">
<p>For the majority of users, you can skip this section. Any gcode entered here will be inserted at the very end of the file.</p>
<textarea name="endgcode"></textarea>
</div>
<script>
if(document.accelerationForm.start.checked == false){
$("#accelerationEnd").hide();
}
</script>
<p><input type="button" onclick="processAcceleration()" value="Download Gcode"></p> <p><input type="button" onclick="processAcceleration()" value="Download Gcode"></p>
<p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p> <p><input type="button" onclick="resetFormToDefaults(form)" value="Reset parameters"> <input type="button" onclick="outputSettings(form)" value="Output Settings Summary"></p>
</form> </form>

View File

@ -19,4 +19,5 @@ M106 S0 ; turn off cooling fan
M104 S0 ; turn off extruder M104 S0 ; turn off extruder
M140 S0 ; turn off bed M140 S0 ; turn off bed
M84 ; disable motors M84 ; disable motors
M501 ; restore previous EEPROM values` M501 ; restore previous EEPROM values
;customend`

View File

@ -117,6 +117,7 @@ function processFirstlayer(){
var zhop = document.firstlayerForm.zhop.value; var zhop = document.firstlayerForm.zhop.value;
var abl = document.firstlayerForm.abl.value; var abl = document.firstlayerForm.abl.value;
var customStart = document.firstlayerForm.startgcode.value; var customStart = document.firstlayerForm.startgcode.value;
var customEnd = document.firstlayerForm.endgcode.value;
var firstlayerStart = commonStart; var firstlayerStart = commonStart;
var skirts = ""; var skirts = "";
var squares = ""; var squares = "";
@ -228,6 +229,9 @@ function processFirstlayer(){
if(document.firstlayerForm.start.checked == true) { if(document.firstlayerForm.start.checked == true) {
firstlayer = firstlayer.replace(/;customstart/, "; custom start gcode\n"+customStart); firstlayer = firstlayer.replace(/;customstart/, "; custom start gcode\n"+customStart);
} }
if(document.firstlayerForm.end.checked == true) {
firstlayer = firstlayer.replace(/;customend/, "; custom end gcode\n"+customEnd);
}
downloadFile('firstlayer.gcode', firstlayer); downloadFile('firstlayer.gcode', firstlayer);
} }
@ -247,6 +251,7 @@ function processBaseline(){
var fanPercentage = document.baselineForm.fanSpeed.value; var fanPercentage = document.baselineForm.fanSpeed.value;
var fanSpeed = Math.round(fanPercentage*2.55); var fanSpeed = Math.round(fanPercentage*2.55);
var customStart = document.baselineForm.startgcode.value; var customStart = document.baselineForm.startgcode.value;
var customEnd = document.baselineForm.endgcode.value;
var baseline = commonStart; var baseline = commonStart;
switch(nozzleLayer){ switch(nozzleLayer){
case '40_20': case '40_20':
@ -359,6 +364,9 @@ function processBaseline(){
if(document.baselineForm.start.checked == true) { if(document.baselineForm.start.checked == true) {
baseline = baseline.replace(/;customstart/, "; custom start gcode\n"+customStart); baseline = baseline.replace(/;customstart/, "; custom start gcode\n"+customStart);
} }
if(document.baselineForm.end.checked == true) {
baseline = baseline.replace(/;customend/, "; custom end gcode\n"+customEnd);
}
downloadFile('baseline.gcode', baseline); downloadFile('baseline.gcode', baseline);
} }
@ -404,6 +412,7 @@ function processRetraction(){
var f4 = document.retractionForm.ret_f4.value*60; var f4 = document.retractionForm.ret_f4.value*60;
var f5 = document.retractionForm.ret_f5.value; var f5 = document.retractionForm.ret_f5.value;
var customStart = document.retractionForm.startgcode.value; var customStart = document.retractionForm.startgcode.value;
var customEnd = document.retractionForm.endgcode.value;
var retraction = commonStart; var retraction = commonStart;
switch(nozzleLayer){ switch(nozzleLayer){
case "40_20": case "40_20":
@ -554,6 +563,9 @@ function processRetraction(){
if(document.retractionForm.start.checked == true) { if(document.retractionForm.start.checked == true) {
retraction = retraction.replace(/;customstart/, "; custom start gcode\n"+customStart); retraction = retraction.replace(/;customstart/, "; custom start gcode\n"+customStart);
} }
if(document.retractionForm.end.checked == true) {
retraction = retraction.replace(/;customend/, "; custom end gcode\n"+customEnd);
}
downloadFile('retraction.gcode', retraction); downloadFile('retraction.gcode', retraction);
} }
@ -578,6 +590,7 @@ function processTemperature(){
var d1 = document.temperatureForm.temp_d1.value; var d1 = document.temperatureForm.temp_d1.value;
var e1 = document.temperatureForm.temp_e1.value; var e1 = document.temperatureForm.temp_e1.value;
var customStart = document.temperatureForm.startgcode.value; var customStart = document.temperatureForm.startgcode.value;
var customEnd = document.temperatureForm.endgcode.value;
var temperature = commonStart; var temperature = commonStart;
switch(nozzleLayer){ switch(nozzleLayer){
case '40_20': case '40_20':
@ -698,6 +711,9 @@ function processTemperature(){
if(document.temperatureForm.start.checked == true) { if(document.temperatureForm.start.checked == true) {
temperature = temperature.replace(/;customstart/, "; custom start gcode\n"+customStart); temperature = temperature.replace(/;customstart/, "; custom start gcode\n"+customStart);
} }
if(document.temperatureForm.end.checked == true) {
temperature = temperature.replace(/;customend/, "; custom end gcode\n"+customEnd);
}
downloadFile('temperature.gcode', temperature); downloadFile('temperature.gcode', temperature);
} }
@ -743,6 +759,7 @@ function processAcceleration(){
var f3 = document.accelerationForm.accel_f3.value; var f3 = document.accelerationForm.accel_f3.value;
var f4 = document.accelerationForm.accel_f4.value; var f4 = document.accelerationForm.accel_f4.value;
var customStart = document.accelerationForm.startgcode.value; var customStart = document.accelerationForm.startgcode.value;
var customEnd = document.accelerationForm.endgcode.value;
var acceleration = commonStart; var acceleration = commonStart;
switch(nozzleLayer){ switch(nozzleLayer){
case '40_20': case '40_20':
@ -882,6 +899,9 @@ function processAcceleration(){
if(document.accelerationForm.start.checked == true) { if(document.accelerationForm.start.checked == true) {
acceleration = acceleration.replace(/;customstart/, "; custom start gcode\n"+customStart); acceleration = acceleration.replace(/;customstart/, "; custom start gcode\n"+customStart);
} }
if(document.accelerationForm.end.checked == true) {
acceleration = acceleration.replace(/;customend/, "; custom end gcode\n"+customEnd);
}
downloadFile('acceleration.gcode', acceleration); downloadFile('acceleration.gcode', acceleration);
} }