Fix added for feedrate "bug" in Slic3r.

This commit is contained in:
Adrian Bowyer 2013-07-18 20:14:43 +01:00
parent 874e6e0baf
commit f23b286f1d
7 changed files with 7625 additions and 22 deletions

View file

@ -110,6 +110,7 @@ class GCodes
boolean homeXQueued;
boolean homeYQueued;
boolean homeZQueued;
float gFeedRate;
};
//*****************************************************************************************************

View file

@ -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

View file

@ -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

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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 + "?"))

View file

@ -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 + "?"))