using MECF.Framework.Common.CommonData.PUF;
using MECF.Framework.Common.CommonData.SRD;
using MECF.Framework.Common.OperationCenter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace CyberX8_Themes.UserControls
{
///
/// SRDMoveControl.xaml 的交互逻辑
///
public partial class SRDMoveControl : UserControl
{
public SRDMoveControl()
{
InitializeComponent();
}
#region 属性
public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register(
"ModuleName", typeof(string), typeof(SRDMoveControl),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// 模块名称
///
public string ModuleName
{
get
{
return (string)this.GetValue(ModuleNameProperty);
}
set
{
this.SetValue(ModuleNameProperty, value);
}
}
public static readonly DependencyProperty InputRotationTimeProperty = DependencyProperty.Register(
"InputRotationTime", typeof(double), typeof(SRDMoveControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// InputRotationTime
///
public double InputRotationTime
{
get
{
return (double)this.GetValue(InputRotationTimeProperty);
}
set
{
this.SetValue(InputRotationTimeProperty, value);
}
}
public static readonly DependencyProperty InputRotationSpeedProperty = DependencyProperty.Register(
"InputRotationSpeed", typeof(double), typeof(SRDMoveControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// InputRotationSpeed
///
public double InputRotationSpeed
{
get
{
return (double)this.GetValue(InputRotationSpeedProperty);
}
set
{
this.SetValue(InputRotationSpeedProperty, value);
}
}
public static readonly DependencyProperty CommonDataProperty = DependencyProperty.Register(
"CommonData", typeof(SrdCommonData), typeof(SRDMoveControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// CommonData
///
public SrdCommonData CommonData
{
get
{
return (SrdCommonData)this.GetValue(CommonDataProperty);
}
set
{
this.SetValue(CommonDataProperty, value);
}
}
#endregion
///
/// SRD关门
///
///
///
private void Closed_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Common.DoorClose");
}
///
/// SRD开门
///
///
///
private void Open_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Common.DoorOpen");
}
///
/// Arm运动到SRD1/2.Arm.Center位置
///
///
///
private void Out_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Arm.GotoSavedPosition", "TargetPosition", $"{ModuleName}.Arm.Center");
}
///
/// Arm运动到SRD1/2.Arm.Home位置
///
///
///
private void In_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Arm.GotoSavedPosition", "TargetPosition", $"{ModuleName}.Arm.Home");
}
///
/// Rotation旋转开始
///
///
///
private void Start_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StartRotation", InputRotationTime, InputRotationSpeed);
}
///
/// Rotation旋转停止
///
///
///
private void Stop_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Rotation.Stop");
}
}
}