[dev_arch_opt_3.0] 联调完成obu升级功能

This commit is contained in:
lixiaopeng
2023-02-24 17:54:36 +08:00
20 changed files with 215 additions and 84 deletions

View File

@@ -3,6 +3,7 @@ package com.zhidao.support.obu;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.mogo.support.obu.MogoObuManager;
import com.mogo.support.obu.ObuBase;
@@ -16,6 +17,7 @@ import com.mogo.support.obu.model.MogoObuRsiWarningData;
import com.mogo.support.obu.model.MogoObuRsmWarningData;
import com.mogo.support.obu.model.MogoObuRvWarningData;
import com.mogo.support.obu.model.MogoObuSpatWarningData;
import com.mogo.support.obu.model.MogoObuSystemBConfigData;
import com.mogo.support.obu.model.advance.AccFourAxes;
import com.mogo.support.obu.model.advance.DateTime;
import com.mogo.support.obu.model.advance.NodeId;
@@ -106,13 +108,13 @@ public class ObuManager {
/**
* 获取当前OBU软件版本
* 需主动调用获取{@link MogoObuManager#getObuVersion(Context, String, OnUpgradeListener)}
*
* @return 版本 null表示 无法连接OBU无法获取版本
* @since 1.1.0
*/
public String getObuVersion() {
return MogoObuManager.getInstance().getObuVersion();
@Nullable
public MogoObuSystemBConfigData getObuSystemBConfig() {
return MogoObuManager.getInstance().getObuSystemBConfig();
}
/**
@@ -269,64 +271,43 @@ public class ObuManager {
/**
* 检查更新
* 获取OBu配置信息
*
* @param obuIp OBU IP
* @param listener 升级回调
* @since 1.1.0
*/
public boolean checkObuUpgrade(@NonNull Context context, @NonNull String obuIp, OnUpgradeListener listener) {
return MogoObuManager.getInstance().checkObuUpgrade(context, obuIp, listener);
}
/**
* 检查更新
*
* @param context 上下文
* @param obuIp OBU IP
* @param isUpgradeNow 是否立即升级
* falseOBU设备下次上电时执行升级程序
* ture: OBU设备立即执行升级程序 TODO 警告:执行立即升级时请确保车辆是静止状态。车辆在运行过程中升级设备可能会影响驾驶,严重时可能造成安全隐患!!!
* @param listener 升级回调
* @return 是否调用成功
* @since 1.1.0
*/
public boolean checkObuUpgrade(@NonNull Context context, @NonNull String obuIp, boolean isUpgradeNow, OnUpgradeListener listener) {
return MogoObuManager.getInstance().checkObuUpgrade(context, obuIp, isUpgradeNow, listener);
}
/**
* 获取当前连接OBU的版本号
* 如果调用 {@link MogoObuManager#checkObuUpgrade(Context, String, OnUpgradeListener)}方法可以不用调用此方法,检查更新会获取版本号
*
* @param context 上下文
* @param obuIp OBU IP
* @param listener 升级回调
* @return 是否调用成功
* @since 1.1.0
*/
public boolean getObuVersion(@NonNull Context context, @NonNull String obuIp, OnUpgradeListener listener) {
return MogoObuManager.getInstance().getObuVersion(context, obuIp, listener);
public boolean readSystemBConfig(Context context, @NonNull String obuIp, OnUpgradeListener listener) {
return MogoObuManager.getInstance().readSystemBConfig(context, obuIp, listener);
}
/**
* 传升级包版本
* 传升级包到OBU 非立即执行升级程序
*
* @param newVersion 升级包版本
* @param obuIp OBU IP
* @param upgradePackage 升级包文件绝对路径 只能包含 升级包MD5文件和升级包文件
* @param listener 升级回调
* @since 1.1.0
*/
public void setObuUpgradePackageVersion(@NonNull String newVersion) {
MogoObuManager.getInstance().setObuUpgradePackageVersion(newVersion);
public boolean uploadUpgradePackage(@NonNull String obuIp, @NonNull String[] upgradePackage, OnUpgradeListener listener) {
return MogoObuManager.getInstance().uploadUpgradePackage(obuIp, upgradePackage, false, listener);
}
/**
* 传升级包
* 传升级包到OBU
*
* @param newUpgradePackage 升级包文件绝对路径 只能包含 升级包MD5文件和升级包文件
* @param obuIp OBU IP
* @param upgradePackage 升级包文件绝对路径 只能包含 升级包MD5文件和升级包文件
* @param isUpgradeNow 是否立即升级
* falseOBU设备下次上电时执行升级程序
* ture: OBU设备立即执行升级程序 TODO 警告:执行立即升级时请确保车辆是静止状态。车辆在运行过程中升级设备可能会影响驾驶,严重时可能造成安全隐患!!!
* @param listener 升级回调
* @return 是否调用成功
* @since 1.1.0
*/
public void setObuUpgradePackage(@NonNull String[] newUpgradePackage) {
MogoObuManager.getInstance().setObuUpgradePackage(newUpgradePackage);
public boolean uploadUpgradePackage(@NonNull String obuIp, @NonNull String[] upgradePackage, boolean isUpgradeNow, OnUpgradeListener listener) {
return MogoObuManager.getInstance().uploadUpgradePackage(obuIp, upgradePackage, isUpgradeNow, listener);
}
/**
@@ -334,10 +315,11 @@ public class ObuManager {
*
* @since 1.1.0
*/
public void stopObuUpgrade() {
MogoObuManager.getInstance().stopObuUpgrade();
public void stopProcess() {
MogoObuManager.getInstance().stopProcess();
}
private final OnMogoObuListener mogoObuListener = new OnMogoObuListener() {
@Override
public void onConnectStatus(int connectStatus) {