Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.37w2 #100

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Repetier/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,8 @@ usage or for seraching for memory induced errors. Switch it off for production,
#if FEATURE_OUTPUT_FINISHED_OBJECT

/** \brief The following script allows to configure the exact behavior of the automatic object output */
#define OUTPUT_OBJECT_SCRIPT_PRINT "G21\nG91\nG1 E-" xstr(SCRIPT_RETRACT_MM) "\nG1 Z210 F5000\nG1 Y250 F7500"
#define OUTPUT_OBJECT_SCRIPT_MILL "G28 Z0\nG21\nG91\nG1 Y250 F7500"
#define OUTPUT_OBJECT_SCRIPT_PRINT "G21\nG91\nG1 E-" xstr(SCRIPT_RETRACT_MM) "\nG1 Z200 F5000\nG1 Y245 F7500"
#define OUTPUT_OBJECT_SCRIPT_MILL "G28 Z0\nG21\nG91\nG1 Y245 F7500"

#endif // FEATURE_OUTPUT_FINISHED_OBJECT

Expand Down Expand Up @@ -958,7 +958,7 @@ You can activate this to 1 and connect some Button. If you connect ground to pul
#endif

/** \brief This feature allows you to extrude into thin air to messure the filaments viscosity value using dms sensors */
#define FEATURE_VISCOSITY_TEST 0
#define FEATURE_VISCOSITY_TEST 1

/** \brief This is some testing function for reading the stepper drivers status bits while operation */
#define FEATURE_READ_STEPPER_STATUS 0
Expand Down
2 changes: 1 addition & 1 deletion Repetier/Constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#define CONSTANTS_H


#define REPETIER_VERSION "RF.01.37w.Mod"
#define REPETIER_VERSION "RF.01.37w2.Mod"
#define UI_PRINTER_COMPANY "Conrad Community"
#define UI_VERSION_STRING "V " REPETIER_VERSION

