Skip to content

Commit

Permalink
1.43.77
Browse files Browse the repository at this point in the history
  • Loading branch information
Nibbels committed Feb 16, 2019
1 parent 5793de7 commit d16b297
Show file tree
Hide file tree
Showing 15 changed files with 198 additions and 95 deletions.
Binary file modified .vs/Repetier/v14/.suo
Binary file not shown.
18 changes: 9 additions & 9 deletions Repetier/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -253,23 +253,23 @@ Overridden if EEPROM activated. */
/** \brief Maximum feedrate, the system allows. Higher feedrates are reduced to these values.
The axis order in all axis related arrays is X, Y, Z
Overridden if EEPROM activated. */
#define MAX_FEEDRATE_X 150
#define MAX_FEEDRATE_Y 150
#define MAX_FEEDRATE_X 150
#define MAX_FEEDRATE_Y 150
#define MAX_FEEDRATE_Z 9

/** \brief Home position speed in mm/s. Overridden if EEPROM activated. These values can be overridden by EEPROM but are considered as maximum allowed values */
#define HOMING_FEEDRATE_X_PRINT 80
#define HOMING_FEEDRATE_Y_PRINT 80
#define HOMING_FEEDRATE_X_PRINT 80
#define HOMING_FEEDRATE_Y_PRINT 80
#define HOMING_FEEDRATE_Z_PRINT 9

#define HOMING_FEEDRATE_X_MILL 70
#define HOMING_FEEDRATE_Y_MILL 70
#define HOMING_FEEDRATE_X_MILL 70
#define HOMING_FEEDRATE_Y_MILL 70
#define HOMING_FEEDRATE_Z_MILL 7

/** \brief Speed for direct movements in mm/s. Overridden if EEPROM activated. */
#define DIRECT_FEEDRATE_XY 100
#define DIRECT_FEEDRATE_Z 9
#define DIRECT_FEEDRATE_E 25
#define STANDARD_POSITION_FEEDRATE_XY 100
#define STANDARD_POSITION_FEEDRATE_Z 9
#define STANDARD_POSITION_FEEDRATE_E 25

// ##########################################################################################
// ## Acceleration settings
Expand Down
3 changes: 2 additions & 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 "1.43.76"
#define REPETIER_VERSION "1.43.77"
#define UI_PRINTER_COMPANY "Conrad Community"
#define UI_VERSION_STRING "V " REPETIER_VERSION

Expand Down Expand Up @@ -84,6 +84,7 @@
#define TASK_PAUSE_PRINT 4
#define TASK_PAUSE_PRINT_AND_MOVE 5
#define TASK_MOVE_FROM_BUTTON 10
#define TASK_MOVE_POSITION_MANUAL 11
#define TASK_ENABLE_SENSE_OFFSET 100

//no pause
Expand Down
5 changes: 4 additions & 1 deletion Repetier/Eeprom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ void EEPROM::restoreEEPROMSettingsFromConfiguration()
Printer::moveMode[Y_AXIS] = DEFAULT_MOVE_MODE_Y;
Printer::moveMode[Z_AXIS] = DEFAULT_MOVE_MODE_Z;
Printer::moveKosys = KOSYS_GCODE;
Printer::movePositionFeedrateChoice = FEEDRATE_DIRECTCONFIG;

Printer::maxAccelerationMMPerSquareSecond[X_AXIS] = MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X;
Printer::maxAccelerationMMPerSquareSecond[Y_AXIS] = MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y;
Expand Down Expand Up @@ -358,6 +359,7 @@ void EEPROM::storeDataIntoEEPROM(uint8_t corrupted)
HAL::eprSetByte(EPR_RF_MOVE_MODE_Y,Printer::moveMode[Y_AXIS]);
HAL::eprSetByte(EPR_RF_MOVE_MODE_Z, Printer::moveMode[Z_AXIS]);
HAL::eprSetByte(EPR_RF_MOVE_MODE_XY_KOSYS, Printer::moveKosys);
HAL::eprSetByte(EPR_RF_MOVE_POSITION_FEEDRATE, Printer::movePositionFeedrateChoice);

#if FEATURE_MILLING_MODE
if( Printer::operatingMode == OPERATING_MODE_PRINT )
Expand Down Expand Up @@ -669,7 +671,8 @@ void EEPROM::readDataFromEEPROM()
Printer::moveMode[Y_AXIS] = HAL::eprGetByte(EPR_RF_MOVE_MODE_Y);
Printer::moveMode[Z_AXIS] = HAL::eprGetByte(EPR_RF_MOVE_MODE_Z);
Printer::moveKosys = (bool)HAL::eprGetByte(EPR_RF_MOVE_MODE_XY_KOSYS);

