Merge pull request #121 from TimEvWw/master

Fixed accidently also disabling encoder for non express boards.
pio
Tim Evers 2019-12-17 21:35:44 +01:00 committed by GitHub
commit caff3f9c09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 46 additions and 43 deletions

View File

@ -1,9 +1,9 @@
#ifndef FARMBOT_BOARD_ID
//#define RAMPS_V14
#define RAMPS_V14
//#define FARMDUINO_V10
//#define FARMDUINO_V14
#define FARMDUINO_EXP_V20
//#define FARMDUINO_EXP_V20
#else

View File

@ -602,21 +602,21 @@ int Movement::moveToCoords(double xDestScaled, double yDestScaled, double zDestS
if (axisX.isStepDone())
{
axisX.checkMovement();
//checkAxisVsEncoder(&axisX, &encoderX, &motorConsMissedSteps[0], &motorLastPosition[0], &motorConsEncoderLastPosition[0], &motorConsEncoderUseForPos[0], &motorConsMissedStepsDecay[0], &motorConsEncoderEnabled[0]);
checkAxisVsEncoder(&axisX, &encoderX, &motorConsMissedSteps[0], &motorLastPosition[0], &motorConsEncoderLastPosition[0], &motorConsEncoderUseForPos[0], &motorConsMissedStepsDecay[0], &motorConsEncoderEnabled[0]);
axisX.resetStepDone();
}
if (axisY.isStepDone())
{
axisY.checkMovement();
//checkAxisVsEncoder(&axisY, &encoderY, &motorConsMissedSteps[1], &motorLastPosition[1], &motorConsEncoderLastPosition[1], &motorConsEncoderUseForPos[1], &motorConsMissedStepsDecay[1], &motorConsEncoderEnabled[1]);
checkAxisVsEncoder(&axisY, &encoderY, &motorConsMissedSteps[1], &motorLastPosition[1], &motorConsEncoderLastPosition[1], &motorConsEncoderUseForPos[1], &motorConsMissedStepsDecay[1], &motorConsEncoderEnabled[1]);
axisY.resetStepDone();
}
if (axisZ.isStepDone())
{
axisZ.checkMovement();
//checkAxisVsEncoder(&axisZ, &encoderZ, &motorConsMissedSteps[2], &motorLastPosition[2], &motorConsEncoderLastPosition[2], &motorConsEncoderUseForPos[2], &motorConsMissedStepsDecay[2], &motorConsEncoderEnabled[2]);
checkAxisVsEncoder(&axisZ, &encoderZ, &motorConsMissedSteps[2], &motorLastPosition[2], &motorConsEncoderLastPosition[2], &motorConsEncoderUseForPos[2], &motorConsMissedStepsDecay[2], &motorConsEncoderEnabled[2]);
axisZ.resetStepDone();
}
@ -1443,43 +1443,43 @@ void Movement::checkAxisVsEncoder(MovementAxis *axis, MovementEncoder *encoder,
}
#endif
#if defined(FARMDUINO_EXP_V20)
/**/
/*
Serial.print("R99");
Serial.print(" XXX ");
Serial.print(" cur pos ");
Serial.print(axis->currentPosition());
Serial.print(" last pos ");
Serial.print(*lastPosition);
*/
if (*encoderEnabled) {
if (axis->stallDetected()) {
// In case of stall detection, count this as a missed step
(*missedSteps)++;
axis->setCurrentPosition(*lastPosition);
}
else {
// Decrease amount of missed steps if there are no missed step
if (*missedSteps > 0)
{
(*missedSteps) -= (*encoderStepDecay);
}
*lastPosition = axis->currentPosition();
encoder->setPosition(axis->currentPosition());
}
}
//Serial.print(" new last pos ");
//Serial.print(*lastPosition);
//Serial.print(" en pos ");
//Serial.print(encoder->currentPosition());
//Serial.print("\r\n");
#endif
//#if defined(FARMDUINO_EXP_V20)
//
// /**/
// /*
// Serial.print("R99");
// Serial.print(" XXX ");
// Serial.print(" cur pos ");
// Serial.print(axis->currentPosition());
// Serial.print(" last pos ");
// Serial.print(*lastPosition);
// */
//
// if (*encoderEnabled) {
// if (axis->stallDetected()) {
// // In case of stall detection, count this as a missed step
// (*missedSteps)++;
// axis->setCurrentPosition(*lastPosition);
// }
// else {
// // Decrease amount of missed steps if there are no missed step
// if (*missedSteps > 0)
// {
// (*missedSteps) -= (*encoderStepDecay);
// }
// *lastPosition = axis->currentPosition();
// encoder->setPosition(axis->currentPosition());
// }
// }
//
// //Serial.print(" new last pos ");
// //Serial.print(*lastPosition);
// //Serial.print(" en pos ");
// //Serial.print(encoder->currentPosition());
// //Serial.print("\r\n");
//
//
//#endif
}

View File

@ -11,6 +11,8 @@ TMC2130Stepper::TMC2130Stepper(uint16_t pinEN, uint16_t pinDIR, uint16_t pinStep
_pinDIR(pinDIR)
{}
void TMC2130Stepper::begin() {
#ifdef TMC2130DEBUG
Serial.println("TMC2130 Stepper driver library");

View File

@ -12,7 +12,8 @@ class TMC2130Stepper {
TMC2130Stepper(uint16_t pinCS);
TMC2130Stepper(uint16_t pinEN, uint16_t pinDIR, uint16_t pinStep, uint16_t pinCS);
TMC2130Stepper(uint16_t pinEN, uint16_t pinDIR, uint16_t pinStep, uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK);
void begin();
void changeChipSelect(uint16_t pinCS);
void begin();
void checkStatus();
void rms_current(uint16_t mA, float multiplier=0.5, float RS=0.11);
uint16_t rms_current();