Expand Down
36 changes: 26 additions & 10 deletions Repetier/Printer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ void Printer::updateCurrentPosition(bool copyLastCmd)
*/
uint8_t Printer::setDestinationStepsFromGCode(GCode *com)
{
register long p;
register int32_t p;
float x, y, z;

if(!relativeCoordinateMode)
Expand Down Expand Up @@ -604,27 +604,29 @@ uint8_t Printer::setDestinationStepsFromGCode(GCode *com)

if(com->hasE() && !Printer::debugDryrun())
{
p = convertToMM(com->E * axisStepsPerMM[E_AXIS]);
if(relativeCoordinateMode || relativeExtruderCoordinateMode)
{
if(
#if MIN_EXTRUDER_TEMP > 30
Extruder::current->tempControl.currentTemperatureC < MIN_EXTRUDER_TEMP ||
#endif // MIN_EXTRUDER_TEMP > 30

fabs(com->E) * extrusionFactor
#if FEATURE_DIGIT_FLOW_COMPENSATION
* g_nDigitFlowCompensation_flowmulti
#endif // FEATURE_DIGIT_FLOW_COMPENSATION
> EXTRUDE_MAXLENGTH)
{
p = 0;
}
queuePositionTargetSteps[E_AXIS] = queuePositionLastSteps[E_AXIS] + p;

{
queuePositionTargetSteps[E_AXIS] = queuePositionLastSteps[E_AXIS]; //p = 0;
}else{
Printer::extrudeMultiplyError += convertToMM(com->E * axisStepsPerMM[E_AXIS]);
p = static_cast<int32_t>(Printer::extrudeMultiplyError);
Printer::extrudeMultiplyError -= p;
queuePositionTargetSteps[E_AXIS] = queuePositionLastSteps[E_AXIS] + p;
}
}
else
{
p = convertToMM(com->E * axisStepsPerMM[E_AXIS]);
if(
#if MIN_EXTRUDER_TEMP > 30
Extruder::current->tempControl.currentTemperatureC < MIN_EXTRUDER_TEMP ||
Expand Down Expand Up @@ -1571,9 +1573,23 @@ void Printer::homeZAxis()
PrintLine::moveRelativeDistanceInSteps(0,0,2*steps,0,homingFeedrate[Z_AXIS],true,true);
setHoming(false);
queuePositionLastSteps[Z_AXIS] = (nHomeDir == -1) ? minSteps[Z_AXIS] : maxSteps[Z_AXIS];
PrintLine::moveRelativeDistanceInSteps(0,0,axisStepsPerMM[Z_AXIS] * -1 * ENDSTOP_Z_BACK_MOVE * nHomeDir,0,homingFeedrate[Z_AXIS]/ENDSTOP_Z_RETEST_REDUCTION_FACTOR,true,false);
//ENDSTOP_Z_BACK_MOVE größer als 32768+wenig ist eigentlich nicht möglich, nicht sinnvoll und würde, da das überfahren bei 32microsteps von der z-matrix >-12,7mm abhängig ist verboten sein.
//darum ist uint16_t ok.
for(uint16_t step = 0; step < axisStepsPerMM[Z_AXIS] * ENDSTOP_Z_BACK_MOVE; step += 0.1f * axisStepsPerMM[Z_AXIS]){
//faktor *2 und *5 : doppelt/5x so schnell beim zurücksetzen als nachher beim hinfahren.
if(Printer::isZMinEndstopHit()){
//schalter noch gedrückt, wir müssen weiter zurück, aber keinesfalls mehr als ENDSTOP_Z_BACK_MOVE
PrintLine::moveRelativeDistanceInSteps(0,0, 0.1f*axisStepsPerMM[Z_AXIS] * -1 * nHomeDir,0,homingFeedrate[Z_AXIS]/ENDSTOP_Z_RETEST_REDUCTION_FACTOR * 5,true,false);
}else{ //wir sind aus dem schalterbereich raus, müssten also nicht weiter zurücksetzen:
//rest drüberfahren, der über die schalterüberfahrung drübersteht: dann ende der for{}
PrintLine::moveRelativeDistanceInSteps(0,0, axisStepsPerMM[Z_AXIS] * (ENDSTOP_Z_BACK_MOVE - Z_ENDSTOP_DRIVE_OVER)* -1 * nHomeDir,0,homingFeedrate[Z_AXIS]/ENDSTOP_Z_RETEST_REDUCTION_FACTOR * 2,true,false);
break;
}
}
//PrintLine::moveRelativeDistanceInSteps(0,0,axisStepsPerMM[Z_AXIS] * -1 * ENDSTOP_Z_BACK_MOVE * nHomeDir,0,homingFeedrate[Z_AXIS]/ENDSTOP_Z_RETEST_REDUCTION_FACTOR*2,true,false);
setHoming(true);
PrintLine::moveRelativeDistanceInSteps(0,0,axisStepsPerMM[Z_AXIS] * 2 * ENDSTOP_Z_BACK_MOVE * nHomeDir,0,homingFeedrate[Z_AXIS]/ENDSTOP_Z_RETEST_REDUCTION_FACTOR,true,true);
//der fährt nur bis zum schalter, aber ENDSTOP_Z_BACK_MOVE + wenig ist maximum.
PrintLine::moveRelativeDistanceInSteps(0,0,axisStepsPerMM[Z_AXIS] * (0.1f + ENDSTOP_Z_BACK_MOVE) * nHomeDir,0,homingFeedrate[Z_AXIS]/ENDSTOP_Z_RETEST_REDUCTION_FACTOR,true,true);
setHoming(false);

#if FEATURE_MILLING_MODE
Expand Down
4 changes: 2 additions & 2 deletions Repetier/RF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11015,7 +11015,7 @@ extern void processButton( int nAction )
// show that we are active
previousMillisCmd = HAL::timeInMilliseconds();

if( true )
if( (unsigned long)abs(Printer::directPositionTargetSteps[E_AXIS] - Printer::directPositionCurrentSteps[E_AXIS]) <= g_nManualSteps[E_AXIS] )
{
// we are printing at the moment - use direct steps
if( Printer::debugInfo() )
Expand Down Expand Up @@ -11066,7 +11066,7 @@ extern void processButton( int nAction )
// show that we are active
previousMillisCmd = HAL::timeInMilliseconds();

if( true )
if( (unsigned long)abs(Printer::directPositionTargetSteps[E_AXIS] - Printer::directPositionCurrentSteps[E_AXIS]) <= g_nManualSteps[E_AXIS] )
{
// we are printing at the moment - use direct steps
if( Printer::debugInfo() )
Expand Down
5 changes: 4 additions & 1 deletion changelog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
TODO: Z-Lift-Bug seems to be still present! Avoid Z-Lift: Todo @Conrad -> Has this possibly been fixed by removing halfstepping in 1.37u4?
TODO: Testing, testing ..

V RF.01.37w2.Mod (2017-10-22)
- fix follow-up flow when you press RF Button Extrude or RF Button Retract long
- fix long running z-homing when homing with large ENDSTOP_Z_BACK_MOVE because of large Z_ENDSTOP_DRIVE_OVER.

V RF.01.37w.Mod (2017-10-21)
- make #define FEATURE_MILLING_MODE 0 work again to save eeprom space / possibility to exclude millingmode from firmware
- set standard emergency-block back to 10000. this is configurable within menu and eeprom afterwards
Expand All @@ -15,7 +19,6 @@ V RF.01.37v9.Mod (2017-10-20)
or to secure flex-prints. (It will not work within long straight lines, because move-cache will delay its effect)
- Test for very deep z-matrices: when z-compensation has to do more work than 0.5mm wait!
- tell repetier and octoprint to stop the print in case of temperature sensor error
- FEATURE_VISCOSITY_TEST has now to be enabled in configuration.h to safe eeprom space. Normal users dont need it.
- FEATURE_READ_STEPPER_STATUS has now to be enabled in configuration.h to safe eeprom space. Normal users dont need it.
- Removed leftovers (depreached text message) from SilentMode M3920 to save EEPROM space

Expand Down