debugging

pull/75/head
Tim Evers 2017-04-28 20:36:56 +02:00
parent be96876113
commit 6222f77016
9 changed files with 88 additions and 38 deletions

View File

@ -55,6 +55,11 @@ CommandCodeEnum Command::getGCodeEnum(char *code)
// return F03; // return F03;
//} //}
if (strcmp(code, "F09") == 0 || strcmp(code, "F9") == 0)
{
return F09;
}
if (strcmp(code, "F11") == 0) if (strcmp(code, "F11") == 0)
{ {
return F11; return F11;

View File

@ -20,6 +20,7 @@ const char COMM_REPORT_CMD_ERROR[4] = {'R', '0', '3', '\0'};
const char COMM_REPORT_CMD_BUSY[4] = {'R', '0', '4', '\0'}; const char COMM_REPORT_CMD_BUSY[4] = {'R', '0', '4', '\0'};
const char COMM_REPORT_CMD_STATUS[4] = {'R', '0', '5', '\0'}; const char COMM_REPORT_CMD_STATUS[4] = {'R', '0', '5', '\0'};
const char COMM_REPORT_CALIB_STATUS[4] = {'R', '0', '6', '\0'}; const char COMM_REPORT_CALIB_STATUS[4] = {'R', '0', '6', '\0'};
const char COMM_REPORT_EMERGENCY_STOP[4] = { 'R', '8', '7', '\0' };
const char COMM_REPORT_NO_CONFIG[4] = {'R', '8', '8', '\0'}; const char COMM_REPORT_NO_CONFIG[4] = {'R', '8', '8', '\0'};
const char COMM_REPORT_COMMENT[4] = {'R', '9', '9', '\0'}; const char COMM_REPORT_COMMENT[4] = {'R', '9', '9', '\0'};
@ -58,7 +59,7 @@ const long MOVEMENT_KEEP_ACTIVE_Z_DEFAULT = 1;
const long MOVEMENT_HOME_AT_BOOT_X_DEFAULT = 0; const long MOVEMENT_HOME_AT_BOOT_X_DEFAULT = 0;
const long MOVEMENT_HOME_AT_BOOT_Y_DEFAULT = 0; const long MOVEMENT_HOME_AT_BOOT_Y_DEFAULT = 0;
const long MOVEMENT_HOME_AT_BOOT_Z_DEFAULT = 1; const long MOVEMENT_HOME_AT_BOOT_Z_DEFAULT = 0;
const long MOVEMENT_ENABLE_ENDPOINTS_X_DEFAULT = 0; const long MOVEMENT_ENABLE_ENDPOINTS_X_DEFAULT = 0;
const long MOVEMENT_ENABLE_ENDPOINTS_Y_DEFAULT = 0; const long MOVEMENT_ENABLE_ENDPOINTS_Y_DEFAULT = 0;

View File

@ -6,6 +6,6 @@
*/ */
#ifndef DEBUG_H_ #ifndef DEBUG_H_
#define debugMessages false #define debugMessages true
#define debugInterrupt false #define debugInterrupt false
#endif /* DEBUG_H_ */ #endif /* DEBUG_H_ */

View File

@ -31,7 +31,7 @@ int F09Handler::execute(Command *command)
Serial.print("R99 Reset emergency stop\r\n"); Serial.print("R99 Reset emergency stop\r\n");
} }
CurrentState::getInstance()->setEmergencyStop(); CurrentState::getInstance()->resetEmergencyStop();
return 0; return 0;
} }

View File

