3 接口说明
3.1 设备控制接口
public interface ICommandController {
/**
* 添加设备状态回调
*
* @param callback OnDeviceStateCallback 设备状态回调
*/
void addOnDeviceStateCallback(OnDeviceStateCallback callback);
/**
* 移除设备状态回调
*
* @param callback OnDeviceStateCallback 设备状态回调
*/
void removeOnDeviceStateCallback(OnDeviceStateCallback callback);
/**
* 发送命令
*
* @param command Command 命令对象
* @param timeout long 超时时间、单位是毫秒
* @param reSendLimit int 重发次数限制
* @param callback CommandCallback 命令操作结果回调
*/
<C extends Command<?, ?>> void sendCommand(@NonNull C command, long timeout, int reSendLimit, CommandCallback<C> callback);
/**
* 释放资源
*/
void release();
}
Important
设备状态回调, 3.1.1 设备状态回调
命令结果回调, 3.1.2 命令结果回调
3.1.1 设备状态回调
public abstract class OnDeviceStateCallback implements DeviceStateCallback {
/**
* 回调设备连接状态
*
* @param mac String 设备地址
* @param status int 设备状态
*/
@Override
public void onConnection(@NonNull String mac, @DeviceState int status) {
}
/**
* 回调接收到数据
*
* @param mac String 设备地址
* @param serviceUUID UUID 主服务UUID
* @param characteristicUUID UUID 特征UUID
* @param data byte[] 数据
*/
@Override
public void onDataReceive(@NonNull String mac, @NonNull UUID serviceUUID, @NonNull UUID characteristicUUID, @NonNull byte[] data) {
}
/**
* 回调设备状态
*
* @param mac String 设备地址
* @param state int 设备状态
*/
@Override
public void onDeviceState(@NonNull String mac, int state) {
}
/**
* 回调接收到的命令
*
* @param device Device 设备信息
* @param command Command 命令对象
*/
@Override
public void onReceiveCommand(@NonNull Device device, @NonNull Command<?, ?> command) {
}
}
3.1.2 命令结果回调
public interface CommandCallback<C extends Command<?, ?>> {
/**
* 回调命令发送成功
*
* @param device Device 设备信息
* @param command Command 命令对象
*/
void onSuccess(@NonNull Device device, @NonNull C command);
/**
* 回调命令操作失败
*
* @param device Device 设备信息
* @param code int 错误码
* @param message String 描述信息
*/
void onFailed(@NonNull Device device, int code, String message);
}
3.2 文件传输接口
public interface IFileTransferApi {
/**
* 是否正在文件传输
*
* @return boolean 结果
*/
boolean isFileTransferring();
/**
* 创建文件
*
* @param param CreateFileParam 创建文件参数
* @param listener FileTransferListener 文件传输监听器
*/
void createFile(@NonNull CreateFileParam param, @NonNull FileTransferListener listener);
/**
* 取消文件传输
*
* @param callback ResultCallback<Boolean> 操作结果
*/
void cancelFileTransfer(ResultCallback<Boolean> callback);
/**
* 释放资源
*/
void destroy();
}
Important
创建文件参数, 2.2.2.1 CreateFileParam
文件传输监听器, 3.2.1 FileTransferListener
结果回调, 1.3.2.2 ResultCallback
3.2.1 FileTransferListener
public interface FileTransferListener {
/**
* 开始升级回调
*
* @param param CreateFileParam 创建文件参数
*/
void onStart(@NonNull CreateFileParam param);
/**
* 升级进度回调
*
* @param progress int 进度
*/
void onProgress(int progress);
/**
* 升级完成回调
*/
void onStop();
/**
* 升级被中止回调
*
* @param reason int 原因码
*/
void onCancel(int reason);
/**
* 升级失败回调
*
* @param code int 错误码
* @param message String 错误描述
*/
void onError(int code, String message);
}
Note
创建文件参数, 2.2.2.1 CreateFileParam
3.3 Mesh DFU接口
public interface IMeshDfuApi {
/**
* 正在DFU升级
*
* @return Boolean 结果
*/
boolean isDfuUpgrading();
/**
* 升级状态
*
* @return DfuState 升级状态
*/
@NonNull
DfuState getDfuState();
/**
* 缓存的DFU升级文件信息
*
* @return DfuFileMsg DFU升级文件信息
*/
DfuFileMsg getDfuFileMsg();
/**
* 添加设备DFU状态监听器
*
* @param callback 升级状态回调
*/
void addDfuStateCallback(DfuStateCallback callback);
/**
* 移除设备DFU状态监听
*
* @param callback 升级状态回调
*/
void removeDfuStateCallback(DfuStateCallback callback);
/**
* 读取DFU配置信息
*
* @param callback ResultCallback<DfuFileMsg> 结果回调
*/
void readDfuCfgInfo(ResultCallback<DfuFileMsg> callback);
/**
* 读取DFU状态
*
* @param callback ResultCallback<DfuState> 操作结果
*/
void readDfuState(ResultCallback<DfuState> callback);
/**
* 读取目标设备DFU状态
*
* @param callback ResultCallback<List<TargetStatus>> 结果回调
*/
void readTargetDfuState(ResultCallback<List<TargetStatus>> callback);
/**
* 开始DFU
*
* @param dfuCfgInfo DfuCfgInfo DFU配置信息
* @param callback DfuStateCallback 升级状态回调
*/
void startDFU(@NonNull DfuCfgInfo dfuCfgInfo, @NonNull DfuStateCallback callback);
/**
* 取消DFU
*
* @param callback ResultCallback<Boolean> 结果回调
*/
void cancelDFU(ResultCallback<Boolean> callback);
/**
* 释放资源
*/
void destroy();
}
Important
DFU状态回调, 3.3.1 DfuStateCallback
分发器DFU状态, 2.3.5.2 DfuState
分发器DFU配置信息, 2.3.2.1 DfuFileMsg
DFU配置信息, 2.3.5.1 DfuCfgInfo
结果回调, 1.3.2.2 ResultCallback
3.3.1 DfuStateCallback
public interface DfuStateCallback {
/**
* DFU升级状态回调
*
* @param state DfuState DFU升级状态
*/
void onDfuState(@NonNull DfuState state);
/**
* 目标设备的升级状态回调
*
* @param targetStatus TargetStatus 目标设备状态
*/
void onTargetDfuState(@NonNull TargetStatus targetStatus);
}
Note
分发器DFU状态, 2.3.5.2 DfuState
目标设备DFU状态, 2.3.5.3 TargetStatus