|
@@ -41,7 +41,7 @@ namespace VehicleControlSystem.ControlLayer.MQ
|
|
|
public eSteeringState RequestSteering
|
|
public eSteeringState RequestSteering
|
|
|
{
|
|
{
|
|
|
get { return requestSteering; }
|
|
get { return requestSteering; }
|
|
|
- set { SetField(ref this.requestSteering, value); }
|
|
|
|
|
|
|
+ set { SetField( ref this.requestSteering, value ); }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private bool isDriveMoving;
|
|
private bool isDriveMoving;
|
|
@@ -49,7 +49,7 @@ namespace VehicleControlSystem.ControlLayer.MQ
|
|
|
public bool IsDriveMoving
|
|
public bool IsDriveMoving
|
|
|
{
|
|
{
|
|
|
get { return isDriveMoving; }
|
|
get { return isDriveMoving; }
|
|
|
- set { SetField(ref isDriveMoving, value); }
|
|
|
|
|
|
|
+ set { SetField( ref isDriveMoving, value ); }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private eRoadForm currentLoadForm;
|
|
private eRoadForm currentLoadForm;
|
|
@@ -57,9 +57,18 @@ namespace VehicleControlSystem.ControlLayer.MQ
|
|
|
public eRoadForm CurrentLoadForm
|
|
public eRoadForm CurrentLoadForm
|
|
|
{
|
|
{
|
|
|
get { return currentLoadForm; }
|
|
get { return currentLoadForm; }
|
|
|
- set { SetField(ref currentLoadForm, value); }
|
|
|
|
|
|
|
+ set { SetField( ref currentLoadForm, value ); }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private eOperatationMode operatationMode;
|
|
|
|
|
+
|
|
|
|
|
+ public eOperatationMode OperationMode
|
|
|
|
|
+ {
|
|
|
|
|
+ get { return operatationMode; }
|
|
|
|
|
+ set { operatationMode = value; }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
#endregion
|
|
@@ -112,25 +121,46 @@ namespace VehicleControlSystem.ControlLayer.MQ
|
|
|
var ret = e.Socket.ReceiveMultipartStrings();
|
|
var ret = e.Socket.ReceiveMultipartStrings();
|
|
|
logger.D( $"[rep] - {ret}" );
|
|
logger.D( $"[rep] - {ret}" );
|
|
|
|
|
|
|
|
- if ( ret[0].Equals( "3050" ) )
|
|
|
|
|
|
|
+ if ( ret[0].Equals( "setm" ) )
|
|
|
{
|
|
{
|
|
|
- switch ( ret[1] )
|
|
|
|
|
|
|
+ var v = ret[1].Split( '/' );
|
|
|
|
|
+ switch ( v[0] )
|
|
|
{
|
|
{
|
|
|
- case "1":
|
|
|
|
|
- this.RequestSteering = eSteeringState.Left;
|
|
|
|
|
|
|
+ case "3050":
|
|
|
|
|
+ {
|
|
|
|
|
+ switch ( v[1] )
|
|
|
|
|
+ {
|
|
|
|
|
+ case "1":
|
|
|
|
|
+ this.RequestSteering = eSteeringState.Left;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "-1":
|
|
|
|
|
+ this.RequestSteering = eSteeringState.Right;
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ this.RequestSteering = eSteeringState.None;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
- case "-1":
|
|
|
|
|
- this.RequestSteering = eSteeringState.Right;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ case "111":
|
|
|
|
|
+ {
|
|
|
|
|
+ if ( v[1].Equals( "1" ) )
|
|
|
|
|
+ OperationMode = eOperatationMode.AutoMode;
|
|
|
|
|
+ else
|
|
|
|
|
+ OperationMode = eOperatationMode.ManualMode;
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+
|
|
|
|
|
+ case "113":
|
|
|
|
|
+ {
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
|
- this.RequestSteering = eSteeringState.None;
|
|
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
- rep.SendMoreFrame( "3050" ).SendFrame( "OK" );
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ rep.SendMoreFrame( "setm" ).SendFrame( $"ok/{v[0]}" );
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- rep.SendFrameEmpty();
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void Sub_ReceiveReady( object sender, NetMQ.NetMQSocketEventArgs e )
|
|
private void Sub_ReceiveReady( object sender, NetMQ.NetMQSocketEventArgs e )
|
|
@@ -216,6 +246,52 @@ namespace VehicleControlSystem.ControlLayer.MQ
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ #region Request Mothed
|
|
|
|
|
+ internal void SetObstruction( eObstacleState state )
|
|
|
|
|
+ {
|
|
|
|
|
+ string outStr = string.Empty;
|
|
|
|
|
+
|
|
|
|
|
+ switch ( state )
|
|
|
|
|
+ {
|
|
|
|
|
+ case eObstacleState.Normal:
|
|
|
|
|
+ this.Request( "set", "5001/0", out outStr );
|
|
|
|
|
+ break;
|
|
|
|
|
+ case eObstacleState.Abnormal:
|
|
|
|
|
+ this.Request( "set", "5001/3", out outStr );
|
|
|
|
|
+ break;
|
|
|
|
|
+ case eObstacleState.Blocked:
|
|
|
|
|
+ this.Request( "set", "5001/2", out outStr );
|
|
|
|
|
+ break;
|
|
|
|
|
+ case eObstacleState.Decelerate:
|
|
|
|
|
+ this.Request( "set", "5001/1", out outStr );
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ internal void SetOperationSate(eOperatationMode mode)
|
|
|
|
|
+ {
|
|
|
|
|
+ string outStr = string.Empty;
|
|
|
|
|
+
|
|
|
|
|
+ if ( mode == eOperatationMode.AutoMode )
|
|
|
|
|
+ this.Request( "set", "112/1", out outStr );
|
|
|
|
|
+ else if ( mode == eOperatationMode.ManualMode )
|
|
|
|
|
+ this.Request( "set", "112/0", out outStr );
|
|
|
|
|
+ else
|
|
|
|
|
+ { }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ internal void SetMCState(bool isOn )
|
|
|
|
|
+ {
|
|
|
|
|
+ string outStr = string.Empty;
|
|
|
|
|
+ if ( isOn )
|
|
|
|
|
+ this.Request( "set", "5000/1", out outStr );
|
|
|
|
|
+ else
|
|
|
|
|
+ this.Request( "set", "5000/0", out outStr );
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
internal void SetCurrentSteeringState( eSteeringState state )
|
|
internal void SetCurrentSteeringState( eSteeringState state )
|
|
|
{
|
|
{
|
|
|
string outStr = string.Empty;
|
|
string outStr = string.Empty;
|
|
@@ -235,5 +311,6 @@ namespace VehicleControlSystem.ControlLayer.MQ
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ #endregion
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|