TutorialUnitGui::TutorialUnitGui(TutorialUnit *control, GraphicsView *scene) : ui(new Ui::TutorialUnitGui), mController(control), mScene(scene) { ui->setupUi(this); connect(mController, SIGNAL(connectStatusChanged(bool)), SLOT(updateStatus(bool))); connect(mController, SIGNAL(positionUpdated(QPointF,qreal)), SLOT(onPositionUpdate(QPointF, qreal))); connect(this, SIGNAL(connectClicked()), mController, SLOT(acquireHardware())); connect(this, SIGNAL(disconnectClicked()), mController, SLOT(releaseHardware())); connect(this, SIGNAL(resetSystem()), mController, SLOT(resetSetup())); connect(this, SIGNAL(resetSystemRandom()), mController, SLOT(resetSetupRandom())); scene->show(); scene->hide(); }
void AMPIC887EpicsCoordinator::onAllConnected(bool connectedState) { if(connectedState) { if(!controller_->isInValidState()) { qDebug() << "Initialization: Setting Axes status to Error"; xAxisStatus_->move(4); yAxisStatus_->move(4); zAxisStatus_->move(4); uAxisStatus_->move(4); vAxisStatus_->move(4); wAxisStatus_->move(4); } else if (!connectedOnce_) { connectedOnce_ = true; // Initializing x Axis if(!xAxisFeedback_->withinTolerance(controller_->currentPosition(AMGCS2::XAxis))) { qDebug() << "Initialization: Setting x Axis position to " << controller_->currentPosition(AMGCS2::XAxis); xAxisFeedback_->move(controller_->currentPosition(AMGCS2::XAxis)); } if(controller_->movementStatuses().testFlag(AMGCS2::XAxisIsMoving) && !xAxisStatus_->withinTolerance(1)) { qDebug() << "Initialization: Setting x Axis status to moving"; xAxisStatus_->move(1); } else if (!xAxisStatus_->withinTolerance(0)) { qDebug() << "Initialization: Setting x Axis status to move done"; xAxisStatus_->move(0); } // Initializing y Axis if(!yAxisFeedback_->withinTolerance(controller_->currentPosition(AMGCS2::YAxis))) { qDebug() << "Initialzation: Setting y Axis position to " << controller_->currentPosition(AMGCS2::YAxis); yAxisFeedback_->move(controller_->currentPosition(AMGCS2::YAxis)); } if(controller_->movementStatuses().testFlag(AMGCS2::YAxisIsMoving) && !yAxisStatus_->withinTolerance(1)) { qDebug() << "Initialization: Setting y Axis status to moving"; yAxisStatus_->move(1); } else if (!yAxisStatus_->withinTolerance(0)) { qDebug() << "Initialization: Setting y Axis status to move done"; yAxisStatus_->move(0); } // Initializing z Axis if(!zAxisFeedback_->withinTolerance(controller_->currentPosition(AMGCS2::ZAxis))) { qDebug() << "Initialzation: Setting z Axis position to " << controller_->currentPosition(AMGCS2::ZAxis); zAxisFeedback_->move(controller_->currentPosition(AMGCS2::ZAxis)); } if(controller_->movementStatuses().testFlag(AMGCS2::ZAxisIsMoving) && !zAxisStatus_->withinTolerance(1)) { qDebug() << "Initialization: Setting z Axis status to moving"; zAxisStatus_->move(1); } else if (!zAxisStatus_->withinTolerance(0)) { qDebug() << "Initialization: Setting z Axis status to move done"; zAxisStatus_->move(0); } // Initializing u Axis if(!uAxisFeedback_->withinTolerance(controller_->currentPosition(AMGCS2::UAxis))) { qDebug() << "Initialzation: Setting u Axis position to " << controller_->currentPosition(AMGCS2::UAxis); uAxisFeedback_->move(controller_->currentPosition(AMGCS2::UAxis)); } if(controller_->movementStatuses().testFlag(AMGCS2::UAxisIsMoving) && !uAxisStatus_->withinTolerance(1)) { qDebug() << "Initialization: Setting u Axis status to moving"; uAxisStatus_->move(1); } else if (!uAxisStatus_->withinTolerance(0)) { qDebug() << "Initialization: Setting u Axis status to move done"; uAxisStatus_->move(0); } // Initializing v Axis if(!vAxisFeedback_->withinTolerance(controller_->currentPosition(AMGCS2::VAxis))) { qDebug() << "Initialzation: Setting v Axis position to " << controller_->currentPosition(AMGCS2::VAxis); vAxisFeedback_->move(controller_->currentPosition(AMGCS2::VAxis)); } if(controller_->movementStatuses().testFlag(AMGCS2::VAxisIsMoving) && !vAxisStatus_->withinTolerance(1)) { qDebug() << "Initialization: Setting v Axis status to moving"; vAxisStatus_->move(1); } else if (!vAxisStatus_->withinTolerance(0)) { qDebug() << "Initialization: Setting v Axis status to move done"; vAxisStatus_->move(0); } // Initializing w Axis if(!wAxisFeedback_->withinTolerance(controller_->currentPosition(AMGCS2::WAxis))) { qDebug() << "Initialzation: Setting w Axis position to " << controller_->currentPosition(AMGCS2::WAxis); wAxisFeedback_->move(controller_->currentPosition(AMGCS2::WAxis)); } if(controller_->movementStatuses().testFlag(AMGCS2::WAxisIsMoving) && !wAxisStatus_->withinTolerance(1)) { qDebug() << "Initialization: Setting w Axis status to moving"; wAxisStatus_->move(1); } else if (!wAxisStatus_->withinTolerance(0)) { qDebug() << "Initialization: Setting w Axis status to move done"; wAxisStatus_->move(0); } // Initialize system velocity if(!systemVelocityFeedback_->withinTolerance(controller_->systemVelocity())) { qDebug() << "Initialization: Setting system velocity to " << controller_->systemVelocity(); systemVelocityFeedback_->move(controller_->systemVelocity()); } if(!systemVelocitySetpoint_->withinTolerance(controller_->systemVelocity())) { qDebug() << "Initialization: Setting system velocity setpoint to " << controller_->systemVelocity(); systemVelocitySetpoint_->move(controller_->systemVelocity()); } // Initialize the record rate. if(!recordRateFeedback_->withinTolerance(controller_->recordRate())) { qDebug() << "Initialization: Setting record rate to " << controller_->recordRate(); recordRateFeedback_->move(controller_->recordRate()); } if(!recordRateSetpoint_->withinTolerance(controller_->recordRate())) { qDebug() << "Initialization: Setting record rate setpoint to " << controller_->recordRate(); recordRateSetpoint_->move(controller_->recordRate()); } // Initialize data recorder active state double dataRecorderActiveValue = controller_->isDataRecorderActive() ? 1.0 : 0.0; if(dataRecorderActive_->withinTolerance(dataRecorderActiveValue)) { qDebug() << "Initialization: Setting data recorder active status to " << dataRecorderActiveValue; dataRecorderActive_->move(dataRecorderActiveValue); } } connect(systemVelocitySetpoint_, SIGNAL(valueChanged(double)), this, SLOT(onSystemVelocitySetpointChanged(double))); connect(recordRateSetpoint_, SIGNAL(valueChanged(double)), this, SLOT(onRecordRateSetpointPVChanged(double))); connect(dataRecorderActive_, SIGNAL(valueChanged(double)), this, SLOT(onDataRecorderActivePVChanged(double))); connect(stopAll_, SIGNAL(valueChanged(double)), this, SLOT(onStopAll(double))); connect(controller_, SIGNAL(moveStarted(AMGCS2::AxisMovementStatuses)), this, SLOT(onMotionStartedChanged(AMGCS2::AxisMovementStatuses))); connect(controller_, SIGNAL(moveFailed(AMGCS2::AxisMovementStatuses)), this, SLOT(onMotionFailed(AMGCS2::AxisMovementStatuses))); connect(controller_, SIGNAL(moveComplete()), this, SLOT(onMotionCompleted())); connect(controller_, SIGNAL(positionUpdate(AMPIC887AxisMap<double>)), this, SLOT(onPositionUpdate(AMPIC887AxisMap<double>))); connect(controller_, SIGNAL(systemVelocityChanged(double)), this, SLOT(onSystemVelocityChanged(double))); connect(controller_, SIGNAL(recordRateChanged(double)), this, SLOT(onControllerRecordRateChanged(double))); connect(controller_, SIGNAL(dataRecorderActiveStateChanged(bool)), this, SLOT(onControllerDataRecorderActiveChanged(bool))); } }