void Turntable::turnNumberOfDegrees(double degrees) { int steps = (int)(degrees/degreesPerStep); if (direction==FS_DIRECTION_CW) { rotation.y -= degrees; } else if (direction==FS_DIRECTION_CCW) { rotation.y += degrees; } turnNumberOfSteps(steps); }
void FSLaser::turnNumberOfDegrees(double degrees) { int steps = (int)(degrees/degreesPerStep); //make sure to correctly update rotation in degrees, not steps degrees = (double)steps*(double)degreesPerStep; qDebug()<<"Steps"<<steps<<"Degrees"<<degrees; if(direction==FS_DIRECTION_CCW){ rotation.y += degrees; }else if(direction==FS_DIRECTION_CW){ rotation.y -= degrees; } qDebug()<<"computed number of steps"; turnNumberOfSteps(steps); FSController::getInstance()->controlPanel->setLaserAngleText(rotation.y); }