@ -31,12 +31,34 @@ int GCodeProcessor::execute(Command *command)
long Q = command->getQ(); long Q = command->getQ();
CurrentState::getInstance()->setQ(Q); CurrentState::getInstance()->setQ(Q);
// Do not execute the command when the config complete parameter is not
// set by the raspberry pi and it's asked to do a move command //Only allow reset of emergency stop when emergency stop is engaged
if (CurrentState::getInstance()->isEmergencyStop())
{
if (!(
command->getCodeEnum() == F09 ||
command->getCodeEnum() == F20 ||
command->getCodeEnum() == F21 ||
command->getCodeEnum() == F22 ||
command->getCodeEnum() == F81 ||
command->getCodeEnum() == F82 ||
command->getCodeEnum() == F83 ))
{
Serial.print(COMM_REPORT_EMERGENCY_STOP);
CurrentState::getInstance()->printQAndNewLine();
return -1;
}
}
// Tim 2017-04-15 Disable until the raspberry code is ready // Tim 2017-04-15 Disable until the raspberry code is ready
/* /*
if (ParameterList::getInstance()->getValue(PARAM_CONFIG_OK) != 1) { // Do not execute the command when the config complete parameter is not
// set by the raspberry pi and it's asked to do a move command
if (ParameterList::getInstance()->getValue(PARAM_CONFIG_OK) != 1)
{
if ( command->getCodeEnum() == G00 || if ( command->getCodeEnum() == G00 ||
command->getCodeEnum() == G01 || command->getCodeEnum() == G01 ||
command->getCodeEnum() == F11 || command->getCodeEnum() == F11 ||
@ -44,13 +66,14 @@ int GCodeProcessor::execute(Command *command)
command->getCodeEnum() == F13 || command->getCodeEnum() == F13 ||
command->getCodeEnum() == F14 || command->getCodeEnum() == F14 ||
command->getCodeEnum() == F15 || command->getCodeEnum() == F15 ||
command->getCodeEnum() == F16 ) { command->getCodeEnum() == F16 )
{
Serial.print(COMM_REPORT_NO_CONFIG); Serial.print(COMM_REPORT_NO_CONFIG);
CurrentState::getInstance()->printQAndNewLine(); CurrentState::getInstance()->printQAndNewLine();
return -1; return -1;
} }
} }
*/ */
// Return error when no command or invalid command is found // Return error when no command or invalid command is found

View File

@ -326,14 +326,14 @@ int StepperControl::moveToCoords(long xDest, long yDest, long zDest,
Serial.print(" deactivate motor X due to missed steps"); Serial.print(" deactivate motor X due to missed steps");
Serial.print("\r\n"); Serial.print("\r\n");
//if (axisX.movingToHome()) if (xHome)
//{ {
// encoderX.setPosition(0); encoderX.setPosition(0);
// axisX.setCurrentPosition(0); axisX.setCurrentPosition(0);
// Serial.print("R99"); Serial.print("R99");
// Serial.print(" home position X axis detected with encoder"); Serial.print(" home position X axis detected with encoder");
// Serial.print("\r\n"); Serial.print("\r\n");
//} }
} }
if (motorConsMissedSteps[1] > motorConsMissedStepsMax[1]) if (motorConsMissedSteps[1] > motorConsMissedStepsMax[1])
@ -343,14 +343,14 @@ int StepperControl::moveToCoords(long xDest, long yDest, long zDest,
Serial.print(" deactivate motor Y due to missed steps"); Serial.print(" deactivate motor Y due to missed steps");
Serial.print("\r\n"); Serial.print("\r\n");
//if (axisY.movingToHome()) if (yHome)
//{ {
// encoderY.setPosition(0); encoderY.setPosition(0);
// axisY.setCurrentPosition(0); axisY.setCurrentPosition(0);
// Serial.print("R99"); Serial.print("R99");
// Serial.print(" home position Y axis detected with encoder"); Serial.print(" home position Y axis detected with encoder");
// Serial.print("\r\n"); Serial.print("\r\n");
//} }
} }
if (motorConsMissedSteps[2] > motorConsMissedStepsMax[2]) if (motorConsMissedSteps[2] > motorConsMissedStepsMax[2])
@ -360,14 +360,14 @@ int StepperControl::moveToCoords(long xDest, long yDest, long zDest,
Serial.print(" deactivate motor Z due to missed steps"); Serial.print(" deactivate motor Z due to missed steps");
Serial.print("\r\n"); Serial.print("\r\n");
//if (axisZ.movingToHome()) if (zHome)
//{ {
// encoderZ.setPosition(0); encoderZ.setPosition(0);
// axisZ.setCurrentPosition(0); axisZ.setCurrentPosition(0);
// Serial.print("R99"); Serial.print("R99");
// Serial.print(" home position Z axis detected with encoder"); Serial.print(" home position Z axis detected with encoder");
// Serial.print("\r\n"); Serial.print("\r\n");
//} }
} }
if (axisX.endStopAxisReached(false)) if (axisX.endStopAxisReached(false))

