[630][adas] 更新重启接口,添加关机命令接口,添加标定节点启停接口,添加控制前向camera 30节点启停接口,添加控制lidar节点启停接口,添加控制左前radar节点启停接口

This commit is contained in:
xinfengkun
2024-02-28 08:54:19 +08:00
parent 90c14abd8b
commit db084b39ef
6 changed files with 232 additions and 22 deletions

View File

@@ -875,11 +875,20 @@ class MoGoAutopilotControlProvider :
}
/**
* 发送工控机所有节点重启命令
* 系统命令请求 重启所有节点
* 命令下发存在回执
*/
override fun sendIpcReboot() {
//重启所有节点
AdasManager.getInstance().sendSystemCmdReq(MessagePad.SystemCmdType.SYSTEMCMD_REBOOT)
AdasManager.getInstance().sendIpcReboot()
}
/**
* 系统命令请求 关机
* 命令下发存在回执
*/
override fun sendIpcPowerOff() {
AdasManager.getInstance().sendIpcPowerOff()
}
/**

View File

@@ -309,10 +309,17 @@ interface IMoGoAutopilotControlProvider : IMoGoFunctionServerProvider {
fun sendBlindAreaCmd(switchCmd: Boolean)
/**
* 发送工控机所有节点重启命令
* 系统命令请求 重启所有节点
* 命令下发存在回执
*/
fun sendIpcReboot()
/**
* 系统命令请求 关机
* 命令下发存在回执
*/
fun sendIpcPowerOff()
/**
* 办公室调试使用,强制开启自动驾驶,将 statuspilotmodecontrol_pilotmode强追设置为 1
* isEnable = true 开启

View File

@@ -489,7 +489,8 @@ object CallerAutoPilotControlManager {
}
/**
* 发送工控机所有节点重启命令
* 系统命令请求 重启所有节点
* 命令下发存在回执
*/
fun sendIpcReboot() {
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
@@ -497,6 +498,16 @@ object CallerAutoPilotControlManager {
}
}
/**
* 系统命令请求 关机
* 命令下发存在回执
*/
fun sendIpcPowerOff(){
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {//TODO 是否需要判断是不是司机屏?
providerApi?.sendIpcPowerOff()
}
}
/**
* 办公室调试使用,强制开启自动驾驶,将 statuspilotmodecontrol_pilotmode强追设置为 1
* isEnable = true 开启

View File

@@ -1183,12 +1183,14 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
}
/**
* 系统命令请求, 比如系统重启,启用新镜像
* 系统命令请求
*
* @param type SystemCmdTypeSYSTEMCMD_REBOOT 重启所有节点
* SystemCmdTypeSYSTEMCMD_EMPLOY_NEW_IMAGE 使用新镜像(推镜像
* SystemCmdTypeSYSTEMCMD_SHUT_DOWN 关机
* @return boolean
* @param type SystemCmdType.SYSTEMCMD_REBOOT 重启所有节点不需要node
* SystemCmdType.SYSTEMCMD_START_NODE 开始节点node表示不同的节点
* SystemCmdType.SYSTEMCMD_STOP_NODE 停止节点node表示不同的节点
* SystemCmdType.SYSTEMCMD_POWER_OFF 关机不需要node
* @param node 0: default, 1: 前向camera 30 2: lidar 3: 左前radar 4: calib_check node
* @return 加入WS发送消息队列是否成功
*/
@ChainLog(
linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT,
@@ -1197,13 +1199,80 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
paramIndexes = {0}
)
@Override
public boolean sendSystemCmdReq(@NonNull MessagePad.SystemCmdType type) {
public boolean sendSystemCmdReq(@NonNull MessagePad.SystemCmdType type, int node) {
MessagePad.SystemCmdReq.Builder builder = MessagePad.SystemCmdReq.newBuilder();
builder.setCmdType(type);
if (node > 0) {
builder.setNode(node);
}
MessagePad.SystemCmdReq req = builder.build();
return sendPBMessage(MessageType.TYPE_SEND_SYSTEM_CMD_REQ, req.toByteArray());
}
/**
* 系统命令请求 重启所有节点
*
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendIpcReboot() {
return sendSystemCmdReq(MessagePad.SystemCmdType.SYSTEMCMD_REBOOT, 0);
}
/**
* 系统命令请求 关机
*
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendIpcPowerOff() {
return sendSystemCmdReq(MessagePad.SystemCmdType.SYSTEMCMD_POWER_OFF, 0);
}
/**
* 系统命令请求 控制前向camera 30节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendFrontCamera30Cmd(boolean isStart) {
return sendSystemCmdReq(isStart ? MessagePad.SystemCmdType.SYSTEMCMD_START_NODE : MessagePad.SystemCmdType.SYSTEMCMD_STOP_NODE, 1);
}
/**
* 系统命令请求 控制lidar节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendLidarCmd(boolean isStart) {
return sendSystemCmdReq(isStart ? MessagePad.SystemCmdType.SYSTEMCMD_START_NODE : MessagePad.SystemCmdType.SYSTEMCMD_STOP_NODE, 2);
}
/**
* 系统命令请求 控制左前radar节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendLeftFrontRadarCmd(boolean isStart) {
return sendSystemCmdReq(isStart ? MessagePad.SystemCmdType.SYSTEMCMD_START_NODE : MessagePad.SystemCmdType.SYSTEMCMD_STOP_NODE, 3);
}
/**
* 系统命令请求 控制标定节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendCalibCheckCmd(boolean isStart) {
return sendSystemCmdReq(isStart ? MessagePad.SystemCmdType.SYSTEMCMD_START_NODE : MessagePad.SystemCmdType.SYSTEMCMD_STOP_NODE, 4);
}
/**
* 发送 轨迹下载请求
*

View File

@@ -580,16 +580,82 @@ public class AdasManager implements IAdasNetCommApi {
}
/**
* 系统命令请求, 比如系统重启,启用新镜像
* 系统命令请求
*
* @param type SystemCmdTypeSYSTEMCMD_REBOOT 重启所有节点
* SystemCmdTypeSYSTEMCMD_EMPLOY_NEW_IMAGE 使用新镜像(推镜像
* SystemCmdTypeSYSTEMCMD_SHUT_DOWN 关机
* @return boolean
* @param type SystemCmdType.SYSTEMCMD_REBOOT 重启所有节点不需要node
* SystemCmdType.SYSTEMCMD_START_NODE 开始节点node表示不同的节点
* SystemCmdType.SYSTEMCMD_STOP_NODE 停止节点node表示不同的节点
* SystemCmdType.SYSTEMCMD_POWER_OFF 关机不需要node
* @param node 0: default, 1: 前向camera 30 2: lidar 3: 左前radar 4: calib_check node
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendSystemCmdReq(@NonNull MessagePad.SystemCmdType type) {
return mChannel != null && mChannel.sendSystemCmdReq(type);
public boolean sendSystemCmdReq(@NonNull MessagePad.SystemCmdType type, int node) {
return mChannel != null && mChannel.sendSystemCmdReq(type, node);
}
/**
* 系统命令请求 重启所有节点
*
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendIpcReboot() {
return mChannel != null && mChannel.sendIpcReboot();
}
/**
* 系统命令请求 关机
*
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendIpcPowerOff() {
return mChannel != null && mChannel.sendIpcPowerOff();
}
/**
* 系统命令请求 控制前向camera 30节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendFrontCamera30Cmd(boolean isStart) {
return mChannel != null && mChannel.sendFrontCamera30Cmd(isStart);
}
/**
* 系统命令请求 控制lidar节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendLidarCmd(boolean isStart) {
return mChannel != null && mChannel.sendLidarCmd(isStart);
}
/**
* 系统命令请求 控制左前radar节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendLeftFrontRadarCmd(boolean isStart) {
return mChannel != null && mChannel.sendLeftFrontRadarCmd(isStart);
}
/**
* 系统命令请求 控制标定节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
@Override
public boolean sendCalibCheckCmd(boolean isStart) {
return mChannel != null && mChannel.sendCalibCheckCmd(isStart);
}
/**

View File

@@ -260,14 +260,62 @@ public interface IAdasNetCommApi {
boolean sendGlobalPathReq();
/**
* 系统命令请求, 比如系统重启,启用新镜像
* 系统命令请求
*
* @param type SystemCmdTypeSYSTEMCMD_REBOOT 重启所有节点
* SystemCmdTypeSYSTEMCMD_EMPLOY_NEW_IMAGE 使用新镜像(推镜像
* SystemCmdTypeSYSTEMCMD_SHUT_DOWN 关机
* @param type SystemCmdType.SYSTEMCMD_REBOOT 重启所有节点不需要node
* SystemCmdType.SYSTEMCMD_START_NODE 开始节点node表示不同的节点
* SystemCmdType.SYSTEMCMD_STOP_NODE 停止节点node表示不同的节点
* SystemCmdType.SYSTEMCMD_POWER_OFF 关机不需要node
* @param node 0: default, 1: 前向camera 30 2: lidar 3: 左前radar 4: calib_check node
* @return 加入WS发送消息队列是否成功
*/
boolean sendSystemCmdReq(@NonNull MessagePad.SystemCmdType type);
boolean sendSystemCmdReq(@NonNull MessagePad.SystemCmdType type, int node);
/**
* 系统命令请求 重启所有节点
*
* @return 加入WS发送消息队列是否成功
*/
boolean sendIpcReboot();
/**
* 系统命令请求 关机
*
* @return 加入WS发送消息队列是否成功
*/
boolean sendIpcPowerOff();
/**
* 系统命令请求 控制前向camera 30节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
boolean sendFrontCamera30Cmd(boolean isStart);
/**
* 系统命令请求 控制lidar节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
boolean sendLidarCmd(boolean isStart);
/**
* 系统命令请求 控制左前radar节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
boolean sendLeftFrontRadarCmd(boolean isStart);
/**
* 系统命令请求 控制标定节点 运行还是停止
*
* @param isStart true运行 false停止
* @return 加入WS发送消息队列是否成功
*/
boolean sendCalibCheckCmd(boolean isStart);
/**
* 发送 轨迹下载请求