|
@@ -49,11 +49,11 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#region Motor Left Binding Value
|
|
#region Motor Left Binding Value
|
|
|
- private double _targetPosDrive;
|
|
|
|
|
- public double TargetPosDrive
|
|
|
|
|
|
|
+ private double _driveTargetPos;
|
|
|
|
|
+ public double DriveTargetPos
|
|
|
{
|
|
{
|
|
|
- get { return this._targetPosDrive; }
|
|
|
|
|
- set { this.SetProperty(ref this._targetPosDrive, value); }
|
|
|
|
|
|
|
+ get { return this._driveTargetPos; }
|
|
|
|
|
+ set { this.SetProperty(ref this._driveTargetPos , value); }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private double _currentDrive;
|
|
private double _currentDrive;
|
|
@@ -126,17 +126,15 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
public SqliteDAL.DAL.AxisPositionDataDAL axisPositionDataDal;
|
|
public SqliteDAL.DAL.AxisPositionDataDAL axisPositionDataDal;
|
|
|
SqliteManager sql;
|
|
SqliteManager sql;
|
|
|
MessageController messageController;
|
|
MessageController messageController;
|
|
|
- //SelectionList selectionItems;
|
|
|
|
|
|
|
|
|
|
public DriveServoViewModel(IEventAggregator _ea, SqliteManager _sql, MessageController _messageController)
|
|
public DriveServoViewModel(IEventAggregator _ea, SqliteManager _sql, MessageController _messageController)
|
|
|
{
|
|
{
|
|
|
this.eventAggregator = _ea;
|
|
this.eventAggregator = _ea;
|
|
|
- this.eventAggregator.GetEvent<DirveControlPubSubEvent>().Unsubscribe(UICallbackCommunication);
|
|
|
|
|
- this.eventAggregator.GetEvent<DirveControlPubSubEvent>().Subscribe(UICallbackCommunication, ThreadOption.UIThread);
|
|
|
|
|
|
|
+ this.eventAggregator.GetEvent<DriveControlPubSubEvent>().Unsubscribe(UICallbackCommunication);
|
|
|
|
|
+ this.eventAggregator.GetEvent<DriveControlPubSubEvent>().Subscribe(UICallbackCommunication, ThreadOption.UIThread);
|
|
|
|
|
|
|
|
this.sql = _sql;
|
|
this.sql = _sql;
|
|
|
this.RouteList = new ObservableCollection<Route>(sql.RouteDal.All);
|
|
this.RouteList = new ObservableCollection<Route>(sql.RouteDal.All);
|
|
|
- /* Route 로 변경*/
|
|
|
|
|
|
|
|
|
|
this.messageController = _messageController;
|
|
this.messageController = _messageController;
|
|
|
|
|
|
|
@@ -167,26 +165,39 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
//TODO: Drive, Steering 구분
|
|
//TODO: Drive, Steering 구분
|
|
|
if (args.EventDir == DriveControlEventArgs.eEventDir.ToFront)
|
|
if (args.EventDir == DriveControlEventArgs.eEventDir.ToFront)
|
|
|
{
|
|
{
|
|
|
- switch (args.ControlKind)
|
|
|
|
|
|
|
+ switch ( args.ControlKind )
|
|
|
{
|
|
{
|
|
|
case DriveControlEventArgs.eControlKind.MOVE:
|
|
case DriveControlEventArgs.eControlKind.MOVE:
|
|
|
break;
|
|
break;
|
|
|
case DriveControlEventArgs.eControlKind.STOP:
|
|
case DriveControlEventArgs.eControlKind.STOP:
|
|
|
break;
|
|
break;
|
|
|
case DriveControlEventArgs.eControlKind.Steering:
|
|
case DriveControlEventArgs.eControlKind.Steering:
|
|
|
- if (args.Result.IsSuccess)
|
|
|
|
|
|
|
+ if ( args.Result.IsSuccess )
|
|
|
{
|
|
{
|
|
|
var dir = args.Result.ToResult<DriveControlEventArgs.eMoveDir>().Value;
|
|
var dir = args.Result.ToResult<DriveControlEventArgs.eMoveDir>().Value;
|
|
|
- this.ChangeSteeringDirection(dir == DriveControlEventArgs.eMoveDir.LEFT ? true : false);
|
|
|
|
|
|
|
+ this.ChangeSteeringDirection( dir == DriveControlEventArgs.eMoveDir.LEFT ? true : false );
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
case DriveControlEventArgs.eControlKind.SteeringState:
|
|
case DriveControlEventArgs.eControlKind.SteeringState:
|
|
|
- if (args.Result.IsSuccess)
|
|
|
|
|
|
|
+ if ( args.Result.IsSuccess )
|
|
|
{
|
|
{
|
|
|
var dir = args.Result.ToResult<DriveControlEventArgs.eMoveDir>().Value;
|
|
var dir = args.Result.ToResult<DriveControlEventArgs.eMoveDir>().Value;
|
|
|
- this.ChangeSteeringDirection(dir == DriveControlEventArgs.eMoveDir.LEFT ? true : false);
|
|
|
|
|
|
|
+ this.ChangeSteeringDirection( dir == DriveControlEventArgs.eMoveDir.LEFT ? true : false );
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case DriveControlEventArgs.eControlKind.ReqCurrentPos:
|
|
|
|
|
+ this.CurrentDrive = args.CurrentPosition;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case DriveControlEventArgs.eControlKind.ReqStopCurrentPos:
|
|
|
|
|
+ break;
|
|
|
|
|
+ case DriveControlEventArgs.eControlKind.FaultReset:
|
|
|
|
|
+ break;
|
|
|
|
|
+ case DriveControlEventArgs.eControlKind.DriveON:
|
|
|
|
|
+ break;
|
|
|
|
|
+ case DriveControlEventArgs.eControlKind.DriveOFF:
|
|
|
|
|
+ break;
|
|
|
|
|
+ case DriveControlEventArgs.eControlKind.JOG:
|
|
|
|
|
+ break;
|
|
|
default:
|
|
default:
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
@@ -195,7 +206,7 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
|
|
|
|
|
void PublishEvent(DriveControlEventArgs args)
|
|
void PublishEvent(DriveControlEventArgs args)
|
|
|
{
|
|
{
|
|
|
- this.eventAggregator.GetEvent<DirveControlPubSubEvent>().Publish(args);
|
|
|
|
|
|
|
+ this.eventAggregator.GetEvent<DriveControlPubSubEvent>().Publish(args);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ChangeSteeringDirection(bool isLeft)
|
|
void ChangeSteeringDirection(bool isLeft)
|
|
@@ -215,12 +226,18 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
#region Execute Method
|
|
#region Execute Method
|
|
|
private void ExecuteJogCommand(object obj)
|
|
private void ExecuteJogCommand(object obj)
|
|
|
{
|
|
{
|
|
|
- if (obj.ToString().Equals("+"))
|
|
|
|
|
|
|
+ var msg = new DriveControlEventArgs
|
|
|
{
|
|
{
|
|
|
- }
|
|
|
|
|
|
|
+ EventDir = DriveControlEventArgs.eEventDir.ToBack,
|
|
|
|
|
+ ControlKind = DriveControlEventArgs.eControlKind.JOG,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ if ( obj.ToString().Equals( "+" ) )
|
|
|
|
|
+ msg.JogDir = DriveControlEventArgs.eJogMoveDir.Positive;
|
|
|
else
|
|
else
|
|
|
- {
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ msg.JogDir = DriveControlEventArgs.eJogMoveDir.Negative;
|
|
|
|
|
+
|
|
|
|
|
+ this.PublishEvent( msg );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteJogVelPopupCommand()
|
|
private void ExecuteJogVelPopupCommand()
|
|
@@ -270,98 +287,127 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
private void ExecutePositionSaveCommand()
|
|
private void ExecutePositionSaveCommand()
|
|
|
{
|
|
{
|
|
|
this.messageController.ShowConfirmationPopupView("Save To Data ?", r =>
|
|
this.messageController.ShowConfirmationPopupView("Save To Data ?", r =>
|
|
|
- {
|
|
|
|
|
|
|
+ {
|
|
|
if (r.Result == ButtonResult.OK)
|
|
if (r.Result == ButtonResult.OK)
|
|
|
{
|
|
{
|
|
|
- //value check
|
|
|
|
|
- //1차 검사 ID 값이 동일한게 있는지 ?
|
|
|
|
|
- //2차 검사 Value 값 변화된것들이 있으면 변화된것들 Save 후 Update 해야함.
|
|
|
|
|
- var d = this.RouteList.ToList();
|
|
|
|
|
- var l = d.Distinct().ToList();
|
|
|
|
|
-
|
|
|
|
|
- //var saveData = new ObservableCollection<AxisPositionData>();
|
|
|
|
|
-
|
|
|
|
|
|
|
+ //TODO:[20/03/18 ys-hwang] DB Table Update
|
|
|
}
|
|
}
|
|
|
- });
|
|
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecutePositionDeleteCommand()
|
|
private void ExecutePositionDeleteCommand()
|
|
|
{
|
|
{
|
|
|
- var deleteList = new List<Route>();
|
|
|
|
|
-
|
|
|
|
|
- foreach (var item in this.RouteList)
|
|
|
|
|
|
|
+ this.messageController.ShowConfirmationPopupView( "Select To Delete ?" , r =>
|
|
|
{
|
|
{
|
|
|
- if (item.IsSelected)
|
|
|
|
|
- deleteList.Add(item);
|
|
|
|
|
- }
|
|
|
|
|
- deleteList.ForEach(x => { this.RouteList.Remove(x); });
|
|
|
|
|
|
|
+ if ( r.Result == ButtonResult.OK )
|
|
|
|
|
+ {
|
|
|
|
|
+ var deleteList = new List<Route>();
|
|
|
|
|
+
|
|
|
|
|
+ foreach ( var item in this.RouteList )
|
|
|
|
|
+ {
|
|
|
|
|
+ if ( item.IsSelected )
|
|
|
|
|
+ deleteList.Add( item );
|
|
|
|
|
+ }
|
|
|
|
|
+ deleteList.ForEach( x => { this.RouteList.Remove( x ); } );
|
|
|
|
|
+ }
|
|
|
|
|
+ } );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecutePositionAddCommand()
|
|
private void ExecutePositionAddCommand()
|
|
|
{
|
|
{
|
|
|
- this.RouteList.Add(new Route());
|
|
|
|
|
|
|
+ this.messageController.ShowConfirmationPopupView( "Position Add ?" , r =>
|
|
|
|
|
+ {
|
|
|
|
|
+ if ( r.Result == ButtonResult.OK )
|
|
|
|
|
+ {
|
|
|
|
|
+ this.RouteList.Add( new Route() );
|
|
|
|
|
+
|
|
|
|
|
+ this.messageController.ShowNotificationView( "Success" );
|
|
|
|
|
+ }
|
|
|
|
|
+ } );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteKeyInCommadn(object obj)
|
|
private void ExecuteKeyInCommadn(object obj)
|
|
|
{
|
|
{
|
|
|
var numPad = new CalcuratorView();
|
|
var numPad = new CalcuratorView();
|
|
|
- var result = numPad.ShowDialog(this.TargetPosDrive);
|
|
|
|
|
- this.TargetPosDrive = result;
|
|
|
|
|
|
|
+ var result = numPad.ShowDialog(this.DriveTargetPos );
|
|
|
|
|
+ this.DriveTargetPos = result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteOriginCommand()
|
|
private void ExecuteOriginCommand()
|
|
|
{
|
|
{
|
|
|
- //this.SelectAxis.OriginReturn();
|
|
|
|
|
|
|
+ this.messageController.ShowConfirmationPopupView( "Origin ?" , r =>
|
|
|
|
|
+ {
|
|
|
|
|
+ if ( r.Result == ButtonResult.OK )
|
|
|
|
|
+ {
|
|
|
|
|
+ //TODO: How to use
|
|
|
|
|
+ }
|
|
|
|
|
+ } );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteFaultResetCommand()
|
|
private void ExecuteFaultResetCommand()
|
|
|
{
|
|
{
|
|
|
- //this.SelectAxis.FaultReset()
|
|
|
|
|
|
|
+ var msg = new DriveControlEventArgs
|
|
|
|
|
+ {
|
|
|
|
|
+ EventDir = DriveControlEventArgs.eEventDir.ToBack ,
|
|
|
|
|
+ ControlKind = DriveControlEventArgs.eControlKind.FaultReset ,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ this.PublishEvent( msg );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteServoOffCommand()
|
|
private void ExecuteServoOffCommand()
|
|
|
{
|
|
{
|
|
|
- //this.SelectAxis.ServoOff();
|
|
|
|
|
|
|
+ var msg = new DriveControlEventArgs
|
|
|
|
|
+ {
|
|
|
|
|
+ EventDir = DriveControlEventArgs.eEventDir.ToBack ,
|
|
|
|
|
+ ControlKind = DriveControlEventArgs.eControlKind.DriveOFF ,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ this.PublishEvent( msg );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteServoOnCommand()
|
|
private void ExecuteServoOnCommand()
|
|
|
{
|
|
{
|
|
|
- //this.SelectAxis.ServoOn();
|
|
|
|
|
|
|
+ var msg = new DriveControlEventArgs
|
|
|
|
|
+ {
|
|
|
|
|
+ EventDir = DriveControlEventArgs.eEventDir.ToBack ,
|
|
|
|
|
+ ControlKind = DriveControlEventArgs.eControlKind.DriveON ,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ this.PublishEvent( msg );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteCurrentToTargetCommand()
|
|
private void ExecuteCurrentToTargetCommand()
|
|
|
{
|
|
{
|
|
|
- this.TargetPosDrive = this.CurrentDrive;
|
|
|
|
|
|
|
+ this.messageController.ShowConfirmationPopupView( "Current To Target ?" , r =>
|
|
|
|
|
+ {
|
|
|
|
|
+ if ( r.Result == ButtonResult.OK )
|
|
|
|
|
+ {
|
|
|
|
|
+ this.DriveTargetPos = this.CurrentDrive;
|
|
|
|
|
+ }
|
|
|
|
|
+ } );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private async void ExecuteMoveToCommand()
|
|
|
|
|
|
|
+ private void ExecuteMoveToCommand()
|
|
|
{
|
|
{
|
|
|
- await Task.Run(() =>
|
|
|
|
|
- {
|
|
|
|
|
- //Axis.Move(this.SelectPosition);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ this.messageController.ShowConfirmationPopupView( "Move To Pos ?" , r =>
|
|
|
|
|
+ {
|
|
|
|
|
+ if ( r.Result == ButtonResult.OK )
|
|
|
|
|
+ {
|
|
|
|
|
+ var msg = new DriveControlEventArgs
|
|
|
|
|
+ {
|
|
|
|
|
+ EventDir = DriveControlEventArgs.eEventDir.ToBack ,
|
|
|
|
|
+ ControlKind = DriveControlEventArgs.eControlKind.MOVE ,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ this.PublishEvent( msg );
|
|
|
|
|
+ }
|
|
|
|
|
+ } );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ExecuteSelectPosCommand(object obj)
|
|
private void ExecuteSelectPosCommand(object obj)
|
|
|
{
|
|
{
|
|
|
this.SelectedPosition = obj.ToString();
|
|
this.SelectedPosition = obj.ToString();
|
|
|
-
|
|
|
|
|
- switch (this.SelectedPosition)
|
|
|
|
|
- {
|
|
|
|
|
- case "P1":
|
|
|
|
|
- break;
|
|
|
|
|
- case "P2":
|
|
|
|
|
- break;
|
|
|
|
|
- case "P3":
|
|
|
|
|
- break;
|
|
|
|
|
- case "P4":
|
|
|
|
|
- break;
|
|
|
|
|
- case "P5":
|
|
|
|
|
- break;
|
|
|
|
|
-
|
|
|
|
|
- default:
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
#endregion
|
|
@@ -374,6 +420,8 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
|
|
|
|
|
public void OnDialogClosed()
|
|
public void OnDialogClosed()
|
|
|
{
|
|
{
|
|
|
|
|
+ this.eventAggregator.GetEvent<DriveControlPubSubEvent>().Publish( new DriveControlEventArgs { EventDir = DriveControlEventArgs.eEventDir.ToBack , ControlKind = DriveControlEventArgs.eControlKind.ReqStopCurrentPos } );
|
|
|
|
|
+ this.eventAggregator.GetEvent<DriveControlPubSubEvent>().Unsubscribe( UICallbackCommunication );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void OnDialogOpened(IDialogParameters parameters)
|
|
public void OnDialogOpened(IDialogParameters parameters)
|
|
@@ -384,6 +432,8 @@ namespace OHV.Module.Interactivity.PopUp
|
|
|
ControlKind = DriveControlEventArgs.eControlKind.SteeringState,
|
|
ControlKind = DriveControlEventArgs.eControlKind.SteeringState,
|
|
|
};
|
|
};
|
|
|
this.PublishEvent(msg);
|
|
this.PublishEvent(msg);
|
|
|
|
|
+
|
|
|
|
|
+ this.eventAggregator.GetEvent<DriveControlPubSubEvent>().Publish( new DriveControlEventArgs { EventDir = DriveControlEventArgs.eEventDir.ToBack , ControlKind = DriveControlEventArgs.eControlKind.ReqCurrentPos } );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void CloseDialog(string parameter)
|
|
private void CloseDialog(string parameter)
|