View File

@ -86,7 +86,7 @@ private:
long speedMin[3] = { 0, 0, 0 }; long speedMin[3] = { 0, 0, 0 };
long stepsAcc[3] = { 0, 0, 0 }; long stepsAcc[3] = { 0, 0, 0 };
bool motorInv[3] = { false, false, false }; bool motorInv[3] = { false, false, false };
bool motorMaxSize[3] = { false, false, false }; long motorMaxSize[3] = { 0, 0, 0};
bool motorKeepActive[3] = { false, false, false }; bool motorKeepActive[3] = { false, false, false };
bool motor2Inv[3] = { false, false, false }; bool motor2Inv[3] = { false, false, false };
bool motor2Enbl[3] = { false, false, false }; bool motor2Enbl[3] = { false, false, false };

View File

@ -398,11 +398,11 @@ void StepperControlAxis::loadCoordinates(long sourcePoint, long destinationPoint
{ {
if (coordDestinationPoint < 0) if (coordDestinationPoint < 0)
{ {
coordDestinationPoint = abs(motorMaxSize); coordDestinationPoint = -abs(motorMaxSize);
} }
else else
{ {
coordDestinationPoint = -abs(motorMaxSize); coordDestinationPoint = abs(motorMaxSize);
} }
} }
} }

View File

@ -228,8 +228,14 @@ void loop()
{ {
StepperControl::getInstance()->disableMotors(); StepperControl::getInstance()->disableMotors();
PinControl::getInstance()->resetPinsUsed(); PinControl::getInstance()->resetPinsUsed();
if (debugMessages)
{
Serial.print(COMM_REPORT_COMMENT);
Serial.print(" Going to safe state");
CurrentState::getInstance()->printQAndNewLine();
}
} }
previousEmergencyStop == CurrentState::getInstance()->isEmergencyStop(); previousEmergencyStop = CurrentState::getInstance()->isEmergencyStop();
// Check if parameters are changes, and if so load the new settings // Check if parameters are changes, and if so load the new settings
if (lastParamChangeNr != ParameterList::getInstance()->paramChangeNumber()) if (lastParamChangeNr != ParameterList::getInstance()->paramChangeNumber())
@ -260,8 +266,23 @@ void loop()
{ {
// After an idle time, send the idle message // After an idle time, send the idle message
Serial.print(COMM_REPORT_CMD_IDLE); if (CurrentState::getInstance()->isEmergencyStop())
CurrentState::getInstance()->printQAndNewLine(); {
Serial.print(COMM_REPORT_EMERGENCY_STOP);
CurrentState::getInstance()->printQAndNewLine();
if (debugMessages)
{
Serial.print(COMM_REPORT_COMMENT);
Serial.print(" Emergency stop engaged");
CurrentState::getInstance()->printQAndNewLine();
}
}
else
{
Serial.print(COMM_REPORT_CMD_IDLE);
CurrentState::getInstance()->printQAndNewLine();
}
StepperControl::getInstance()->storePosition(); StepperControl::getInstance()->storePosition();
CurrentState::getInstance()->printPosition(); CurrentState::getInstance()->printPosition();