package com.flightfeather.uav.socket.decoder
|
|
import com.flightfeather.uav.socket.bean.DataUnit
|
import com.flightfeather.uav.socket.eunm.ObdCommandUnit
|
|
/**
|
* uav 第一层数据包解码器
|
* @author riku
|
* Date: 2019/9/12
|
*
|
* 数据第一层结构定义如下:
|
* 起始字节 定义
|
* 0 起始符
|
* 2 命令单元 类型@see [ObdCommandUnit]
|
* 3 车辆识别号
|
* 4 终端软件版本号
|
* 21 数据加密方式
|
* 22 数据单元长度
|
* 24 数据单元 解码器@see [DataUnitDecoder]
|
* 倒数第1 校验码
|
*/
|
interface DataPackageDecoder {
|
|
fun getHead(b: List<String>): String?
|
|
fun getCommandUnit(b: List<String>): Int?
|
|
fun getVinCode(b: List<String>): String?
|
|
fun getSoftwareVersion(b: List<String>): Int?
|
|
fun getEncryptionWay(b: List<String>): Int?
|
|
fun getDataLength(b: List<String>): Int
|
|
fun getDataUnit(b: List<String>): List<DataUnit>
|
|
fun getCheckCode(b: List<String>): Int?
|
|
fun toStringList(msg: String): List<String>
|
|
}
|