Printer::movePositionFeedrateChoice = (bool)HAL::eprGetByte(EPR_RF_MOVE_POSITION_FEEDRATE);

Printer::maxXYJerk = HAL::eprGetFloat(EPR_MAX_XYJERK);
Printer::maxZJerk = HAL::eprGetFloat(EPR_MAX_ZJERK);

Expand Down
3 changes: 2 additions & 1 deletion Repetier/Eeprom.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ have problems with other modules using the eeprom */
#define EPR_RF_MOVE_MODE_Y 1043
#define EPR_RF_MOVE_MODE_Z 1044
#define EPR_RF_Z_MODE 1045
#define EPR_RF_MOVE_MODE_XY_KOSYS 1046 //das ist byte, 1047 wäre frei.
#define EPR_RF_MOVE_MODE_XY_KOSYS 1046
#define EPR_RF_MOVE_POSITION_FEEDRATE 1047 //das ist byte, 1048 wäre frei.

//vorsicht bei mehrbytigen Variablen, dann freilassen.

Expand Down
15 changes: 11 additions & 4 deletions Repetier/Printer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ uint8_t Printer::unitIsInches = 0; // 0 = U
//Stepper Movement Variables
float Printer::axisStepsPerMM[4] = {XAXIS_STEPS_PER_MM,YAXIS_STEPS_PER_MM,ZAXIS_STEPS_PER_MM,1}; ///< Number of steps per mm needed.
float Printer::axisMMPerSteps[4] = {1.0f/XAXIS_STEPS_PER_MM,1.0f/YAXIS_STEPS_PER_MM,1.0f/ZAXIS_STEPS_PER_MM,1}; ///< Inverse of axisStepsPerMM for faster conversion
float Printer::maxFeedrate[4] = {MAX_FEEDRATE_X, MAX_FEEDRATE_Y, MAX_FEEDRATE_Z, DIRECT_FEEDRATE_E}; ///< Maximum allowed feedrate. //DIRECT_FEEDRATE_E added by nibbels, wird aber überschrieben.
float Printer::maxFeedrate[4] = {MAX_FEEDRATE_X, MAX_FEEDRATE_Y, MAX_FEEDRATE_Z, STANDARD_POSITION_FEEDRATE_E}; ///< Maximum allowed feedrate. //STANDARD_POSITION_FEEDRATE_E added by nibbels, wird aber überschrieben.
float Printer::homingFeedrate[3] = {HOMING_FEEDRATE_X_PRINT,HOMING_FEEDRATE_Y_PRINT,HOMING_FEEDRATE_Z_PRINT}; ///< dass zumindest etwas sinnvolles drin steht, wird überschrieben.

float Printer::maxAccelerationMMPerSquareSecond[4] = {MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X,MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y,MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z}; ///< X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts
Expand Down Expand Up @@ -92,7 +92,8 @@ long Printer::ZOffset = 0; // Z Off
char Printer::ZMode = DEFAULT_Z_SCALE_MODE; // Z Scale 1 = show the z-distance to z-min (print) or to the z-origin (mill), 2 = show the z-distance to the surface of the heat bed (print) or work part (mill)
char Printer::moveMode[3]; // move mode which is applied within the Position X/Y/Z menus
bool Printer::moveKosys = KOSYS_GCODE; // true = GCode, false = DirectMove / OffsetMove

bool Printer::movePositionFeedrateChoice = FEEDRATE_DIRECTCONFIG; // select the feedrate for menu positioning: feedrate from last gcode or standard speed

