[dev_opt_2.15.0] 添加环岛模式开关接口

This commit is contained in:
xinfengkun
2023-04-10 14:53:17 +08:00
parent 81a41d962d
commit eea22feb44
9 changed files with 110 additions and 54 deletions

View File

@@ -79,24 +79,31 @@ public class SendCmd<T> {
//限制绕障开关
public static SendCmd<Integer> getSendLaneChangeRestrainVaild() {
List<SendCmdOption<Integer>> cmds = new ArrayList<>();
cmds.add(new SendCmdOption<Integer>("限制绕障", SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VAILD, 1));
cmds.add(new SendCmdOption<Integer>("正常绕障", SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VAILD, 0));
return new SendCmd<Integer>(Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD, cmds);
cmds.add(new SendCmdOption<Integer>("限制绕障", SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VALID, 1));
cmds.add(new SendCmdOption<Integer>("正常绕障", SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VALID, 0));
return new SendCmd<Integer>(Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VALID, cmds);
}
//停车让行线前避让等待开关
public static SendCmd<Integer> getSendStopYieldVaild() {
List<SendCmdOption<Integer>> cmds = new ArrayList<>();
cmds.add(new SendCmdOption<Integer>("停车让行线前需要避让等待", SendCmdOption.TAG.STOP_YIELD_VAILD, 1));
cmds.add(new SendCmdOption<Integer>("停车让行线前无需避让等待", SendCmdOption.TAG.STOP_YIELD_VAILD, 0));
return new SendCmd<Integer>(Constants.TITLE.SEND_STOP_YIELD_VAILD, cmds);
cmds.add(new SendCmdOption<Integer>("停车让行线前需要避让等待", SendCmdOption.TAG.STOP_YIELD_VALID, 1));
cmds.add(new SendCmdOption<Integer>("停车让行线前无需避让等待", SendCmdOption.TAG.STOP_YIELD_VALID, 0));
return new SendCmd<Integer>(Constants.TITLE.SEND_STOP_YIELD_VALID, cmds);
}
//地图限速功能开关
public static SendCmd<Integer> getSendHadmapSpeedLimitVaild() {
List<SendCmdOption<Integer>> cmds = new ArrayList<>();
cmds.add(new SendCmdOption<Integer>("使用地图限速功能", SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VAILD, 1));
cmds.add(new SendCmdOption<Integer>("不使用地图限速功能", SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VAILD, 0));
return new SendCmd<Integer>(Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD, cmds);
cmds.add(new SendCmdOption<Integer>("使用地图限速功能", SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VALID, 1));
cmds.add(new SendCmdOption<Integer>("不使用地图限速功能", SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VALID, 0));
return new SendCmd<Integer>(Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VALID, cmds);
}
//环岛模式开关
public static SendCmd<Integer> getSendRampThetaValid() {
List<SendCmdOption<Integer>> cmds = new ArrayList<>();
cmds.add(new SendCmdOption<Integer>("环岛模式", SendCmdOption.TAG.RAMP_THETA_VALID, 1));
cmds.add(new SendCmdOption<Integer>("普通模式", SendCmdOption.TAG.RAMP_THETA_VALID, 0));
return new SendCmd<Integer>(Constants.TITLE.SEND_RAMP_THETA_VALID, cmds);
}
}

View File

@@ -10,9 +10,10 @@ public class SendCmdOption<T> {
int DETOURING = 5;//绕障类功能
int V2N_TO_PNC = 6;//V2N数据到PnC
int AEB = 7;//AEB开关
int LANE_CHANGE_RESTRAIN_VAILD = 8;//限制绕障开关
int STOP_YIELD_VAILD = 9;//停车让行线前避让等待开关
int HADMAP_SPEED_LIMIT_VAILD = 10;//地图限速功能开关
int LANE_CHANGE_RESTRAIN_VALID = 8;//限制绕障开关
int STOP_YIELD_VALID = 9;//停车让行线前避让等待开关
int HADMAP_SPEED_LIMIT_VALID = 10;//地图限速功能开关
int RAMP_THETA_VALID = 11;//环岛模式开关
}
public final String name;

View File

