[change] 更新清扫车PB以及接口

This commit is contained in:
xinfengkun
2022-08-23 16:08:46 +08:00
parent 690521a043
commit 26ad09fce2
7 changed files with 161 additions and 22 deletions

View File

@@ -49,6 +49,7 @@ import java.util.TimerTask;
import java.util.concurrent.atomic.AtomicInteger;
import chassis.SpecialVehicleTaskCmdOuterClass;
import common.HeaderOuterClass;
import mogo.telematics.pad.MessagePad;
import okio.ByteString;
@@ -74,6 +75,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
private DispatchHandler dispatchHandler;//分发
private DispatchHandler dispatchHandlerPointCloud;//原始的点云数据分发
private Timer checkCompatibilityTimer;//检查版本兼容性定时器 连接成功后5秒内等待工控机发送配置信息
private int seqSpecialVehicle = 0;//特种车辆命令发送次数
/**
* 与工控机链接状态
*/
@@ -407,6 +409,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
ipcConnectedIp = ipAddress;
ipcConnectedPort = port;
subscribeInterface = new SubscribeInterface(this);
seqSpecialVehicle = 0;
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.CONNECTED, "已连接");
//根据连接配置 进行接口订阅或取消订阅配置
if (adasOptions != null) {
@@ -1047,11 +1050,10 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
*/
@Override
public boolean sendRoboSweeperFuTianTaskCmd(SpecialVehicleTaskCmdOuterClass.RoboSweeperFuTianTaskCmd fuTianTaskCmd) {
SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd cmd = SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd
SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd.Builder cmdBuild = SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd
.newBuilder()
.setRoboSweeperFutianTaskCmd(fuTianTaskCmd)
.build();
return sendSpecialVehicleTaskCmd(cmd);
.setRoboSweeperFutianTaskCmd(fuTianTaskCmd);
return sendSpecialVehicleTaskCmd(cmdBuild);
}
/**
@@ -1062,22 +1064,36 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
*/
@Override
public boolean sendRoboVanSkywellTaskCmd(SpecialVehicleTaskCmdOuterClass.RoboVanSkywellTaskCmd vanSkywellTaskCmd) {
SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd cmd = SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd
SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd.Builder cmdBuild = SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd
.newBuilder()
.setRoboVanSkywellTaskCmd(vanSkywellTaskCmd)
.build();
return sendSpecialVehicleTaskCmd(cmd);
.setRoboVanSkywellTaskCmd(vanSkywellTaskCmd);
return sendSpecialVehicleTaskCmd(cmdBuild);
}
/**
* 特种车辆命令下发
*
* @param cmd 命令
* @param cmdBuild 命令
* @return boolean
*/
@Override
public boolean sendSpecialVehicleTaskCmd(SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd cmd) {
return sendPBMessage(MessageType.TYPE_SEND_SPECIAL_VEHICLE_TASK_CMD.typeCode, cmd.toByteArray());
public boolean sendSpecialVehicleTaskCmd(SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd.Builder cmdBuild) {
long t = System.currentTimeMillis();
int sec = (int) (t / 1000);
int nsec = (int) (t % 1000 * 1000000);
HeaderOuterClass.Time time = HeaderOuterClass.Time
.newBuilder()
.setSec(sec)
.setNsec(nsec)
.build();
HeaderOuterClass.Header header = HeaderOuterClass.Header.newBuilder()
.setSeq(++seqSpecialVehicle)
.setStamp(time)
.setFrameId("special_vehicle_task_cmd")
.setModuleName("EagleEye")
.build();
cmdBuild.setHeader(header);
return sendPBMessage(MessageType.TYPE_SEND_SPECIAL_VEHICLE_TASK_CMD.typeCode, cmdBuild.build().toByteArray());
}
}

View File

@@ -572,12 +572,12 @@ public class AdasManager implements IAdasNetCommApi {
/**
* 特种车辆命令下发
*
* @param cmd 命令
* @param cmdBuild 命令
* @return boolean
*/
@Override
public boolean sendSpecialVehicleTaskCmd(SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd cmd) {
return mChannel != null && mChannel.sendSpecialVehicleTaskCmd(cmd);
public boolean sendSpecialVehicleTaskCmd(SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd.Builder cmdBuild) {
return mChannel != null && mChannel.sendSpecialVehicleTaskCmd(cmdBuild);
}
/**

View File

@@ -295,10 +295,10 @@ public interface IAdasNetCommApi {
/**
* 特种车辆命令下发
*
* @param cmd 命令
* @param cmdBuild 命令
* @return boolean
*/
boolean sendSpecialVehicleTaskCmd(SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd cmd);
boolean sendSpecialVehicleTaskCmd(SpecialVehicleTaskCmdOuterClass.SpecialVehicleTaskCmd.Builder cmdBuild);
// TODO 需求暂停 待讨论
// boolean getRoutes();