コード例 #1
0
ファイル: BpmAgent.java プロジェクト: kritha/MyOpenXal
 /** Get the average vertical position reading from the last turn * */
 public double getYAvg() {
   double yavg = 0.0;
   try {
     yavg = bpmNode.getYAvg();
   } catch (ConnectionException e) {
     System.out.println("Could not connect with:" + bpmNode.getId());
   } catch (GetException e) {
     System.out.println("Could not get value from:" + bpmNode.getId());
   }
   return yavg;
 }
コード例 #2
0
ファイル: BpmAgent.java プロジェクト: kritha/MyOpenXal
  /** Creates new BpmAgent */
  public BpmAgent(AcceleratorSeq aSequence, BPM newBpmNode) {

    bpmNode = newBpmNode;
    sequence = aSequence;

    xavgch = bpmNode.getChannel(BPM.X_TBT_HANDLE);
    yavgch = bpmNode.getChannel(BPM.Y_TBT_HANDLE);
    xavgch.requestConnection();
    yavgch.requestConnection();
    bpmNode.getChannel(BPM.X_AVG_HANDLE).requestConnection();
    bpmNode.getChannel(BPM.Y_AVG_HANDLE).requestConnection();
    // xavgch.setSyncRequest(true);
    // yavgch.setSyncRequest(true);
    // xavgch.connect();
    // yavgch.connect();
    // xavgch.pendIO(5);
    // yavgch.pendIO(5);
    // xavgch.setSyncRequest(false);
    // yavgch.setSyncRequest(false);
  }
コード例 #3
0
ファイル: BpmAgent.java プロジェクト: kritha/MyOpenXal
  /** Test whether the BPM's xAvg, yAvg and ampAvg channels can connect */
  public static boolean nodeCanConnect(BPM bpm) {
    boolean canConnectx = true;
    boolean canConnecty = true;
    boolean canConnect = false;
    try {
      // canConnect = canConnect && bpm.getChannel(BPM.X_TBT_HANDLE).connect();
      // canConnect = canConnect && bpm.getChannel(BPM.Y_TBT_HANDLE).connect();
      canConnectx = bpm.getChannel(BPM.X_TBT_HANDLE).connectAndWait();
      canConnectx = bpm.getChannel(BPM.Y_TBT_HANDLE).connectAndWait();
      // canConnect = canConnect && bpm.getChannel(BPM.AMP_AVG_HANDLE).connect();
    } catch (NoSuchChannelException excpt) {
      if (!canConnectx || !canConnecty) {
        canConnect = false;
      }
    }

    return canConnect;
  }
コード例 #4
0
ファイル: BpmAgent.java プロジェクト: kritha/MyOpenXal
 /** Test whether the given BPM node has a good status and all its channels can connect */
 public static boolean isOkay(BPM bpm) {
   return bpm.getStatus();
 }
コード例 #5
0
ファイル: BpmAgent.java プロジェクト: kritha/MyOpenXal
 /** Test if the BPM node is okay */
 public boolean isConnected() {
   return xavgch.isConnected()
       && yavgch.isConnected()
       && bpmNode.getChannel(BPM.X_AVG_HANDLE).isConnected()
       && bpmNode.getChannel(BPM.Y_AVG_HANDLE).isConnected();
 }
コード例 #6
0
ファイル: BpmAgent.java プロジェクト: kritha/MyOpenXal
 /** Name of the BPM as given by its unique ID */
 public String name() {
   return bpmNode.getId();
 }