merge
This commit is contained in:
@@ -249,7 +249,7 @@ class MoGoAutopilotProvider :
|
||||
}
|
||||
|
||||
override fun startAutoPilot(controlParameters: AutopilotControlParameters) {
|
||||
if (AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) {
|
||||
if (AdasManager.getInstance().ipcConnectionStatus == IPC_CONNECTION_STATUS.CONNECTED) {
|
||||
val invokeResult = AdasManager.getInstance().sendAutoPilotModeReq(1, 1, controlParameters.toRouteInfo())
|
||||
invokeAutoPilotResult(if (invokeResult) "自动驾驶调用成功" else "自动驾驶调用失败, socket 或者 rawPack 可能为空")
|
||||
} else {
|
||||
@@ -289,7 +289,7 @@ class MoGoAutopilotProvider :
|
||||
}
|
||||
|
||||
override fun cancelAutoPilot() {
|
||||
if (AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) {
|
||||
if (AdasManager.getInstance().ipcConnectionStatus == IPC_CONNECTION_STATUS.CONNECTED) {
|
||||
AdasManager.getInstance().sendAutoPilotModeReq(0, 1, null)
|
||||
} else {
|
||||
CallerLogger.e("$M_ADAS_IMPL$TAG", "车机与工控机链接失败,无法断开自动驾驶")
|
||||
@@ -374,7 +374,7 @@ class MoGoAutopilotProvider :
|
||||
}
|
||||
// 同步给乘客端
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
var byteArray = if (isEnable) byteArrayOf(1) else byteArrayOf(0)
|
||||
val byteArray = if (isEnable) byteArrayOf(1) else byteArrayOf(0)
|
||||
if (NSDNettyManager.getInstance().isServerStart) {
|
||||
NSDNettyManager.getInstance()
|
||||
.sendMsgToAllClients(
|
||||
@@ -502,7 +502,7 @@ class MoGoAutopilotProvider :
|
||||
CallerLogger.d("$M_ADAS_IMPL$TAG", "乘客端连接司机端服务成功! sign is:${sign}")
|
||||
// 连接成功后,乘客屏没拿到车牌号就像司机屏请求
|
||||
if (AppConfigInfo.plateNumber.isNullOrEmpty()) {
|
||||
var byteArray = byteArrayOf(0)
|
||||
val byteArray = byteArrayOf(0)
|
||||
NSDNettyManager.getInstance().sendMogoProtocolMsgToServer(
|
||||
MogoProtocolMsg(REQ_CAR_NUMBER, byteArray.size, byteArray)
|
||||
) {
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.util.DeviceUtils
|
||||
@@ -37,7 +38,7 @@ class TraceManager {
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT] =
|
||||
FwBuild(true, -1,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_AUTO)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED] =
|
||||
FwBuild(false, 30,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_DATA_TRACK)
|
||||
FwBuild(false, 2,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_DATA_TRACK)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY] =
|
||||
FwBuild(false, 30,pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_TRAJECTORY)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE] =
|
||||
@@ -56,6 +57,14 @@ class TraceManager {
|
||||
|
||||
FileWriteManager.getInstance()
|
||||
.init(context, MoGoAiCloudClientConfig.getInstance().sn, pkgName, fwBuildMap)
|
||||
FileWriteManager.getInstance().registerListener { type ->
|
||||
val param = traceInfoCache[type]
|
||||
param?.let {
|
||||
it.record = false
|
||||
traceInfoCache[type] = it
|
||||
}
|
||||
CallerDevaToolsListenerManager.invokeDevaToolsFwThreadClose()
|
||||
}
|
||||
}
|
||||
|
||||
fun setTraceLogEnable(enable:Boolean){
|
||||
|
||||
@@ -53,9 +53,11 @@ import com.mogo.eagle.core.function.hmi.ui.tools.DockerRebootDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.upgrade.UpgradeListAdapter
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
|
||||
import com.mogo.eagle.core.utilcode.util.*
|
||||
@@ -63,6 +65,7 @@ import com.mogo.map.MogoMap
|
||||
import com.mogo.map.uicontroller.VisualAngleMode
|
||||
import com.mogo.map.uicontroller.VisualAngleMode.*
|
||||
import com.zhidao.easysocket.utils.L
|
||||
import com.zhjt.mogo_core_function_devatools.trace.TraceManager
|
||||
import kotlinx.android.synthetic.main.view_debug_setting.view.*
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import mogo_msg.MogoReportMsg
|
||||
@@ -83,8 +86,8 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoObuStatusListener,
|
||||
IMoGoAutopilotStatusListener, IMoGoAutopilotCarStateListener,
|
||||
IMoGoMapLocationListener, IMoGoAutopilotIdentifyListener,
|
||||
IMoGoAutopilotPlanningListener, IMoGoAutopilotCarConfigListener
|
||||
,IMoGoAutopilotVehicleStateListener{
|
||||
IMoGoAutopilotPlanningListener, IMoGoAutopilotCarConfigListener,
|
||||
IMoGoAutopilotVehicleStateListener {
|
||||
|
||||
private val TAG = "DebugSettingView"
|
||||
|
||||
@@ -94,7 +97,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
private var mAutoPilotStatusInfo: AutopilotStatusInfo? = null
|
||||
private var mGnssInfo: MessagePad.GnssInfo? = null
|
||||
|
||||
private var accelerationFloatWindow: AccelerationFloatWindow?=null
|
||||
private var accelerationFloatWindow: AccelerationFloatWindow? = null
|
||||
private var accelerationList = arrayListOf<AccelerationEntity>()
|
||||
private var accelerationIsShow: Boolean = false //实时加速度面板是否展示
|
||||
private var accelerationThresholdNum: Double = 0.0
|
||||
@@ -134,9 +137,9 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
private var onlineSelected: Boolean = true
|
||||
private var qaSelected: Boolean = true
|
||||
|
||||
private var upgradeListAdapter: UpgradeListAdapter?=null
|
||||
private var upgradeListAdapter: UpgradeListAdapter? = null
|
||||
|
||||
private val upgradeVersionList by lazy{
|
||||
private val upgradeVersionList by lazy {
|
||||
ArrayList<UpgradeVersionEntity>()
|
||||
}
|
||||
|
||||
@@ -182,7 +185,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
// 添加 工控机基础信息回调 监听
|
||||
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
|
||||
//添加 车辆底盘数据回调 监听
|
||||
CallerAutopilotVehicleStateListenerManager.addListener(TAG,this)
|
||||
CallerAutopilotVehicleStateListenerManager.addListener(TAG, this)
|
||||
if (logInfoView != null) {
|
||||
logInfoView!!.onEnterForeground()
|
||||
}
|
||||
@@ -292,11 +295,11 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 鹰眼参数配置
|
||||
*/
|
||||
tbEagleEyeController.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示参数配置
|
||||
eagleEyeControllerLayout.visibility = View.VISIBLE
|
||||
}else{
|
||||
} else {
|
||||
buttonView.setCompoundDrawables(null, null, iconRight, null)
|
||||
//隐藏参数配置
|
||||
eagleEyeControllerLayout.visibility = View.GONE
|
||||
@@ -338,7 +341,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 车辆状态控制中心
|
||||
*/
|
||||
tbVehicleStateController.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示车辆状态中心
|
||||
vehicleStateLayout.visibility = View.VISIBLE
|
||||
@@ -398,7 +401,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 应用包管理中心
|
||||
*/
|
||||
btnApkCenter.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(isChecked){
|
||||
if (isChecked) {
|
||||
buttonView.setCompoundDrawables(null, null, iconDown, null)
|
||||
//展示应用包管理中心
|
||||
apkCenterLayout.visibility = View.VISIBLE
|
||||
@@ -598,7 +601,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
//初始化切换自车按钮文本(Bus版本默认显示:切换自车为出租车)
|
||||
if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){
|
||||
if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
|
||||
tbChangeCurrentCarIcon.isChecked = true
|
||||
}
|
||||
|
||||
@@ -615,27 +618,28 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
/**
|
||||
* 设置鹰眼本地参数配置监听
|
||||
*/
|
||||
private fun setEagleEyeConfigListener(){
|
||||
private fun setEagleEyeConfigListener() {
|
||||
//初始化刹车加速度阈值信息
|
||||
val brakeThreshold = SharedPrefsMgr.getInstance(context)
|
||||
.getFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD,-2.5F)
|
||||
.getFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD, -2.5F)
|
||||
etInputBrakeThreshold.setText(brakeThreshold.toString())
|
||||
etInputBrakeThreshold.text?.let { etInputBrakeThreshold.setSelection(brakeThreshold.toString().length) }
|
||||
//设置刹车加速度阈值信息
|
||||
btnBrakeThreshold.setOnClickListener {
|
||||
val thresholdStr = etInputBrakeThreshold.text.toString()
|
||||
if(thresholdStr.isEmpty()){
|
||||
if (thresholdStr.isEmpty()) {
|
||||
ToastUtils.showShort("请输入正确的判定刹车加速度阈值")
|
||||
}else{
|
||||
try{
|
||||
} else {
|
||||
try {
|
||||
val thresholdStrFloat = thresholdStr.toFloat()
|
||||
if(thresholdStrFloat<0){
|
||||
SharedPrefsMgr.getInstance(context).putFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD,thresholdStrFloat)
|
||||
if (thresholdStrFloat < 0) {
|
||||
SharedPrefsMgr.getInstance(context)
|
||||
.putFloat(MoGoConfig.BRAKE_ACCELERATION_THRESHOLD, thresholdStrFloat)
|
||||
ToastUtils.showShort("刹车阈值设置成功")
|
||||
}else{
|
||||
} else {
|
||||
ToastUtils.showShort("刹车阈值加速度值应小于0")
|
||||
}
|
||||
}catch (e: Exception){
|
||||
} catch (e: Exception) {
|
||||
ToastUtils.showShort("判定刹车加速度阈值格式设置不正确")
|
||||
}
|
||||
}
|
||||
@@ -731,7 +735,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
CallerAutoPilotManager.recordPackage()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -848,13 +852,13 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 实时加速度面板控制
|
||||
*/
|
||||
tbOpenAcceleration.setOnCheckedChangeListener { _, isChecked ->
|
||||
if(isChecked){
|
||||
if (isChecked) {
|
||||
//打开实时加速度面板
|
||||
accelerationFloatWindow = context?.let { AccelerationFloatWindow(it as Activity) }
|
||||
accelerationFloatWindow?.showFloatWindow()
|
||||
etThreshold.visibility = View.VISIBLE
|
||||
btnThresholdDefine.visibility = View.VISIBLE
|
||||
}else{
|
||||
} else {
|
||||
//关闭实时加速度面板
|
||||
accelerationFloatWindow?.hideFloatWindow()
|
||||
etThreshold.visibility = View.GONE
|
||||
@@ -864,9 +868,9 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
btnThresholdDefine.setOnClickListener {
|
||||
try{
|
||||
try {
|
||||
accelerationThresholdNum = etThreshold.text.toString().toDouble()
|
||||
}catch(e:java.lang.Exception){
|
||||
} catch (e: java.lang.Exception) {
|
||||
ToastUtils.showShort("请输入正确的阈值")
|
||||
}
|
||||
}
|
||||
@@ -1070,6 +1074,10 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override fun fwThreadClose() {
|
||||
refreshTraceInfo()
|
||||
}
|
||||
|
||||
override fun moduleLogChanged(moduleTag: MutableMap<String, SceneModule>) {
|
||||
//模块日志 tag 发生变化,需要更新对应 UI
|
||||
setLogCheckedChangeListener()
|
||||
@@ -1079,12 +1087,16 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
//版本信息更新
|
||||
urls?.let {
|
||||
upgradeVersionList.clear()
|
||||
it.iterator().forEach {map ->
|
||||
val name = if(map.key.contains("{")) map.key.replace("{","") else map.key
|
||||
val url = if(map.value.contains("}")) map.value.replace("}","") else map.value
|
||||
upgradeVersionList.add(UpgradeVersionEntity(name.trim(),url))
|
||||
it.iterator().forEach { map ->
|
||||
val name =
|
||||
if (map.key.contains("{")) map.key.replace("{", "") else map.key
|
||||
val url = if (map.value.contains("}")) map.value.replace(
|
||||
"}",
|
||||
""
|
||||
) else map.value
|
||||
upgradeVersionList.add(UpgradeVersionEntity(name.trim(), url))
|
||||
}
|
||||
upgradeVersionList.sortByDescending { upgradeVersionEntity ->upgradeVersionEntity.name }
|
||||
upgradeVersionList.sortByDescending { upgradeVersionEntity -> upgradeVersionEntity.name }
|
||||
upgradeListAdapter?.setDada(dataFilter(upgradeVersionList))
|
||||
upgradeListAdapter?.notifyDataSetChanged()
|
||||
}
|
||||
@@ -1114,23 +1126,8 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
val traceInfoMap = CallerDevaToolsManager.getTraceInfo()
|
||||
val autopilot = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT]
|
||||
autopilot?.let{
|
||||
cbAdasAutoPilot.isChecked = it.record
|
||||
}
|
||||
val dataTrack = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED]
|
||||
dataTrack?.let {
|
||||
cbAdasDataTrack.isChecked = it.record
|
||||
}
|
||||
val trajectory = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY]
|
||||
trajectory?.let {
|
||||
cbAdasTrajectory.isChecked = it.record
|
||||
}
|
||||
val vehicle = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE]
|
||||
vehicle?.let {
|
||||
cbAdasVehicle.isChecked = it.record
|
||||
}
|
||||
// 更新链路信息
|
||||
refreshTraceInfo()
|
||||
|
||||
/**
|
||||
* ADAS自动驾驶链路
|
||||
@@ -1185,24 +1182,46 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private fun refreshTraceInfo() {
|
||||
val traceInfoMap = CallerDevaToolsManager.getTraceInfo()
|
||||
val autopilot = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT]
|
||||
autopilot?.let {
|
||||
cbAdasAutoPilot.isChecked = it.record
|
||||
}
|
||||
val dataTrack = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED]
|
||||
dataTrack?.let {
|
||||
cbAdasDataTrack.isChecked = it.record
|
||||
}
|
||||
val trajectory = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY]
|
||||
trajectory?.let {
|
||||
cbAdasTrajectory.isChecked = it.record
|
||||
}
|
||||
val vehicle = traceInfoMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE]
|
||||
vehicle?.let {
|
||||
cbAdasVehicle.isChecked = it.record
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* APK包管理
|
||||
*/
|
||||
private fun setApkCenterListener(){
|
||||
val layoutManager: LinearLayoutManager = object : LinearLayoutManager(context,
|
||||
VERTICAL, false) {
|
||||
private fun setApkCenterListener() {
|
||||
val layoutManager: LinearLayoutManager = object : LinearLayoutManager(
|
||||
context,
|
||||
VERTICAL, false
|
||||
) {
|
||||
override fun canScrollVertically(): Boolean {
|
||||
// 直接禁止垂直滑动
|
||||
return false
|
||||
}
|
||||
}
|
||||
rvUpgradeVersionList.layoutManager =layoutManager
|
||||
rvUpgradeVersionList.layoutManager = layoutManager
|
||||
|
||||
upgradeListAdapter = UpgradeListAdapter(context,upgradeVersionList,
|
||||
object:UpgradeListAdapter.ClickListener{
|
||||
override fun downloadApk(name: String,url: String) {
|
||||
upgradeListAdapter = UpgradeListAdapter(context, upgradeVersionList,
|
||||
object : UpgradeListAdapter.ClickListener {
|
||||
override fun downloadApk(name: String, url: String) {
|
||||
//下载包
|
||||
CallerDevaToolsManager.downLoadPackage(name,url)
|
||||
CallerDevaToolsManager.downLoadPackage(name, url)
|
||||
ToastUtils.showLong("开始下载APK,稍后可前往downloads文件夹查看")
|
||||
}
|
||||
|
||||
@@ -1212,9 +1231,9 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
|
||||
ivApkSearch.setOnClickListener {
|
||||
val searchStr = etApkSearch.text.toString()
|
||||
if(searchStr.isEmpty()){
|
||||
if (searchStr.isEmpty()) {
|
||||
ToastUtils.showShort("请输入正确的搜索关键字")
|
||||
}else{
|
||||
} else {
|
||||
CallerDevaToolsManager.getUpgradeVersionUrls(searchStr)
|
||||
}
|
||||
|
||||
@@ -1242,11 +1261,11 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
private fun dataFilter(list: ArrayList<UpgradeVersionEntity>): ArrayList<UpgradeVersionEntity> {
|
||||
val tempList = ArrayList<UpgradeVersionEntity>()
|
||||
list.let {
|
||||
it.iterator().forEach { entity->
|
||||
if(onlineSelected && entity.name.contains("online")){
|
||||
it.iterator().forEach { entity ->
|
||||
if (onlineSelected && entity.name.contains("online")) {
|
||||
tempList.add(entity)
|
||||
}
|
||||
if(qaSelected && entity.name.contains("qa")){
|
||||
if (qaSelected && entity.name.contains("qa")) {
|
||||
tempList.add(entity)
|
||||
}
|
||||
}
|
||||
@@ -1307,7 +1326,8 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
AppConfigInfo.isConnectedNetty = CallerTelematicManager.getClientConnStatus()
|
||||
AppConfigInfo.serverIp = CallerTelematicManager.getServerIp()
|
||||
}
|
||||
else -> {}
|
||||
else -> {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1325,9 +1345,9 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
tvAppVersionName.text = "鹰眼版本名:${AppUtils.getAppVersionName()}"
|
||||
tvAutopilotProtocolVersionInfo.text =
|
||||
"Autopilot协议版本:${CallerAutoPilotManager.getProtocolVersion()}"
|
||||
if(AppConfigInfo.protocolVersionNumber==0){
|
||||
tvIpcProtocolVersionInfo.text="工控机协议版本:未知"
|
||||
}else{
|
||||
if (AppConfigInfo.protocolVersionNumber == 0) {
|
||||
tvIpcProtocolVersionInfo.text = "工控机协议版本:未知"
|
||||
} else {
|
||||
tvIpcProtocolVersionInfo.text = "工控机协议版本:${AppConfigInfo.protocolVersionNumber}"
|
||||
}
|
||||
tvMoGoMapVersion.text = "HD-Map版本:${MogoMap.getInstance().mogoMap.mapVersion}"
|
||||
@@ -1389,9 +1409,9 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
"<font color='blue'>正常"
|
||||
} else {
|
||||
"<font color='red'>异常 原因:${
|
||||
if(AppConfigInfo.connectStatusDescribe.isNullOrEmpty()){
|
||||
if (AppConfigInfo.connectStatusDescribe.isNullOrEmpty()) {
|
||||
"主动断开连接"
|
||||
}else{
|
||||
} else {
|
||||
AppConfigInfo.connectStatusDescribe
|
||||
}
|
||||
}"
|
||||
@@ -1506,17 +1526,35 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
override fun onAutopilotCarStateData(gnssInfo: MessagePad.GnssInfo?) {
|
||||
mGnssInfo = gnssInfo
|
||||
//实时加速度列表
|
||||
ThreadUtils.runOnUiThread{
|
||||
if(accelerationIsShow){
|
||||
if(accelerationList.size > 9){
|
||||
ThreadUtils.runOnUiThread {
|
||||
if (accelerationIsShow) {
|
||||
if (accelerationList.size > 9) {
|
||||
accelerationList.removeLast()
|
||||
}
|
||||
gnssInfo?.acceleration?.let {
|
||||
if(accelerationList.isEmpty()){
|
||||
accelerationList.add(AccelerationEntity(TimeUtils.millis2String(System.currentTimeMillis(),TimeUtils.getHourMinSecondFormat()),it.toString()))
|
||||
if (accelerationList.isEmpty()) {
|
||||
accelerationList.add(
|
||||
AccelerationEntity(
|
||||
TimeUtils.millis2String(
|
||||
System.currentTimeMillis(),
|
||||
TimeUtils.getHourMinSecondFormat()
|
||||
), it.toString()
|
||||
)
|
||||
)
|
||||
}
|
||||
if(abs(it.minus(accelerationList.first().acceleration.toDouble())) > abs(accelerationThresholdNum)){
|
||||
accelerationList.add(0, AccelerationEntity(TimeUtils.millis2String(System.currentTimeMillis(),TimeUtils.getHourMinSecondFormat()),it.toString()))
|
||||
if (abs(it.minus(accelerationList.first().acceleration.toDouble())) > abs(
|
||||
accelerationThresholdNum
|
||||
)
|
||||
) {
|
||||
accelerationList.add(
|
||||
0,
|
||||
AccelerationEntity(
|
||||
TimeUtils.millis2String(
|
||||
System.currentTimeMillis(),
|
||||
TimeUtils.getHourMinSecondFormat()
|
||||
), it.toString()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
accelerationFloatWindow?.refreshData(accelerationList)
|
||||
@@ -1575,13 +1613,15 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
tvReportCode.text = "code:${it.code}"
|
||||
var resultStr = "result:"
|
||||
for (result in it.resultList) {
|
||||
resultStr = "$resultStr$result${CallerAutoPilotManager.getReportResultDesc(result)} "
|
||||
resultStr =
|
||||
"$resultStr$result${CallerAutoPilotManager.getReportResultDesc(result)} "
|
||||
}
|
||||
tvReportResult.text = resultStr
|
||||
|
||||
var actionStr = "action:"
|
||||
for (action in it.actionsList) {
|
||||
actionStr = "$actionStr$action${CallerAutoPilotManager.getReportActionDesc(action)} "
|
||||
actionStr =
|
||||
"$actionStr$action${CallerAutoPilotManager.getReportActionDesc(action)} "
|
||||
}
|
||||
tvReportActions.text = actionStr
|
||||
|
||||
@@ -1621,7 +1661,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* 时延显示
|
||||
*/
|
||||
override fun onObuV2iDelayTime(delayTime: Long) {
|
||||
ThreadUtils.runOnUiThread{
|
||||
ThreadUtils.runOnUiThread {
|
||||
tvObuDelay.text = "obu时延:" + delayTime.toString()
|
||||
}
|
||||
}
|
||||
@@ -1647,7 +1687,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* @param steering 方向盘转向角
|
||||
*/
|
||||
override fun onAutopilotSteeringData(steering: Float) {
|
||||
ThreadUtils.runOnUiThread{
|
||||
ThreadUtils.runOnUiThread {
|
||||
tvSteeringInfo.text = "方向盘转向角:${steering}"
|
||||
}
|
||||
}
|
||||
@@ -1657,7 +1697,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
* @param gear 档位
|
||||
*/
|
||||
override fun onAutopilotGearData(gear: Chassis.GearPosition) {
|
||||
ThreadUtils.runOnUiThread{
|
||||
ThreadUtils.runOnUiThread {
|
||||
tvGearInfo.text = "挂挡档位:${gear}"
|
||||
}
|
||||
}
|
||||
@@ -1676,7 +1716,7 @@ class DebugSettingView @JvmOverloads constructor(
|
||||
this.clickListener = clickListener
|
||||
}
|
||||
|
||||
interface ClickListener{
|
||||
interface ClickListener {
|
||||
fun showReportListWindow(show: Boolean)
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ class ChainConstant {
|
||||
const val CHAIN_LINK_LOG_ADAS_TRAJECTORY = "-adasWsTrajectory"
|
||||
const val CHAIN_LINK_LOG_ADAS_VEHICLE = "-adasWsVehicle"
|
||||
|
||||
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA = "PAD_ADAS_MESSAGE_AUTOPILOT_RECT_DATA"
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE = "PAD_ADAS_MESSAGE_AUTOPILOT_CAR_STATE"
|
||||
const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_STATUS = "PAD_ADAS_MESSAGE_AUTOPILOT_STATUS"
|
||||
|
||||
@@ -27,6 +27,11 @@ interface IMoGoDevaToolsListener {
|
||||
*/
|
||||
fun onLogCatch(lineLog: String)
|
||||
|
||||
/**
|
||||
* fw线程写入,倒计时结束
|
||||
*/
|
||||
fun fwThreadClose()
|
||||
|
||||
/**
|
||||
* 模块TAG更新回调
|
||||
*/
|
||||
|
||||
@@ -72,6 +72,13 @@ object CallerDevaToolsListenerManager {
|
||||
}
|
||||
}
|
||||
|
||||
fun invokeDevaToolsFwThreadClose() {
|
||||
M_DEVA_TOOLS_LISTENER.forEach {
|
||||
val listener = it.value
|
||||
listener.fwThreadClose()
|
||||
}
|
||||
}
|
||||
|
||||
fun invokeDevaToolsModuleLogChanges(moduleTag: MutableMap<String, SceneModule>) {
|
||||
M_DEVA_TOOLS_LISTENER.forEach {
|
||||
val listener = it.value
|
||||
|
||||
@@ -60,7 +60,7 @@ HOOK_LOG_VERSION=1.6.1
|
||||
SERVICE_CHAIN_VERSION=1.1.0
|
||||
################ 外部依赖引用 ################
|
||||
# loglib
|
||||
LOGLIB_VERSION=1.2.44
|
||||
LOGLIB_VERSION=1.2.46
|
||||
######## MogoAiCloudSDK Version ########
|
||||
# 网络请求LOGLIB_VERSION
|
||||
MOGO_NETWORK_VERSION=1.3.55
|
||||
|
||||
Reference in New Issue
Block a user