@@ -855,9 +855,10 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
titleBtnData.add(Constants.TITLE.SEND_DETOURING);
titleBtnData.add(Constants.TITLE.SEND_DETOURING_SPEED);
titleBtnData.add(Constants.TITLE.SEND_AEB);
titleBtnData.add(Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD);
titleBtnData.add(Constants.TITLE.SEND_STOP_YIELD_VAILD);
titleBtnData.add(Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD);
titleBtnData.add(Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VALID);
titleBtnData.add(Constants.TITLE.SEND_STOP_YIELD_VALID);
titleBtnData.add(Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VALID);
titleBtnData.add(Constants.TITLE.SEND_RAMP_THETA_VALID);
titleBtnData.add(Constants.TITLE.SEND_TRIP_INFO);
titleBtnData.add(Constants.TITLE.SEND_PLANNING_CMD);
titleBtnData.add(Constants.TITLE.SEND_BLIND_AREA);
@@ -1673,18 +1674,22 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
//AEB
new SendCmdDialog(this, SendCmd.getSendAeb()).show();
break;
case Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD:
case Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VALID:
//限制绕障开关
new SendCmdDialog(this, SendCmd.getSendLaneChangeRestrainVaild()).show();
break;
case Constants.TITLE.SEND_STOP_YIELD_VAILD:
case Constants.TITLE.SEND_STOP_YIELD_VALID:
//停车让行线前避让等待开关
new SendCmdDialog(this, SendCmd.getSendStopYieldVaild()).show();
break;
case Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD:
case Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VALID:
//地图限速功能开关
new SendCmdDialog(this, SendCmd.getSendHadmapSpeedLimitVaild()).show();
break;
case Constants.TITLE.SEND_RAMP_THETA_VALID:
//环岛模式开关
new SendCmdDialog(this, SendCmd.getSendRampThetaValid()).show();
break;
case Constants.TITLE.SEND_DETOURING_SPEED:
//绕障速度设置
showDetouringSpeedDialog();

View File

