ncc协议x
This commit is contained in:
parent
4488352fa1
commit
5a94989472
@ -11,7 +11,44 @@ import java.lang.reflect.Method;
|
|||||||
* 设备状态转换相关
|
* 设备状态转换相关
|
||||||
*/
|
*/
|
||||||
public class DeviceStatusConvertor {
|
public class DeviceStatusConvertor {
|
||||||
|
/**
|
||||||
|
* Track状态proto
|
||||||
|
*/
|
||||||
|
public static void convertForTrack(final int statusBitMap,final DeviceStatusProto.Track.Builder to) throws Exception {
|
||||||
|
convert(DeviceStatus.TRACK.class,statusBitMap,to);
|
||||||
|
final int SPEED_LIMIT_MASK = 0xff000000;
|
||||||
|
final int SPEED_LIMIT_TYPE_MASK = 0x00f00000;
|
||||||
|
final int speedLimit = (statusBitMap&SPEED_LIMIT_MASK)>>6;
|
||||||
|
final int speedLimitType = (statusBitMap&SPEED_LIMIT_TYPE_MASK)>>5;
|
||||||
|
to.setSpeedLimit(speedLimit);
|
||||||
|
to.setLimitType(DeviceStatusProto.Track.LimitType.forNumber(speedLimitType));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Platform状态proto
|
||||||
|
*/
|
||||||
|
public static void convertForPlatform(final int statusBitMap,final int spare,final DeviceStatusProto.Platform.Builder to) throws Exception{
|
||||||
|
convert(DeviceStatus.PLATFORM.class,statusBitMap,to);
|
||||||
|
final int NEXT_SECTION_RUNTIME_MASK = 0xffff0000;
|
||||||
|
final int NEXT_SECTION_RUN_LEVEL_MASK = 0x0000ff00;
|
||||||
|
final int nextSectionRuntime = (spare&NEXT_SECTION_RUNTIME_MASK)>>4;
|
||||||
|
final int nextSectionRunLevel = (spare&NEXT_SECTION_RUN_LEVEL_MASK)>>2;
|
||||||
|
//
|
||||||
|
final int STOP_TIME_MASK = 0xffff0000;
|
||||||
|
final int stopTime = (statusBitMap&STOP_TIME_MASK)>>4;
|
||||||
|
//
|
||||||
|
to.setNextSectionRunTime(nextSectionRuntime);
|
||||||
|
to.setNextSectionRunLevel(nextSectionRunLevel);
|
||||||
|
to.setStopTime(stopTime);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Switch状态proto
|
||||||
|
*/
|
||||||
|
public static void convertForSwitch(final int statusBitMap,final int spare,final DeviceStatusProto.Switch.Builder to) throws Exception {
|
||||||
|
convert(DeviceStatus.SWITCH.class,statusBitMap,to);
|
||||||
|
final int SPEED_LIMIT_MASK = 0x000000ff;
|
||||||
|
final int speedLimit = spare&SPEED_LIMIT_MASK;
|
||||||
|
to.setSpeedLimit(speedLimit);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 把设备位图状态转换为proto定义的设备状态
|
* 把设备位图状态转换为proto定义的设备状态
|
||||||
*
|
*
|
||||||
@ -45,35 +82,6 @@ public class DeviceStatusConvertor {
|
|||||||
setMethod.invoke(to, devStateMask == (statusBitMap & devStateMask));
|
setMethod.invoke(to, devStateMask == (statusBitMap & devStateMask));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 轨道状态proto
|
|
||||||
*/
|
|
||||||
public static void convertForTrack(final int statusBitMap,final DeviceStatusProto.Track.Builder to) throws Exception {
|
|
||||||
convert(DeviceStatus.TRACK.class,statusBitMap,to);
|
|
||||||
final int SPEED_LIMIT_MASK = 0xff000000;
|
|
||||||
final int SPEED_LIMIT_TYPE_MASK = 0x00f00000;
|
|
||||||
final int speedLimit = (statusBitMap&SPEED_LIMIT_MASK)>>6;
|
|
||||||
final int speedLimitType = (statusBitMap&SPEED_LIMIT_TYPE_MASK)>>5;
|
|
||||||
to.setSpeedLimit(speedLimit);
|
|
||||||
to.setLimitType(DeviceStatusProto.Track.LimitType.forNumber(speedLimitType));
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Platform状态proto
|
|
||||||
*/
|
|
||||||
public static void convertForPlatform(final int statusBitMap,final int spare,final DeviceStatusProto.Platform.Builder to) throws Exception{
|
|
||||||
convert(DeviceStatus.PLATFORM.class,statusBitMap,to);
|
|
||||||
final int NEXT_SECTION_RUNTIME_MASK = 0xffff0000;
|
|
||||||
final int NEXT_SECTION_RUN_LEVEL_MASK = 0x0000ff00;
|
|
||||||
final int nextSectionRuntime = (spare&NEXT_SECTION_RUNTIME_MASK)>>4;
|
|
||||||
final int nextSectionRunLevel = (spare&NEXT_SECTION_RUN_LEVEL_MASK)>>2;
|
|
||||||
//
|
|
||||||
final int STOP_TIME_MASK = 0xffff0000;
|
|
||||||
final int stopTime = (statusBitMap&STOP_TIME_MASK)>>4;
|
|
||||||
//
|
|
||||||
to.setNextSectionRunTime(nextSectionRuntime);
|
|
||||||
to.setNextSectionRunLevel(nextSectionRunLevel);
|
|
||||||
to.setStopTime(stopTime);
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* 以信号机为例测试
|
* 以信号机为例测试
|
||||||
*/
|
*/
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 05401fc188150829e9a694ffb1ce354ac6dffaba
|
Subproject commit d424b9466a5eeda8b5553a275a495eb7aa1f172a
|
Loading…
Reference in New Issue
Block a user