#if FEATURE_MEMORY_POSITION
float Printer::memoryX;
float Printer::memoryY;
Expand Down Expand Up @@ -594,16 +595,22 @@ void Printer::offsetRelativeStepsCoordinates(int32_t dx, int32_t dy, int32_t dz,
Printer::directDestinationSteps[Z_AXIS] += dz;
Printer::directDestinationSteps[E_AXIS] += de;

bool feedrateSource = FEEDRATE_DIRECTCONFIG;
if (configuration == TASK_MOVE_FROM_BUTTON || configuration == TASK_MOVE_POSITION_MANUAL) {
// In position menu or when moving using z-buttons we always choose the feedrate type configured in menu->position->Pos-Feedrate {direct or gcode}
// single Z feedrate is always limited to direct config as well as max-feedrate
feedrateSource = Printer::movePositionFeedrateChoice;
}

// If we start this move by pressing a button we dont want to wait for it to finish and instead have it listening to the buttons release
if (configuration == TASK_MOVE_FROM_BUTTON) {
PrintLine::prepareDirectMove(STOPPABLE_DIRECT);
PrintLine::prepareDirectMove(STOPPABLE_DIRECT, feedrateSource);
//noInts handled by destructor

return;
}

PrintLine::prepareDirectMove(NORMAL_DIRECT);
PrintLine::prepareDirectMove(NORMAL_DIRECT, feedrateSource);

//release Interrupts for processing
noInts.unprotect();
Expand Down
6 changes: 5 additions & 1 deletion Repetier/Printer.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@
#define KOSYS_GCODE true
#define KOSYS_DIRECTOFFSET false

#define FEEDRATE_GCODE true
#define FEEDRATE_DIRECTCONFIG false

#define DIR_QUEUE 1
#define DIR_DIRECT -1

Expand Down Expand Up @@ -113,7 +116,8 @@ class Printer
static char ZMode; // Z Scale
static char moveMode[3]; // move mode which is applied within the Position X/Y/Z menus
static bool moveKosys; // true = GCode, false = DirectMove / OffsetMove

static bool movePositionFeedrateChoice; // select the feedrate for menu positioning: feedrate from last gcode or standard speed

#if FEATURE_MEMORY_POSITION
static float memoryX;
static float memoryY;
Expand Down
45 changes: 32 additions & 13 deletions Repetier/RF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10808,12 +10808,16 @@ void nextPreviousXAction( int8_t increment )

if (moveKosys == KOSYS_GCODE)
{
Printer::queueRelativeStepsCoordinates(steps, 0, 0, 0, Printer::homingFeedrate[X_AXIS], true);
float feedrate = STANDARD_POSITION_FEEDRATE_XY;
if (Printer::movePositionFeedrateChoice == FEEDRATE_GCODE) {
feedrate = Printer::feedrate;
}
Printer::queueRelativeStepsCoordinates(steps, 0, 0, 0, feedrate, true);
Commands::printCurrentPosition();
}
else /*if (Printer::moveKosys == KOSYS_DIRECTOFFSET) */
{
Printer::offsetRelativeStepsCoordinates(steps, 0, 0, 0);
Printer::offsetRelativeStepsCoordinates(steps, 0, 0, 0, TASK_MOVE_POSITION_MANUAL);
}

break;
Expand All @@ -10834,12 +10838,16 @@ void nextPreviousXAction( int8_t increment )

if (moveKosys == KOSYS_GCODE)
{
Printer::queueRelativeMMCoordinates(distanceMM * increment, 0, 0, 0, Printer::homingFeedrate[X_AXIS], true);
float feedrate = STANDARD_POSITION_FEEDRATE_XY;
if (Printer::movePositionFeedrateChoice == FEEDRATE_GCODE) {
feedrate = Printer::feedrate;
}
Printer::queueRelativeMMCoordinates(distanceMM * increment, 0, 0, 0, feedrate, true);
Commands::printCurrentPosition();
}
else /*if (Printer::moveKosys == KOSYS_DIRECTOFFSET) */
{
Printer::offsetRelativeStepsCoordinates(distanceMM * Printer::axisStepsPerMM[Y_AXIS] * increment, 0, 0, 0);
Printer::offsetRelativeStepsCoordinates(distanceMM * Printer::axisStepsPerMM[Y_AXIS] * increment, 0, 0, 0, TASK_MOVE_POSITION_MANUAL);
}

break;
Expand Down Expand Up @@ -10909,12 +10917,16 @@ void nextPreviousYAction( int8_t increment )

if (moveKosys == KOSYS_GCODE)
{
Printer::queueRelativeStepsCoordinates(0, steps, 0, 0, Printer::homingFeedrate[Y_AXIS], true);
float feedrate = STANDARD_POSITION_FEEDRATE_XY;
if (Printer::movePositionFeedrateChoice == FEEDRATE_GCODE) {
feedrate = Printer::feedrate;
}
Printer::queueRelativeStepsCoordinates(0, steps, 0, 0, feedrate, true);
Commands::printCurrentPosition();
}
else /*if (Printer::moveKosys == KOSYS_DIRECTOFFSET) */
{
Printer::offsetRelativeStepsCoordinates(0, steps, 0, 0);
Printer::offsetRelativeStepsCoordinates(0, steps, 0, 0, TASK_MOVE_POSITION_MANUAL);
}

break;
Expand All @@ -10935,12 +10947,16 @@ void nextPreviousYAction( int8_t increment )

if (moveKosys == KOSYS_GCODE)
{
Printer::queueRelativeMMCoordinates(0, distanceMM * increment, 0, 0, Printer::homingFeedrate[Y_AXIS], true);
float feedrate = STANDARD_POSITION_FEEDRATE_XY;
if (Printer::movePositionFeedrateChoice == FEEDRATE_GCODE) {
feedrate = Printer::feedrate;
}
Printer::queueRelativeMMCoordinates(0, distanceMM * increment, 0, 0, feedrate, true);
Commands::printCurrentPosition();
}
else /*if (Printer::moveKosys == KOSYS_DIRECTOFFSET) */
{
Printer::offsetRelativeStepsCoordinates(0, distanceMM * Printer::axisStepsPerMM[Y_AXIS] * increment, 0, 0);
Printer::offsetRelativeStepsCoordinates(0, distanceMM * Printer::axisStepsPerMM[Y_AXIS] * increment, 0, 0, TASK_MOVE_POSITION_MANUAL);
}

break;
Expand Down Expand Up @@ -11063,7 +11079,7 @@ void nextPreviousZAction( int8_t increment )
//}
//else /*if (Printer::moveKosys == KOSYS_DIRECTOFFSET) */
//{
Printer::offsetRelativeStepsCoordinates(0, 0, steps, 0);
Printer::offsetRelativeStepsCoordinates(0, 0, steps, 0, TASK_MOVE_POSITION_MANUAL);
//}

break;
Expand All @@ -11082,8 +11098,9 @@ void nextPreviousZAction( int8_t increment )
|| Printer::currentZSteps * Printer::axisMMPerSteps[Z_AXIS] >= (float)distanceMM)
{
//#if MENU_POSITION_ALL_DIRECT
Printer::offsetRelativeStepsCoordinates(0, 0, distanceMM * Printer::axisStepsPerMM[Z_AXIS] * increment, 0);
Printer::offsetRelativeStepsCoordinates(0, 0, distanceMM * Printer::axisStepsPerMM[Z_AXIS] * increment, 0, TASK_MOVE_POSITION_MANUAL);
//#else
// if enabled fix feedrate
// Printer::queueRelativeMMCoordinates(0, 0, distanceMM * increment, 0, Printer::homingFeedrate[Z_AXIS], true);
//#endif

Expand All @@ -11095,7 +11112,7 @@ void nextPreviousZAction( int8_t increment )
if (Printer::operatingMode != OPERATING_MODE_PRINT)
{
//#if MENU_POSITION_ALL_DIRECT
Printer::offsetRelativeStepsCoordinates(0, 0, distanceMM * Printer::axisStepsPerMM[Z_AXIS] * increment, 0);
Printer::offsetRelativeStepsCoordinates(0, 0, distanceMM * Printer::axisStepsPerMM[Z_AXIS] * increment, 0, TASK_MOVE_POSITION_MANUAL);
//#else
// Printer::queueRelativeMMCoordinates(0, 0, distanceMM * increment, 0, Printer::feedrate, true);
//#endif
Expand All @@ -11108,8 +11125,9 @@ void nextPreviousZAction( int8_t increment )
if (Printer::currentZSteps > 0)
{
//#if MENU_POSITION_ALL_DIRECT
Printer::offsetRelativeStepsCoordinates(0, 0, -Printer::currentZSteps, 0);
Printer::offsetRelativeStepsCoordinates(0, 0, -Printer::currentZSteps, 0, TASK_MOVE_POSITION_MANUAL);
//#else
// if enabled fix feedrate
// Printer::queueRelativeStepsCoordinates(0, 0, -Printer::currentZSteps, 0, Printer::homingFeedrate[Z_AXIS], true);
//#endif

Expand All @@ -11118,8 +11136,9 @@ void nextPreviousZAction( int8_t increment )

//#if MENU_POSITION_ALL_DIRECT
// Sonst Stepweise
Printer::offsetRelativeStepsCoordinates(0, 0, -1 * int32_t(g_nManualSteps[Z_AXIS]), 0);
Printer::offsetRelativeStepsCoordinates(0, 0, -1 * int32_t(g_nManualSteps[Z_AXIS]), 0, TASK_MOVE_POSITION_MANUAL);
//#else
// if enabled fix feedrate
// Printer::queueRelativeStepsCoordinates(0, 0, -1 * int32_t(g_nManualSteps[Z_AXIS]), 0, Printer::homingFeedrate[Z_AXIS], true);
//#endif

Expand Down
Loading

0 comments on commit d16b297

Please sign in to comment.