[m1]
[靠边停车逻辑]
This commit is contained in:
@@ -39,17 +39,13 @@ class BusPassengerFunctionPresenter(view: M1ContainFragment?) :
|
||||
VoiceNotice.showNotice(context.getString(R.string.m1_stop_site_zh), AIAssist.LEVEL1)
|
||||
}
|
||||
OCHPlanningStopSideStatusManager.Status.DOING -> {
|
||||
|
||||
// 正在靠边停车
|
||||
}
|
||||
OCHPlanningStopSideStatusManager.Status.Ending -> {
|
||||
stopSideStatus?.let {
|
||||
if(it){
|
||||
ToastUtils.showShort("靠边停车成功")
|
||||
}else{
|
||||
ToastUtils.showShort("靠边停车失败")
|
||||
}
|
||||
}
|
||||
|
||||
OCHPlanningStopSideStatusManager.Status.EndingSuccess -> {
|
||||
ToastUtils.showShort("靠边停车成功")
|
||||
}
|
||||
OCHPlanningStopSideStatusManager.Status.EndingFaile -> {
|
||||
ToastUtils.showShort("靠边停车失败")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ object OCHPlanningStopSideStatusManager : IMoGoAutopilotPlanningActionsListener
|
||||
CallerPlanningActionsListenerManager.setListenerHz(TAG,5)
|
||||
}
|
||||
|
||||
var stopSiteStatus = StopSite.NOTHING
|
||||
var stopSiteStatus = Status.NOTHING
|
||||
|
||||
val M_LISTENERS: ConcurrentHashMap<String, OCHPlanningActionsCallback> = ConcurrentHashMap()
|
||||
|
||||
@@ -60,31 +60,49 @@ object OCHPlanningStopSideStatusManager : IMoGoAutopilotPlanningActionsListener
|
||||
when (drivingAction) {
|
||||
MessagePad.DrivingAction.DRIVING_ACTION_STATE_ONE -> {
|
||||
// 表示开始靠边停车
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"开始靠边停车")
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onStartAutopilotFailure(Status.START,null,null)
|
||||
listener.onStartAutopilotFailure(Status.DOING,null,null)
|
||||
if(stopSiteStatus == Status.START){
|
||||
// 靠边停车中
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车中")
|
||||
listener.onStartAutopilotFailure(Status.DOING,null,null)
|
||||
}else{
|
||||
// 开始靠边停车
|
||||
stopSiteStatus = Status.START
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"开始靠边停车")
|
||||
listener.onStartAutopilotFailure(Status.START,null,null)
|
||||
}
|
||||
}
|
||||
}
|
||||
MessagePad.DrivingAction.DRIVING_ACTION_STATE_TWO -> {
|
||||
//表示靠边停车成功
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车成功")
|
||||
stopSiteStatus = StopSite.STOPSITED
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onStartAutopilotFailure(Status.Ending,true,null)
|
||||
if(stopSiteStatus == Status.EndingSuccess){
|
||||
// 只响应第一次
|
||||
}else{
|
||||
stopSiteStatus = Status.EndingSuccess
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车成功")
|
||||
listener.onStartAutopilotFailure(Status.EndingSuccess,true,null)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
MessagePad.DrivingAction.DRIVING_ACTION_STATE_THREE -> {
|
||||
//靠边停车失败
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败")
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onStartAutopilotFailure(Status.Ending,false,null)
|
||||
if(stopSiteStatus==Status.EndingFaile){
|
||||
// 只响应第一次
|
||||
}else{
|
||||
stopSiteStatus = Status.EndingFaile
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败")
|
||||
listener.onStartAutopilotFailure(Status.EndingFaile,false,null)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else -> {}
|
||||
@@ -94,11 +112,16 @@ object OCHPlanningStopSideStatusManager : IMoGoAutopilotPlanningActionsListener
|
||||
when (drivingAction) {
|
||||
MessagePad.DrivingAction.DRIVING_ACTION_STATE_ONE -> {
|
||||
// 表示距离前方站点100m
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因:距离前方站点100m")
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"距离前方站点100m,请稍后再试")
|
||||
if(stopSiteStatus==Status.NOSTART){
|
||||
// 只响应第一次
|
||||
}else{
|
||||
stopSiteStatus = Status.NOSTART
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因:距离前方站点100m")
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"距离前方站点100m,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
MessagePad.DrivingAction.DRIVING_ACTION_STATE_TWO -> {
|
||||
@@ -107,41 +130,65 @@ object OCHPlanningStopSideStatusManager : IMoGoAutopilotPlanningActionsListener
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"距离路口100m,请稍后再试")
|
||||
if(stopSiteStatus==Status.NOSTART){
|
||||
// 只响应第一次
|
||||
}else{
|
||||
stopSiteStatus = Status.NOSTART
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因:距离路口100m,请稍后再试")
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"距离路口100m,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
MessagePad.DrivingAction.DRIVING_ACTION_STATE_THREE -> {
|
||||
//正在变道
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因:正在变道")
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"因车辆正在变道无法靠边停车,请稍后再试")
|
||||
if(stopSiteStatus==Status.NOSTART){
|
||||
// 只响应第一次
|
||||
}else{
|
||||
stopSiteStatus = Status.NOSTART
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因:正在变道")
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"因车辆正在变道无法靠边停车,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
//未知问题
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因:未知问题")
|
||||
|
||||
M_LISTENERS.forEach {
|
||||
val tag = it.key
|
||||
val listener = it.value
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"靠边停车失败,请稍后再试")
|
||||
if(stopSiteStatus==Status.NOSTART){
|
||||
// 只响应第一次
|
||||
}else{
|
||||
stopSiteStatus = Status.NOSTART
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因:未知问题")
|
||||
listener.onStartAutopilotFailure(Status.NOSTART,false,"靠边停车失败,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
MessagePad.ParkScenarioDrivingState.PARK_SENARIO_LANKE_KEEP ->{
|
||||
stopSiteStatus = StopSite.LANKE_KEEP
|
||||
if(stopSiteStatus==Status.NOTHING){
|
||||
// 只响应第一次
|
||||
}else{
|
||||
stopSiteStatus = Status.NOTHING
|
||||
CallerLogger.d(SceneConstant.M_BUS+ TAG,"进入正常驾驶")
|
||||
}
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
enum class Status(val code: Int){
|
||||
NOSTART(-1),
|
||||
START(0),
|
||||
DOING(1),
|
||||
Ending(2)
|
||||
enum class Status(){
|
||||
START(),// 开始靠边停车
|
||||
DOING(),// 正在靠边停车
|
||||
EndingSuccess(),// 靠边停车成功
|
||||
EndingFaile(),// 靠边停车失败
|
||||
NOSTART(),// 没有响应靠边停车
|
||||
NOTHING()// 默认状态
|
||||
}
|
||||
|
||||
enum class StopSite{
|
||||
|
||||
Reference in New Issue
Block a user