private void onReceived(AgilusMessageFromRobot current) { AgilusMessageFromRobot previous = this.LastMessage.Get(); if (previous != null) { // Compare current and previous message action if (previous.CmdAct != 0 && current.CmdAct == 0) { // Transition from any other value to zero means a completed job //TODO BÖÖÖSE!!!! //this.JobDone.Invoke(); } } // Store the received message as last one this.LastMessage.Set(current); }
/// <summary> /// Returns the current position of the robot as Axis Position /// </summary> /// <remarks> /// This method uses the last received message from the robot. /// Thereby, the result of this method can be wrong, if the robot is not connected. /// </remarks> public AxisPosition GetCurrentAxisPosition() { AgilusMessageFromRobot lastMessage = this.LastMessage.Get(); return(lastMessage.CurrentAxisPosition); }
/// <summary> /// Returns the current position of the robot as TCP coordinate /// </summary> /// <remarks> /// This method uses the last received message from the robot. /// Thereby, the result of this method can be wrong, if the robot is not connected. /// </remarks> public TcpCoordinate GetCurrentTcpPosition() { AgilusMessageFromRobot lastMessage = this.LastMessage.Get(); return(lastMessage.CurrentTcpPosition); }