Merge pull request #136 from TimEvWw/master

Homing changes
pull/137/head
Tim Evers 2020-03-06 19:05:16 +01:00 committed by GitHub
commit 8883b48ab1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 29 deletions

View File

@ -32,29 +32,33 @@ int F11Handler::execute(Command *command)
}
int homeIsUp = ParameterList::getInstance()->getValue(MOVEMENT_HOME_UP_X);
int moveAwayCoord = 10;
int A = 10; // move away coordinates
int execution;
bool emergencyStop;
if (homeIsUp == 1)
{
moveAwayCoord = -moveAwayCoord;
A = -A;
}
int stepNr;
long X = CurrentState::getInstance()->getX();
long Y = CurrentState::getInstance()->getY();
long Z = CurrentState::getInstance()->getZ();
// Move to home position. Then 3 times move away and move to home again.
for (int stepNr = 0; stepNr < 7; stepNr++)
{
switch (stepNr)
{
case 0: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, true, false, false); break;
case 1: Movement::getInstance()->moveToCoords(moveAwayCoord, 0, 0, 0, 0, 0, false, false, false); break;
case 2: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, true, false, false); break;
case 3: Movement::getInstance()->moveToCoords(moveAwayCoord, 0, 0, 0, 0, 0, false, false, false); break;
case 4: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, true, false, false); break;
case 5: Movement::getInstance()->moveToCoords(moveAwayCoord, 0, 0, 0, 0, 0, false, false, false); break;
case 6: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, true, false, false); break;
case 0: Movement::getInstance()->moveToCoords(0, Y, Z, 0, 0, 0, true, false, false); break;
case 1: Movement::getInstance()->moveToCoords(A, Y, Z, 0, 0, 0, false, false, false); break;
case 2: Movement::getInstance()->moveToCoords(0, Y, Z, 0, 0, 0, true, false, false); break;
case 3: Movement::getInstance()->moveToCoords(A, Y, Z, 0, 0, 0, false, false, false); break;
case 4: Movement::getInstance()->moveToCoords(0, Y, Z, 0, 0, 0, true, false, false); break;
case 5: Movement::getInstance()->moveToCoords(A, Y, Z, 0, 0, 0, false, false, false); break;
case 6: Movement::getInstance()->moveToCoords(0, Y, Z, 0, 0, 0, true, false, false); break;
}
execution = CurrentState::getInstance()->getLastError();

View File

@ -31,30 +31,34 @@ int F12Handler::execute(Command *command)
Serial.print("R99 HOME Y\r\n");
}
int homeIsUp = ParameterList::getInstance()->getValue(MOVEMENT_HOME_UP_X);
int moveAwayCoord = 10;
int homeIsUp = ParameterList::getInstance()->getValue(MOVEMENT_HOME_UP_Y);
int A = 10; // move away coordinates
int execution;
bool emergencyStop;
if (homeIsUp == 1)
{
moveAwayCoord = -moveAwayCoord;
A = -A;
}
int stepNr;
long X = CurrentState::getInstance()->getX();
long Y = CurrentState::getInstance()->getY();
long Z = CurrentState::getInstance()->getZ();
// Move to home position. Then 3 times move away and move to home again.
for (int stepNr = 0; stepNr < 7; stepNr++)
{
switch (stepNr)
{
case 0: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, true, false); break;
case 1: Movement::getInstance()->moveToCoords(0, moveAwayCoord, 0, 0, 0, 0, false, false, false); break;
case 2: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, true, false); break;
case 3: Movement::getInstance()->moveToCoords(0, moveAwayCoord, 0, 0, 0, 0, false, false, false); break;
case 4: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, true, false); break;
case 5: Movement::getInstance()->moveToCoords(0, moveAwayCoord, 0, 0, 0, 0, false, false, false); break;
case 6: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, true, false); break;
case 0: Movement::getInstance()->moveToCoords(X, 0, Z, 0, 0, 0, false, true, false); break;
case 1: Movement::getInstance()->moveToCoords(X, A, Z, 0, 0, 0, false, false, false); break;
case 2: Movement::getInstance()->moveToCoords(X, 0, Z, 0, 0, 0, false, true, false); break;
case 3: Movement::getInstance()->moveToCoords(X, A, Z, 0, 0, 0, false, false, false); break;
case 4: Movement::getInstance()->moveToCoords(X, 0, Z, 0, 0, 0, false, true, false); break;
case 5: Movement::getInstance()->moveToCoords(X, A, Z, 0, 0, 0, false, false, false); break;
case 6: Movement::getInstance()->moveToCoords(X, 0, Z, 0, 0, 0, false, true, false); break;
}
execution = CurrentState::getInstance()->getLastError();

View File

@ -33,30 +33,34 @@ int F13Handler::execute(Command *command)
Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, false, true);
int homeIsUp = ParameterList::getInstance()->getValue(MOVEMENT_HOME_UP_X);
int moveAwayCoord = 10;
int homeIsUp = ParameterList::getInstance()->getValue(MOVEMENT_HOME_UP_Z);
int A = 10; // move away coord
int execution;
bool emergencyStop;
if (homeIsUp == 1)
{
moveAwayCoord = -moveAwayCoord;
A = -A;
}
int stepNr;
long X = CurrentState::getInstance()->getX();
long Y = CurrentState::getInstance()->getY();
long Z = CurrentState::getInstance()->getZ();
// Move to home position. Then 3 times move away and move to home again.
for (int stepNr = 0; stepNr < 7; stepNr++)
{
switch (stepNr)
{
case 0: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, false, true); break;
case 1: Movement::getInstance()->moveToCoords(0, 0, moveAwayCoord, 0, 0, 0, false, false, false); break;
case 2: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, false, true); break;
case 3: Movement::getInstance()->moveToCoords(0, 0, moveAwayCoord, 0, 0, 0, false, false, false); break;
case 4: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, false, true); break;
case 5: Movement::getInstance()->moveToCoords(0, 0, moveAwayCoord, 0, 0, 0, false, false, false); break;
case 6: Movement::getInstance()->moveToCoords(0, 0, 0, 0, 0, 0, false, false, true); break;
case 0: Movement::getInstance()->moveToCoords(X, Y, 0, 0, 0, 0, false, false, true); break;
case 1: Movement::getInstance()->moveToCoords(X, Y, A, 0, 0, 0, false, false, false); break;
case 2: Movement::getInstance()->moveToCoords(X, Y, 0, 0, 0, 0, false, false, true); break;
case 3: Movement::getInstance()->moveToCoords(X, Y, A, 0, 0, 0, false, false, false); break;
case 4: Movement::getInstance()->moveToCoords(X, Y, 0, 0, 0, 0, false, false, true); break;
case 5: Movement::getInstance()->moveToCoords(X, Y, A, 0, 0, 0, false, false, false); break;
case 6: Movement::getInstance()->moveToCoords(X, Y, 0, 0, 0, 0, false, false, true); break;
}
execution = CurrentState::getInstance()->getLastError();