JLChen
2021-01-12 19f72c40de40ec0e09c67ca45f26d9bcf4bd5ef7
2021-01-12 1.读取状态回复 byte1~8 代表干接点1~8的状态  0:闭合,1:断开
1个文件已修改
61 ■■■■■ 已修改文件
Android_HDL_SDK_TTL_DOC/src/api_mcu.md 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Android_HDL_SDK_TTL_DOC/src/api_mcu.md
@@ -416,7 +416,10 @@
调用该接口,可以发送读取新版本MCU小板干接点状态的指令。
注:读取状态回复 bit0~7 代表干接点1~8的状态  0:闭合,1:断开
注:读取状态回复 byte1~8 代表干接点1~8的状态  0:闭合,1:断开
根据需要 解析需要使用的干接点位置,目前至少支持8个,后面扩展的话增加数组长度
**代码范例**
@@ -424,7 +427,7 @@
    .......
    /**
    * MCU读干接点状态
    * 读取状态回复 bit0~7 代表干接点1~8的状态  0:闭合,1:断开
    * 读取状态回复 byte1~8 代表干接点1~8的状态  0:闭合,1:断开
    */
    HDLCommand.mcuReadDryContactStatus();
    .......
@@ -446,30 +449,40 @@
     */
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onMCUDryContactStatusBackEventMain(MCUDryContactStatusBackEvent event) {
        //bit0~7 代表干接点1~8的状态  0:闭合,1:断开
        byte allStatus = event.getStatus();
        int dryContact1 = HDLUtlis.getBit(allStatus, 0);
        int dryContact2 = HDLUtlis.getBit(allStatus, 1);
        int dryContact3 = HDLUtlis.getBit(allStatus, 2);
        int dryContact4 = HDLUtlis.getBit(allStatus, 3);
        int dryContact5 = HDLUtlis.getBit(allStatus, 4);
        int dryContact6 = HDLUtlis.getBit(allStatus, 5);
        int dryContact7 = HDLUtlis.getBit(allStatus, 6);
        int dryContact8 = HDLUtlis.getBit(allStatus, 7);
        //byte1~8 代表干接点1~8的状态  0:闭合,1:断开
        byte[] allStatus = event.getStatus();
        if (allStatus.length > 7) {
            int dryContact1 = allStatus[0];
            int dryContact2 = allStatus[1];
            int dryContact3 = allStatus[2];
            int dryContact4 = allStatus[3];
            int dryContact5 = allStatus[4];
            int dryContact6 = allStatus[5];
            int dryContact7 = allStatus[6];
            int dryContact8 = allStatus[7];
        //根据需要 解析需要使用的干接点位置,目前最多支持8个
        String message = "";
        message += "\n" + "干接点1:" + getStatusString(dryContact1);
        message += "\n" + "干接点2:" + getStatusString(dryContact2);
        message += "\n" + "干接点3:" + getStatusString(dryContact3);
        message += "\n" + "干接点4:" + getStatusString(dryContact4);
        message += "\n" + "干接点5:" + getStatusString(dryContact5);
        message += "\n" + "干接点6:" + getStatusString(dryContact6);
        message += "\n" + "干接点7:" + getStatusString(dryContact7);
        message += "\n" + "干接点8:" + getStatusString(dryContact8);
        tv_mes.setText(message);
            //根据需要 解析需要使用的干接点位置,目前至少支持8个,后面扩展的话增加 byte[] allStatus数组长度
            String message = "";
            message += "\n" + "干接点1:" + getStatusString(dryContact1);
            message += "\n" + "干接点2:" + getStatusString(dryContact2);
            message += "\n" + "干接点3:" + getStatusString(dryContact3);
            message += "\n" + "干接点4:" + getStatusString(dryContact4);
            message += "\n" + "干接点5:" + getStatusString(dryContact5);
            message += "\n" + "干接点6:" + getStatusString(dryContact6);
            message += "\n" + "干接点7:" + getStatusString(dryContact7);
            message += "\n" + "干接点8:" + getStatusString(dryContact8);
            tv_mes.setText(message);
//        showToast(message);
        HDLLog.Log(message);
            HDLLog.Log(message);
        }
    }
    /**
     * @param statusInt 0:闭合,1:断开
     * @return 闭合or断开
     */
    private String getStatusString(int statusInt) {
        return statusInt > 0 ? "断开" : "闭合";
    }
```