Fix added for feedrate "bug" in Slic3r.
This commit is contained in:
parent
874e6e0baf
commit
f23b286f1d
7 changed files with 7625 additions and 22 deletions
1
GCodes.h
1
GCodes.h
|
@ -110,6 +110,7 @@ class GCodes
|
|||
boolean homeXQueued;
|
||||
boolean homeYQueued;
|
||||
boolean homeZQueued;
|
||||
float gFeedRate;
|
||||
};
|
||||
|
||||
//*****************************************************************************************************
|
||||
|
|
|
@ -62,6 +62,7 @@ void GCodes::Init()
|
|||
dwellWaiting = false;
|
||||
stackPointer = 0;
|
||||
selectedHead = -1;
|
||||
gFeedRate = platform->MaxFeedrate(Z_AXIS); // Typically the slowest
|
||||
dwellTime = platform->Time();
|
||||
}
|
||||
|
||||
|
@ -226,8 +227,10 @@ boolean GCodes::SetUpMove(GCodeBuffer *gb)
|
|||
// Deal with feedrate
|
||||
|
||||
if(gb->Seen(gCodeLetters[DRIVES]))
|
||||
moveBuffer[DRIVES] = gb->GetFValue()*distanceScale*0.016666667; // Feedrates are in mm/minute; we need mm/sec
|
||||
gFeedRate = gb->GetFValue()*distanceScale*0.016666667; // Feedrates are in mm/minute; we need mm/sec
|
||||
|
||||
moveBuffer[DRIVES] = gFeedRate; // We always set it, as Move may have modified the last one.
|
||||
|
||||
// Remember for next time if we are switched
|
||||
// to absolute drive moves
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ Licence: GPL
|
|||
#define ACCELERATIONS {800.0, 800.0, 30.0, 250.0} // mm/sec^2??
|
||||
//#define ACCELERATIONS {80, 80, 3, 25}
|
||||
#define DRIVE_STEPS_PER_UNIT {91.4286, 91.4286, 4000.0, 948.0}
|
||||
#define INSTANT_DVS {1.0, 1.0, 0.3, 1.0} // (mm/sec) - Bit high? AB
|
||||
#define INSTANT_DVS {15.0, 15.0, 0.4, 15} // (mm/sec) - Bit high? AB
|
||||
|
||||
// AXES
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
M107
|
||||
M104 S205 ; set temperature
|
||||
G28 ; home all axes
|
||||
;G1 Z5 F200 ; lift nozzle
|
||||
G1 Z5 F200 ; lift nozzle
|
||||
M109 S205 ; wait for temperature to be reached
|
||||
G90 ; use absolute coordinates
|
||||
G21 ; set units to millimeters
|
||||
|
|
7591
SD-image/gcodes/crocclip.g~
Normal file
7591
SD-image/gcodes/crocclip.g~
Normal file
File diff suppressed because it is too large
Load diff
|
@ -69,12 +69,10 @@ td { text-align: center; }
|
|||
</head>
|
||||
|
||||
<html>
|
||||
<!--
|
||||
<script src="https://raw.github.com/reprappro/RepRapFirmware/due/SD-image/www/jquery.js" type="text/javascript"></script>
|
||||
<script src="https://raw.github.com/reprappro/RepRapFirmware/due/SD-image/www/knockout.js" type="text/javascript"></script>
|
||||
-->
|
||||
|
||||
<script src="http://reprappro.com/scripts/jquery.js" type="application/javascript"></script>
|
||||
<script src="http://reprappro.com/scripts/knockout.js" type="application/javascript"></script>
|
||||
|
||||
<script>
|
||||
function jogRowHTML(axis)
|
||||
{
|
||||
|
@ -220,7 +218,7 @@ function heatRowHTML(heater, hNumber)
|
|||
<table border="1"><div align="center">
|
||||
|
||||
<tr>
|
||||
<td colspan="9"><b>Heaters</b> <small>(click "Extrude:" to flip it to "Reverse:")</small></td>
|
||||
<td colspan="9"><b>Heaters</b></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
@ -314,7 +312,7 @@ function viewModel()
|
|||
self.machineName = ko.observable();
|
||||
self.gotPassword = ko.observable();
|
||||
self.deleteButton = ko.observable();
|
||||
self.extrudeButton = ko.observable('Extrude:');
|
||||
self.extrudeButton = ko.observable('Feed');
|
||||
self.fanButton = ko.observable('Fan on');
|
||||
self.pauseButton = ko.observable('Pause print');
|
||||
self.fileAction = ko.observable('print it');
|
||||
|
@ -424,21 +422,26 @@ function viewModel()
|
|||
|
||||
self.extrude = function(data, event)
|
||||
{
|
||||
if(self.extrudeButton() == 'Extrude:')
|
||||
if(self.extrudeButton() == 'Feed:')
|
||||
{
|
||||
self.extrudeButton('Fast:');
|
||||
} else if(self.extrudeButton() == 'Fast:')
|
||||
{
|
||||
self.extrudeButton('Reverse:');
|
||||
} else
|
||||
{
|
||||
self.extrudeButton('Extrude:');
|
||||
self.extrudeButton('Feed:');
|
||||
}
|
||||
};
|
||||
|
||||
self.extrudeFilament = function(length, data, event)
|
||||
{
|
||||
if(self.extrudeButton() == 'Extrude:')
|
||||
if(self.extrudeButton() == 'Feed:')
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E" + length + " F60\nM121"}, self.dummy);
|
||||
else if(self.extrudeButton() == 'Fast:')
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E" + length + " F240\nM121"}, self.dummy);
|
||||
else
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E-" + length + " F800\nM121"}, self.dummy);
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E-" + length + " F240\nM121"}, self.dummy);
|
||||
};
|
||||
|
||||
self.sendJog = function(axis, d, data, event)
|
||||
|
@ -455,6 +458,7 @@ function viewModel()
|
|||
{
|
||||
self.chosenFileId(file);
|
||||
$.get('/rr_gcode', {gcode: "M23 " + file + "\nM24"}, self.dummy);
|
||||
self.pauseButton('Pause print');
|
||||
} else
|
||||
{
|
||||
if(confirm("Delete the file " + file + " on " + self.machineName().myName + "?"))
|
||||
|
|
|
@ -69,12 +69,10 @@ td { text-align: center; }
|
|||
</head>
|
||||
|
||||
<html>
|
||||
<!--
|
||||
<script src="https://raw.github.com/reprappro/RepRapFirmware/due/SD-image/www/jquery.js" type="text/javascript"></script>
|
||||
<script src="https://raw.github.com/reprappro/RepRapFirmware/due/SD-image/www/knockout.js" type="text/javascript"></script>
|
||||
-->
|
||||
|
||||
<script src="http://reprappro.com/scripts/jquery.js" type="application/javascript"></script>
|
||||
<script src="http://reprappro.com/scripts/knockout.js" type="application/javascript"></script>
|
||||
|
||||
<script>
|
||||
function jogRowHTML(axis)
|
||||
{
|
||||
|
@ -220,7 +218,7 @@ function heatRowHTML(heater, hNumber)
|
|||
<table border="1"><div align="center">
|
||||
|
||||
<tr>
|
||||
<td colspan="9"><b>Heaters</b> <small>(click "Extrude:" to flip it to "Reverse:")</small></td>
|
||||
<td colspan="9"><b>Heaters</b></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
@ -424,19 +422,24 @@ function viewModel()
|
|||
|
||||
self.extrude = function(data, event)
|
||||
{
|
||||
if(self.extrudeButton() == 'Extrude:')
|
||||
if(self.extrudeButton() == 'Feed:')
|
||||
{
|
||||
self.extrudeButton('Fast:');
|
||||
} else if(self.extrudeButton() == 'Fast:')
|
||||
{
|
||||
self.extrudeButton('Reverse:');
|
||||
} else
|
||||
{
|
||||
self.extrudeButton('Extrude:');
|
||||
self.extrudeButton('Feed:');
|
||||
}
|
||||
};
|
||||
|
||||
self.extrudeFilament = function(length, data, event)
|
||||
{
|
||||
if(self.extrudeButton() == 'Extrude:')
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E" + length + " F200\nM121"}, self.dummy);
|
||||
if(self.extrudeButton() == 'Feed:')
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E" + length + " F60\nM121"}, self.dummy);
|
||||
else if(self.extrudeButton() == 'Fast:')
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E" + length + " F800\nM121"}, self.dummy);
|
||||
else
|
||||
$.get('/rr_gcode', {gcode: "M120\nM83\nG1 E-" + length + " F800\nM121"}, self.dummy);
|
||||
};
|
||||
|
@ -455,6 +458,7 @@ function viewModel()
|
|||
{
|
||||
self.chosenFileId(file);
|
||||
$.get('/rr_gcode', {gcode: "M23 " + file + "\nM24"}, self.dummy);
|
||||
self.pauseButton('Pause print');
|
||||
} else
|
||||
{
|
||||
if(confirm("Delete the file " + file + " on " + self.machineName().myName + "?"))
|
||||
|
|
Reference in a new issue