旋转360 发送C8

camera_merge
qiushui 5 years ago
parent b93089367b
commit a3b70d793b

@ -321,7 +321,7 @@ public class PtzControlModule {
* 360
* @param cameraId
*/
public static void turn360(Integer cameraId){
public static void turn360C8(Integer cameraId,Integer ptzId){
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
@ -335,11 +335,9 @@ public class PtzControlModule {
ptzLocationInfo.read();
if (bRet) {
System.out.println("xParam:" + ptzLocationInfo.nPTZPan); // 云台水平运动位置,有效范围:[0,3600]
System.out.println("yParam:" + ptzLocationInfo.nPTZTilt); // 云台垂直运动位置,有效范围:[-1800,1800]
System.out.println("zoomParam:" + ptzLocationInfo.nPTZZoom);
log.debug("xParam:{}",ptzLocationInfo.nPTZPan);
int qq = (ptzLocationInfo.nPTZPan + 1799) % 3600;
System.out.println(qq);
log.debug("xParam turn to:{}",qq);
toPtzSlow(cameraId,qq);
try {
Thread.sleep(5000);
@ -347,14 +345,20 @@ public class PtzControlModule {
e.printStackTrace();
}
qq = (qq + 1799) % 3600;
System.out.println(qq);
log.debug("xParam turn to:{}",qq);
toPtzSlow(cameraId,qq);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(ptzId != null){
log.info(" turn C8");
toPtz(ptzId,cameraId);
}
} else {
System.err.println( " { error code: ( 0x80000000|" + (LoginModule.netsdk.CLIENT_GetLastError() & 0x7fffffff) +" ). 参考 LastError.java }");
log.error( " { error code: ( 0x80000000|" + (LoginModule.netsdk.CLIENT_GetLastError() & 0x7fffffff) +" ). 参考 LastError.java }");
}
}
});
thread.start();

@ -1,5 +1,6 @@
package com.zhehekeji.web.service;
import com.zhehekeji.web.lib.PtzControlModule;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.FixedLengthFrameDecoder;
@ -90,12 +91,16 @@ public class MyProtocolDecoder extends FixedLengthFrameDecoder {
}
} else if (type.equals(ACTION)) {
log.info("action code,{} plcId:{},orderInfo:{}", code, plcId, plcOrderInfo.toString());
if(!code.equals("C6")){
if(!code.equals("C6") && !code.equals("C7")){
// C1-5 是执行动作,需要保存执行到第几步了
Integer times = OrderAction.put(plcOrderInfo.getOrderNum());
//执行动作
plcService.action(plcOrderInfo, plcId, times, code);
} else if(code.equals("C7")){
//旋转360 然后发送C8命令
plcService.turn360AndC8(plcId);
}else {
// if(){}
// 其他命令执行动作
plcService.action(plcOrderInfo, plcId, 1, code);
}
} else if (type.equals(WARN)) {

@ -302,4 +302,34 @@ public class PlcService {
OrderRealtime.stopOrder(street.getId());
}
}
/**
* 360,C8
*
* @Param ptzId 360
* @param plcId
*/
public void turn360AndC8(String plcId){
Street street = streetMapper.getStreetByPlcId(plcId);
if(street == null){
return;
}
if(street.getCamera1Id() != null){
List<CameraIO> ioConfigs = ioMapper.selectList(new QueryWrapper<CameraIO>().eq("code","C8").eq("camera_id",street.getCamera1Id()));
Integer ptzId = null;
if(ioConfigs.size() > 0){
ptzId = ioConfigs.get(0).getPtzId();
}
PtzControlModule.turn360C8(street.getCamera1Id(),ptzId);
}
if(street.getCamera2Id() != null) {
List<CameraIO> ioConfigs = ioMapper.selectList(new QueryWrapper<CameraIO>().eq("code","C8").eq("camera_id",street.getCamera2Id()));
Integer ptzId = null;
if(ioConfigs.size() > 0){
ptzId = ioConfigs.get(0).getPtzId();
}
PtzControlModule.turn360C8(street.getCamera2Id(),ptzId);
}
}
}

Loading…
Cancel
Save