| | |
| | | override fun getDataListByDataType(list: List<String>): MutableList<String> { |
| | | if (list.isEmpty()) return mutableListOf() |
| | | |
| | | //fixme 2019.9.16 不管第一位的信息类型标志是否正确,至少返回一个值,此方法在信息体结构没有严格按照标准, |
| | | //fixme 即在后一个信息类型标志和前一个信息体之间有无效字符时,能够将其忽略,但不确定这种处理方式是否正确和必要 |
| | | val resultList = mutableListOf<String>().apply { |
| | | //添加 信息类型标志 |
| | | add(list[0]) |
| | | } |
| | | |
| | | when (list[0].toIntOrNull(16)) { |
| | | ObdDataType.ObdData.value -> { |
| | | |
| | | //从起始字节 1 开始,固定有97个字节的数据 |
| | | for (i in 1..96) { |
| | | resultList.add(list[i]) |
| | |
| | | } |
| | | } |
| | | ObdDataType.EngineDataFlow.value -> { |
| | | |
| | | //从起始字节 1 开始,固定有37个字节的数据 |
| | | for (i in 1..37) { |
| | | resultList.add(list[i]) |
| | | } |
| | | } |
| | | ObdDataType.SupplementDataFlow.value -> { |
| | | |
| | | //从起始字节 1 开始,固定有17个字节的数据 |
| | | for (i in 1..17) { |
| | | resultList.add(list[i]) |