[车门、安全带、站点停车]
This commit is contained in:
yangyakun
2026-04-20 16:57:30 +08:00
parent e47fcfcd10
commit 83dd65eb8d
14 changed files with 415 additions and 9 deletions

View File

@@ -14,10 +14,12 @@ import com.mogo.eagle.core.utilcode.util.ParseVersionUtils
import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskArrivalNotification
import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStartNotification
import com.zhjt.mogo.adas.unmanned.task.dto.cmd.TaskStationStop
import mogo.telematics.pad.MessagePad
import mogo_msg.MogoReportMsg
import system_master.SsmInfo
import system_master.SystemStatusInfo
import taskmgr.TmInfo
import java.util.concurrent.atomic.AtomicInteger
import kotlin.properties.Delegates
@@ -187,10 +189,72 @@ object CallerAutoPilotStatusListenerManager : CallerBase<IMoGoAutopilotStatusLis
}
}
private var middleDoorState: Boolean by Delegates.observable(false) { _, oldValue, newValue ->
if (oldValue != newValue) {
CallerTrace.write("MiddleDoorStateFromState", mapOf("MiddleDoorStateFromState" to newValue))
M_LISTENERS.forEach {
val listener = it.value
listener.onMiddleDoorOpenState(newValue)
}
}
}
private var seatedMenSafetyBeltNotFasten: Boolean by Delegates.observable(false) { _, oldValue, newValue ->
if (oldValue != newValue) {
CallerTrace.write("seatedMenSafetyBeltNotFasten", mapOf("seatedMenSafetyBeltNotFasten" to newValue))
M_LISTENERS.forEach {
val listener = it.value
listener.onSeatedMenSafetyBeltNotFasten(newValue)
}
}
}
private var taskStationStop: TaskStationStop? by Delegates.observable(null) { _, oldValue, newValue ->
if (oldValue != newValue) {
CallerTrace.write("taskStationStop", mapOf("taskStationStop" to newValue))
M_LISTENERS.forEach {
val listener = it.value
listener.onTaskStationStop(newValue)
}
}
}
fun updateAutoPilotStatusFromCan(autopilotState: Int) {
this.autopilotStateFromCan = autopilotState
}
fun updateSeatedMenSafetyBeltNotFasten(seatedMenSafetyBeltNotFasten: Boolean) {
this.seatedMenSafetyBeltNotFasten = seatedMenSafetyBeltNotFasten
}
fun updateMiddleDoorOpen(middleDoorOpen: Boolean) {
this.middleDoorState = middleDoorOpen
}
fun taskmanagerStationStop(stationStopInfo: TmInfo.StationStopInfo?) {
if(this.taskStationStop==null){
if(stationStopInfo!=null) {
this.taskStationStop = TaskStationStop.toTaskStationStop(stationStopInfo)
}
}else{
if(stationStopInfo==null){
this.taskStationStop = null
}else{
taskStationStop?.let {
if ((it.isStop!=stationStopInfo.stop
|| it.stopStation.stationId!=it.stopStation.stationId)
) {
this.taskStationStop = TaskStationStop.toTaskStationStop(stationStopInfo)
}
}
}
}
}
fun updateAutoPilotStatus(autopilotStateSource: Int, autopilotState: Int, autopilotMode: Int) {
mAutopilotStatusInfo.state = autopilotState
mAutopilotStatusInfo.autopilotStateSource = autopilotStateSource