[change]添加乘客屏发送自动驾驶命令转发到司机屏,司机屏发送到工控机
This commit is contained in:
@@ -84,6 +84,7 @@ import com.zhidao.support.adas.high.OnAdasConnectStatusListener;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.OnMultiDeviceListener;
|
||||
import com.zhidao.support.adas.high.bean.VersionCompatibility;
|
||||
import com.zhidao.support.adas.high.common.ByteUtil;
|
||||
import com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhidao.support.adas.high.common.ProtocolStatus;
|
||||
@@ -884,7 +885,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
|
||||
|
||||
@Override
|
||||
public void onMessageResponseClient(MogoProtocolMsg msg, String sign, Channel channel) {
|
||||
Log.i("ddd", "dddd" + sign);
|
||||
Log.i(TAG, "司机端连接成功=" + sign);
|
||||
AdasManager.getInstance().decoderRaw(msg.getBody());
|
||||
}
|
||||
|
||||
@@ -892,8 +893,10 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
|
||||
public void onClientStatusConnectChanged(int statusCode, String sign, Channel channel) {
|
||||
if (statusCode == ConnectState.STATUS_CONNECT_SUCCESS) {
|
||||
connectStatus = IPC_CONNECTION_STATUS.CONNECTED;
|
||||
AdasManager.getInstance().startDispatchHandler();
|
||||
} else {
|
||||
connectStatus = IPC_CONNECTION_STATUS.DISCONNECTED;
|
||||
AdasManager.getInstance().stopDispatchHandler();
|
||||
}
|
||||
getHandler().sendEmptyMessage(WHAT_DRIVER_IP);
|
||||
onUpdateConnectStateView();
|
||||
@@ -915,6 +918,8 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
|
||||
NSDNettyManager.getInstance().startNSDNettyServerWithSN(this, new NettyServerListener<MogoProtocolMsg>() {
|
||||
@Override
|
||||
public void onMessageResponseServer(MogoProtocolMsg msg, Channel channel) {
|
||||
AdasManager.getInstance().sendWsMessage(msg.getBody());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -937,32 +942,27 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
|
||||
Log.i(TAG, "onChannelDisConnect channel=" + channel.id());
|
||||
}
|
||||
}, "1234567");
|
||||
|
||||
|
||||
}
|
||||
AdasManager.getInstance().create(options, this);
|
||||
|
||||
AdasManager.getInstance().setOnAdasListener(this);
|
||||
if (BuildConfig.IS_CLIENT) {
|
||||
/*—————————————作为乘客端———————————*/
|
||||
|
||||
} else {
|
||||
/*—————————————作为司機端———————————*/
|
||||
AdasManager.getInstance().setOnMultiDeviceListener(new OnMultiDeviceListener() {
|
||||
@Override
|
||||
public void onForwardingIPCMessage(byte[] bytes) {
|
||||
// 发送数据给乘客端
|
||||
if (NSDNettyManager.getInstance().isServerStart()) {
|
||||
NSDNettyManager.getInstance().sendMsgToAllClients(new MogoProtocolMsg(NORMAL_DATA, bytes.length, bytes));
|
||||
} else {
|
||||
AdasManager.getInstance().setOnMultiDeviceListener(new OnMultiDeviceListener() {
|
||||
@Override
|
||||
public void onForwardingDriverIPCMessage(byte[] bytes) {
|
||||
// 发送数据给乘客端
|
||||
if (NSDNettyManager.getInstance().isServerStart()) {
|
||||
NSDNettyManager.getInstance().sendMsgToAllClients(new MogoProtocolMsg(NORMAL_DATA, bytes.length, bytes));
|
||||
} else {
|
||||
// Log.d("dddd", "司机端Server未启动!");
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onForwardingPassengerIPCMessage(byte[] bytes) {
|
||||
NSDNettyManager.getInstance()
|
||||
.sendMogoProtocolMsgToServer(new MogoProtocolMsg(NORMAL_DATA, bytes.length, bytes), null);
|
||||
Log.i(TAG, "乘客屏发送数据=" + ByteUtil.byteArrToHex(bytes));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1059,7 +1059,11 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
|
||||
@Override
|
||||
public void onItemClick(int position, String data) {
|
||||
if (connectStatus != IPC_CONNECTION_STATUS.CONNECTED) {
|
||||
showToastCenter("IPC 未连接");
|
||||
String msg = "未连接工控机";
|
||||
if (BuildConfig.IS_CLIENT) {
|
||||
msg = "未连接司机端";
|
||||
}
|
||||
showToastCenter(msg);
|
||||
return;
|
||||
}
|
||||
switch (data) {
|
||||
|
||||
@@ -47,6 +47,7 @@ import com.mogo.telematic.server.netty.NettyServerListener
|
||||
import com.mogo.telematic.server.netty.NettyTcpServer
|
||||
import com.zhidao.support.adas.high.AdasManager
|
||||
import com.zhidao.support.adas.high.AdasOptions
|
||||
import com.zhidao.support.adas.high.OnMultiDeviceListener
|
||||
import com.zhidao.support.adas.high.common.Constants
|
||||
import com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils
|
||||
@@ -155,9 +156,14 @@ class MoGoAutopilotProvider :
|
||||
|
||||
// 监听ADAS-SDK获取到的工控机数据(乘客也需注册)
|
||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||
// 司机端监听
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
AdasManager.getInstance().setOnMultiDeviceListener { bytes ->
|
||||
// 乘客屏监听工控机基础信息回调
|
||||
if (!AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
|
||||
}
|
||||
AdasManager.getInstance().setOnMultiDeviceListener(object : OnMultiDeviceListener {
|
||||
override fun onForwardingDriverIPCMessage(bytes: ByteArray?) {
|
||||
if (bytes == null)
|
||||
return
|
||||
// 发送数据给乘客端
|
||||
if (NSDNettyManager.getInstance().isServerStart) {
|
||||
msgHandler.synWriteTime()
|
||||
@@ -167,9 +173,19 @@ class MoGoAutopilotProvider :
|
||||
CallerLogger.d("$M_ADAS_IMPL$TAG", "司机端Server未启动!")
|
||||
}
|
||||
}
|
||||
} else {// 乘客屏监听工控机基础信息回调
|
||||
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
override fun onForwardingPassengerIPCMessage(bytes: ByteArray?) {
|
||||
if (bytes == null)
|
||||
return
|
||||
NSDNettyManager.getInstance()
|
||||
.sendMogoProtocolMsgToServer(
|
||||
MogoProtocolMsg(NORMAL_DATA, bytes.size, bytes),
|
||||
null
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
CallerLogger.i("$M_ADAS_IMPL$TAG", "initServer……")
|
||||
// 同步数据给工控机的服务
|
||||
@@ -230,7 +246,8 @@ class MoGoAutopilotProvider :
|
||||
|
||||
override fun startAutoPilot(controlParameters: AutopilotControlParameters) {
|
||||
if (AdasManager.getInstance().ipcConnectionStatus == IPC_CONNECTION_STATUS.CONNECTED) {
|
||||
val invokeResult = AdasManager.getInstance().sendAutoPilotModeReq(1, 1, controlParameters.toRouteInfo())
|
||||
val invokeResult = AdasManager.getInstance()
|
||||
.sendAutoPilotModeReq(1, 1, controlParameters.toRouteInfo())
|
||||
invokeAutoPilotResult(if (invokeResult) "自动驾驶调用成功" else "自动驾驶调用失败, socket 或者 rawPack 可能为空")
|
||||
} else {
|
||||
invokeAutoPilotResult("车机与工控机链接失败,无法开启自动驾驶")
|
||||
@@ -364,9 +381,9 @@ class MoGoAutopilotProvider :
|
||||
* isEnable = false 关闭
|
||||
*/
|
||||
override fun setRainMode(isEnable: Boolean) {
|
||||
if(isEnable){
|
||||
if (isEnable) {
|
||||
AdasManager.getInstance().sendRainModeReq(1)
|
||||
}else{
|
||||
} else {
|
||||
AdasManager.getInstance().sendRainModeReq(0)
|
||||
}
|
||||
}
|
||||
@@ -464,7 +481,8 @@ class MoGoAutopilotProvider :
|
||||
// 乘客屏才监听
|
||||
AppConfigInfo.plateNumber = carConfigResp.plateNumber
|
||||
Log.d("liyz", "onAutopilotCarConfig 乘客屏Mac地址为 = ${carConfigResp.macAddress}")
|
||||
CallerBindingcarManager.getBindingcarProvider().getBindingcarInfo(carConfigResp.macAddress, MoGoAiCloudClientConfig.getInstance().sn)
|
||||
CallerBindingcarManager.getBindingcarProvider()
|
||||
.getBindingcarInfo(carConfigResp.macAddress, MoGoAiCloudClientConfig.getInstance().sn)
|
||||
invokeNettyConnResult("乘客屏车牌号:${carConfigResp.plateNumber},Mac地址为:${carConfigResp.macAddress}")
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ import com.mogo.telematic.MogoProtocolMsg
|
||||
import com.mogo.telematic.NSDNettyManager
|
||||
import com.mogo.telematic.client.status.ConnectState
|
||||
import com.zhidao.support.adas.high.AdasManager
|
||||
import com.zhidao.support.adas.high.chain.AdasChain
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import com.zhjt.service.chain.TracingConstants
|
||||
import io.netty.channel.Channel
|
||||
@@ -59,9 +58,16 @@ class TeleMsgHandler : IMsgHandler {
|
||||
val carConfig = MessagePad.CarConfigResp.parseFrom(msg.body)
|
||||
AppConfigInfo.plateNumber = carConfig.plateNumber
|
||||
AppConfigInfo.iPCMacAddress = carConfig.macAddress
|
||||
invokeNettyConnResult("司机屏发送给乘客屏配置信息为:${TextFormat.printer().escapingNonAscii(false).printToString(carConfig)}")
|
||||
invokeNettyConnResult(
|
||||
"司机屏发送给乘客屏配置信息为:${
|
||||
TextFormat.printer().escapingNonAscii(false).printToString(carConfig)
|
||||
}"
|
||||
)
|
||||
Log.d("liyz", "TeleMsgHandler macAddress = " + carConfig.macAddress)
|
||||
CallerBindingcarManager.getBindingcarProvider().getBindingcarInfo(carConfig.macAddress, MoGoAiCloudClientConfig.getInstance().sn)
|
||||
CallerBindingcarManager.getBindingcarProvider().getBindingcarInfo(
|
||||
carConfig.macAddress,
|
||||
MoGoAiCloudClientConfig.getInstance().sn
|
||||
)
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
@@ -89,6 +95,10 @@ class TeleMsgHandler : IMsgHandler {
|
||||
queryCarConfig()
|
||||
}
|
||||
}
|
||||
//乘客端发送过来的工控机数据交给司机端adas转发到工控机
|
||||
MogoProtocolMsg.NORMAL_DATA -> {
|
||||
AdasManager.getInstance().sendWsMessage(it.body)
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,24 +227,39 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
* @param data 数据
|
||||
* @return boolean
|
||||
*/
|
||||
private boolean sendWsMessage(MessagePad.MessageType msgType, byte[] data) {
|
||||
if (mSocket != null && rawPack != null) {
|
||||
ByteString byteString = rawPack.pack(msgType, data);
|
||||
if (byteString != null) {
|
||||
return mSocket.sendDataWebSocket(byteString);
|
||||
private boolean sendPBMessage(MessagePad.MessageType msgType, byte[] data) {
|
||||
if (rawPack != null) {
|
||||
byte[] bytes = rawPack.pack(msgType, data);
|
||||
//司机屏工控机数据转发
|
||||
if (adasOptions.isClient()) {
|
||||
if (onMultiDeviceListener != null)
|
||||
onMultiDeviceListener.onForwardingPassengerIPCMessage(bytes);
|
||||
return true;
|
||||
} else {
|
||||
return sendWsMessage(bytes);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendWsMessage(byte[] bytes) {
|
||||
if (mSocket == null || bytes == null || bytes.length <= 0) {
|
||||
return false;
|
||||
}
|
||||
ByteString byteString = ByteString.of(bytes);
|
||||
return mSocket.sendDataWebSocket(byteString);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析工控机发送过来PB的数据
|
||||
* 乘客屏数据解析
|
||||
*
|
||||
* @param bytes 数据
|
||||
*/
|
||||
@Override
|
||||
public void decoderRaw(byte[] bytes) {
|
||||
if (bytes == null || bytes.length == 0) {
|
||||
if (bytes == null || bytes.length <= 0) {
|
||||
return;
|
||||
}
|
||||
ByteString byteString = ByteString.of(bytes);
|
||||
@@ -396,9 +411,9 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
@Override
|
||||
public void onMessage(ByteString bytes) throws InvalidProtocolBufferException {
|
||||
decoderRaw(bytes);
|
||||
//乘客屏数据分发
|
||||
//司机屏工控机数据转发
|
||||
if (!adasOptions.isClient() && onMultiDeviceListener != null) {
|
||||
onMultiDeviceListener.onForwardingIPCMessage(bytes.toByteArray());
|
||||
onMultiDeviceListener.onForwardingDriverIPCMessage(bytes.toByteArray());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -621,7 +636,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
.setSn(sn)
|
||||
.setEnvironment(environment)
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_BASIC_INFO_RESP.typeCode, resp.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_BASIC_INFO_RESP.typeCode, resp.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -648,7 +663,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
if (routeInfo != null)
|
||||
builder.setRouteInfo(routeInfo);
|
||||
MessagePad.SetAutopilotModeReq req = builder.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_SET_AUTOPILOT_MODE_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_SET_AUTOPILOT_MODE_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -663,7 +678,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
.newBuilder()
|
||||
.setEnable(enable)
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_SET_DEMO_MODE_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_SET_DEMO_MODE_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -676,7 +691,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
MessagePad.CarConfigReq req = MessagePad.CarConfigReq
|
||||
.newBuilder()
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_CAR_CONFIG_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_CAR_CONFIG_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -706,7 +721,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
.setReason(reason)
|
||||
.setReasonID(reasonID)
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_RECORD_CAUSE.typeCode, resp.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_RECORD_CAUSE.typeCode, resp.toByteArray());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -752,7 +767,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
.setIsRecord(isRecord)
|
||||
.setSustain(sustain)
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_RECORD_DATA.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_RECORD_DATA.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -767,7 +782,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
.newBuilder()
|
||||
.setSpeedLimit(speedLimit)
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_SET_AUTOPILOT_SPEED_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_SET_AUTOPILOT_SPEED_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -788,7 +803,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
MessagePad.GlobalPathReq req = MessagePad.GlobalPathReq
|
||||
.newBuilder()
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_GLOBAL_PATH_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_GLOBAL_PATH_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -834,7 +849,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
builder.setLaneDetail(laneDetail);
|
||||
builder.setTimestamp(timestamp);
|
||||
MessagePad.TrafficLightData req = builder.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_TRAFFIC_LIGHT_DATA.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_TRAFFIC_LIGHT_DATA.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -858,7 +873,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
MessagePad.SystemCmdReq.Builder builder = MessagePad.SystemCmdReq.newBuilder();
|
||||
builder.setCmdType(type);
|
||||
MessagePad.SystemCmdReq req = builder.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_SYSTEM_CMD_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_SYSTEM_CMD_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -872,7 +887,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
MessagePad.TrajectoryDownloadReq.Builder builder = MessagePad.TrajectoryDownloadReq.newBuilder();
|
||||
builder.setLine(line);
|
||||
MessagePad.TrajectoryDownloadReq req = builder.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -885,7 +900,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
MessagePad.StatusQueryReq req = MessagePad.StatusQueryReq
|
||||
.newBuilder()
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_STATUS_QUERY_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_STATUS_QUERY_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
|
||||
|
||||
@@ -901,7 +916,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
.newBuilder()
|
||||
.setEnable(enable)
|
||||
.build();
|
||||
return sendWsMessage(MessageType.TYPE_SEND_SET_RAIN_MODE_REQ.typeCode, req.toByteArray());
|
||||
return sendPBMessage(MessageType.TYPE_SEND_SET_RAIN_MODE_REQ.typeCode, req.toByteArray());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -187,6 +187,20 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 向工控机发送数据
|
||||
*
|
||||
* @param bytes 数据
|
||||
* @return boolean
|
||||
*/
|
||||
@Override
|
||||
public boolean sendWsMessage(byte[] bytes) {
|
||||
if (mChannel != null) {
|
||||
return mChannel.sendWsMessage(bytes);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析工控机发送过来的数据
|
||||
* 多设备时使用
|
||||
|
||||
@@ -206,6 +206,14 @@ public interface IAdasNetCommApi {
|
||||
// TODO 需求暂停 待讨论
|
||||
// boolean getRoutes();
|
||||
|
||||
/**
|
||||
* 向工控机发送数据
|
||||
*
|
||||
* @param bytes 数据
|
||||
* @return boolean
|
||||
*/
|
||||
boolean sendWsMessage(byte[] bytes);
|
||||
|
||||
/**
|
||||
* 解析工控机发送过来的数据
|
||||
* 多设备时使用
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zhidao.support.adas.high;
|
||||
/**
|
||||
* 多设备监听
|
||||
* 服务端实现此监听,将工控机发送过来的数据通过其他方式传递出去
|
||||
* 客户端实现此监听,将乘客屏数据通过其他方式发送到乘客屏
|
||||
*/
|
||||
public interface OnMultiDeviceListener {
|
||||
|
||||
@@ -12,5 +13,13 @@ public interface OnMultiDeviceListener {
|
||||
*
|
||||
* @param bytes 数据
|
||||
*/
|
||||
void onForwardingIPCMessage(byte[] bytes);
|
||||
void onForwardingDriverIPCMessage(byte[] bytes);
|
||||
|
||||
/**
|
||||
* 转发乘客屏
|
||||
* 如果是服务端此回调不会被调用
|
||||
*
|
||||
* @param bytes
|
||||
*/
|
||||
void onForwardingPassengerIPCMessage(byte[] bytes);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.zhidao.support.adas.high.common.Constants;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
import okio.ByteString;
|
||||
|
||||
/**
|
||||
* 数据打包
|
||||
@@ -25,7 +24,7 @@ public class RawPack {
|
||||
}
|
||||
|
||||
|
||||
public synchronized ByteString pack(MessagePad.MessageType msgType, byte[] data) {
|
||||
public synchronized byte[] pack(MessagePad.MessageType msgType, byte[] data) {
|
||||
if (msgType == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -57,8 +56,7 @@ public class RawPack {
|
||||
if (data != null && data.length > 0) {
|
||||
System.arraycopy(data, 0, msg, messageProtocol.getOutHeaderLength() + header.length, data.length);
|
||||
}
|
||||
return ByteString.of(msg);
|
||||
|
||||
return msg;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user