@@ -96,17 +96,21 @@ public class SendCmdDialog extends Dialog {
if (data.tag == SendCmdOption.TAG.AEB) {
AdasManager.getInstance().sendAebCmd((int) data.value);
}
} else if (Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VAILD.equals(name)) {
if (data.tag == SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VAILD) {
AdasManager.getInstance().sendLaneChangeRestrainVaild((int) data.value);
} else if (Constants.TITLE.SEND_LANE_CHANGE_RESTRAIN_VALID.equals(name)) {
if (data.tag == SendCmdOption.TAG.LANE_CHANGE_RESTRAIN_VALID) {
AdasManager.getInstance().sendLaneChangeRestrainValid((int) data.value);
}
} else if (Constants.TITLE.SEND_STOP_YIELD_VAILD.equals(name)) {
if (data.tag == SendCmdOption.TAG.STOP_YIELD_VAILD) {
AdasManager.getInstance().sendStopYieldVaild((int) data.value);
} else if (Constants.TITLE.SEND_STOP_YIELD_VALID.equals(name)) {
if (data.tag == SendCmdOption.TAG.STOP_YIELD_VALID) {
AdasManager.getInstance().sendStopYieldValid((int) data.value);
}
} else if (Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VAILD.equals(name)) {
if (data.tag == SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VAILD) {
AdasManager.getInstance().sendHadmapSpeedLimitVaild((int) data.value);
} else if (Constants.TITLE.SEND_HADMAP_SPEED_LIMIT_VALID.equals(name)) {
if (data.tag == SendCmdOption.TAG.HADMAP_SPEED_LIMIT_VALID) {
AdasManager.getInstance().sendHadmapSpeedLimitValid((int) data.value);
}
} else if (Constants.TITLE.SEND_RAMP_THETA_VALID.equals(name)) {
if (data.tag == SendCmdOption.TAG.RAMP_THETA_VALID) {
AdasManager.getInstance().sendRampThetaValid((int) data.value);
}
}
}

View File

@@ -204,9 +204,10 @@ public class Constants {
String SEND_BLIND_AREA = "盲区数据开关";
String SEND_V2N_TO_PNC = "V2N数据到PnC";
String SEND_AEB = "AEB开关";
String SEND_LANE_CHANGE_RESTRAIN_VAILD = "限制绕障开关";
String SEND_STOP_YIELD_VAILD = "停车让行线前避让等待开关";
String SEND_HADMAP_SPEED_LIMIT_VAILD = "地图限速开关";
String SEND_LANE_CHANGE_RESTRAIN_VALID = "限制绕障开关";
String SEND_STOP_YIELD_VALID = "停车让行线前避让等待开关";
String SEND_HADMAP_SPEED_LIMIT_VALID = "地图限速开关";
String SEND_RAMP_THETA_VALID = "环岛模式开关";
}
}

View File

@@ -575,8 +575,12 @@ message PlanningActionMsg
//message definition for MsgTypeSetParamReq
message SetOneParam
{
uint32 type = 1; // 0:default 1:绕障类功能开关(bool) 2:变道绕障的目标碍物速度值(double, m/s) 3:AEB开关(bool)
// 4:限制绕障开关(bool) 5:停车让行线前避让等待开关(bool) 6:地图限速功能开关(bool)
uint32 type = 1; // 0:default 1:绕障类功能开关(bool) 2:变道绕障的目标碍物速度值(doubleDs)
// 3:AEB开关(bool) 0: 关闭自动紧急制动功能 1:启用自动紧急制动功能
// 4:限制绕障开关(bool) 0:正常绕障 1:限制绕障 默认0
// 5:停车让行线前避让等待开关(bool) 0:停车让行线前无需等待 1:停车让行线前需要等待 默认0
// 6:地图限速功能开关(bol) :不使用地图限速功能 1:使用地图限速功能 默认0
// 7:环岛模式开关(bool) //0:普通模式 1:环岛模式 默认0
string value = 2; // 转成字符串的值
}

View File

@@ -1571,11 +1571,11 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
* 限制绕障开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:正常绕障 1限制绕障
* @param enable 0:正常绕障 1限制绕障 默认0
* @return boolean
*/
@Override
public boolean sendLaneChangeRestrainVaild(int enable) {
public boolean sendLaneChangeRestrainValid(int enable) {
return sendSetParamReq(4, String.valueOf(enable));
}
@@ -1583,11 +1583,11 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
* 停车让行线前避让等待开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待
* @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待 默认0
* @return boolean
*/
@Override
public boolean sendStopYieldVaild(int enable) {
public boolean sendStopYieldValid(int enable) {
return sendSetParamReq(5, String.valueOf(enable));
}
@@ -1596,14 +1596,26 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
* 地图限速功能开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:不使用地图限速功能 1:使用地图限速功能
* @param enable 0:不使用地图限速功能 1:使用地图限速功能 默认0
* @return boolean
*/
@Override
public boolean sendHadmapSpeedLimitVaild(int enable) {
public boolean sendHadmapSpeedLimitValid(int enable) {
return sendSetParamReq(6, String.valueOf(enable));
}
/**
* 环岛模式开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:普通模式 1:环岛模式 默认0
* @return boolean
*/
@Override
public boolean sendRampThetaValid(int enable) {
return sendSetParamReq(7, String.valueOf(enable));
}
/**
* 发生行程相关
* type=1或2的时 需要参数 lineName

View File

@@ -850,36 +850,48 @@ public class AdasManager implements IAdasNetCommApi {
* 限制绕障开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:正常绕障 1限制绕障
* @param enable 0:正常绕障 1限制绕障 默认0
* @return boolean
*/
@Override
public boolean sendLaneChangeRestrainVaild(int enable) {
return mChannel != null && mChannel.sendLaneChangeRestrainVaild(enable);
public boolean sendLaneChangeRestrainValid(int enable) {
return mChannel != null && mChannel.sendLaneChangeRestrainValid(enable);
}
/**
* 停车让行线前避让等待开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待
* @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待 默认0
* @return boolean
*/
@Override
public boolean sendStopYieldVaild(int enable) {
return mChannel != null && mChannel.sendStopYieldVaild(enable);
public boolean sendStopYieldValid(int enable) {
return mChannel != null && mChannel.sendStopYieldValid(enable);
}
/**
* 地图限速功能开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:不使用地图限速功能 1:使用地图限速功能
* @param enable 0:不使用地图限速功能 1:使用地图限速功能 默认0
* @return boolean
*/
@Override
public boolean sendHadmapSpeedLimitVaild(int enable) {
return mChannel != null && mChannel.sendHadmapSpeedLimitVaild(enable);
public boolean sendHadmapSpeedLimitValid(int enable) {
return mChannel != null && mChannel.sendHadmapSpeedLimitValid(enable);
}
/**
* 环岛模式开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:普通模式 1:环岛模式 默认0
* @return boolean
*/
@Override
public boolean sendRampThetaValid(int enable) {
return mChannel != null && mChannel.sendRampThetaValid(enable);
}
/**

View File

@@ -510,33 +510,43 @@ public interface IAdasNetCommApi {
*/
boolean sendAebCmd(int enable);
/**
* 限制绕障开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:正常绕障 1限制绕障
* @param enable 0:正常绕障 1限制绕障 默认0
* @return boolean
*/
boolean sendLaneChangeRestrainVaild(int enable);
boolean sendLaneChangeRestrainValid(int enable);
/**
* 停车让行线前避让等待开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待
* @param enable 0:停车让行线前无需避让等待 1:停车让行线前需要避让等待 默认0
* @return boolean
*/
boolean sendStopYieldVaild(int enable);
boolean sendStopYieldValid(int enable);
/**
* 地图限速功能开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:不使用地图限速功能 1:使用地图限速功能
* @param enable 0:不使用地图限速功能 1:使用地图限速功能 默认0
* @return boolean
*/
boolean sendHadmapSpeedLimitVaild(int enable);
boolean sendHadmapSpeedLimitValid(int enable);
/**
* 环岛模式开关
* TODO 目前仅襄阳牌照考试支持
*
* @param enable 0:普通模式 1:环岛模式 默认0
* @return boolean
*/
boolean sendRampThetaValid(int enable);
/**
* 发生行程相关