[状态栏]Can和RTK异常增加Code维度

[状态栏]Can和RTK异常增加Code维度1
This commit is contained in:
renwj
2022-06-02 18:48:05 +08:00
parent e0f1674bcf
commit 1070a27b34
2 changed files with 15 additions and 6 deletions

View File

@@ -10,6 +10,7 @@ import com.mogo.eagle.core.utilcode.kotlin.*
import com.zhjt.mogo_core_function_devatools.status.flow.IFlow
import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus
import kotlinx.coroutines.*
import mogo_msg.MogoReportMsg.MogoReportMessage
internal class CanImpl(ctx: Context): IFlow<CanStatus>(ctx), IMoGoAutopilotVehicleStateListener, IMoGoAutopilotStatusListener {
@@ -27,38 +28,46 @@ internal class CanImpl(ctx: Context): IFlow<CanStatus>(ctx), IMoGoAutopilotVehic
}
override fun onAutopilotLightSwitchData(lightSwitch: LightSwitch?) {
send(CanStatus(CallerAutoPilotManager.isConnected()))
send(CanStatus(isCanEnabled()))
timeOutCheck()
}
private fun isCanEnabled() = CallerAutoPilotManager.isConnected() && CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_CAN"
override fun onAutopilotBrakeLightData(brakeLight: Boolean) {
send(CanStatus(CallerAutoPilotManager.isConnected()))
send(CanStatus(isCanEnabled()))
timeOutCheck()
}
override fun onAutopilotSteeringData(steering: Float) {
send(CanStatus(CallerAutoPilotManager.isConnected()))
send(CanStatus(isCanEnabled()))
timeOutCheck()
}
override fun onAutopilotGearData(gear: GearPosition) {
send(CanStatus(CallerAutoPilotManager.isConnected()))
send(CanStatus(isCanEnabled()))
timeOutCheck()
}
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {
super.onAutopilotIpcConnectStatusChanged(status, reason)
send(CanStatus(CallerAutoPilotManager.isConnected()))
send(CanStatus(isCanEnabled()))
timeOutCheck()
}
override fun onAutopilotDataException(timestamp: Long) {
super.onAutopilotDataException(timestamp)
send(CanStatus(false))
}
override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) {
super.onAutopilotGuardian(guardianInfo)
send(CanStatus(isCanEnabled()))
timeOutCheck()
}
private fun timeOutCheck() {
job?.safeCancel()
launch(Dispatchers.Default) {

View File

@@ -25,7 +25,7 @@ internal class RTKImpl(ctx: Context): IFlow<RTKStatus>(ctx), IMoGoAutopilotCarSt
}
private fun isRTKEnabled() =
CallerAutoPilotManager.isConnected() && CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_RTK" && CallerAutopilotCarStatusListenerManager.getCurrentGnssInfo() != null
CallerAutoPilotManager.isConnected() && (CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_RTK" && CallerAutoPilotStatusListenerManager.getAutoPilotReportMessageCode() != "EHW_GNSS") && CallerAutopilotCarStatusListenerManager.getCurrentGnssInfo() != null
override fun onAutopilotCarStateData(gnssInfo: GnssInfo?) {
send(RTKStatus(isRTKEnabled()))