| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.sandu.ximon.admin.manager.iot.frame.inner.report; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.BaseResponseInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.util.CRC32Utils; |
| | | import lombok.Data; |
| | | import lombok.ToString; |
| | | |
| | | /** |
| | | * @author ZZQ |
| | | * @date 2022/3/14 16:36 |
| | | */ |
| | | @Data |
| | | @ToString(callSuper = true) |
| | | public class A5LightPoleHeelingOperationReportInnerFrame extends BaseResponseInnerFrame<A5LightPoleHeelingOperationReportInnerFrame> { |
| | | //MACå°å |
| | | private String mac; |
| | | //ååºç¶æ |
| | | // 0x00 æå |
| | | // 0x01 æ ¡éªç é误 |
| | | // 0x02 é¿åº¦é误 |
| | | // 0x03 åFlash失败é误 |
| | | // 0xFF å
¶ä»é误 |
| | | |
| | | private String state; |
| | | |
| | | @Override |
| | | public A5LightPoleHeelingOperationReportInnerFrame transformFrame(String hex) { // é¿åº¦ä¸ä¸è´æ¶ï¼è¿ånull |
| | | if (StrUtil.isBlank(hex)) { |
| | | return null; |
| | | } |
| | | // MQTTéä¿¡æ¹å¼(1) |
| | | setConnectType(hex.substring(0, 2)); |
| | | // åè½ç (1) |
| | | setFunctionCode(hex.substring(2, 4)); |
| | | // è´è·é¿åº¦(2) |
| | | setPayloadLength(hex.substring(4, 8)); |
| | | //MACå°å |
| | | setMac(hex.substring(8, 12)); |
| | | //硬件交äºååºç»æ |
| | | setState(returnState(hex.substring(12, 14))); |
| | | |
| | | setCrc32(hex.substring(hex.length() - 8)); |
| | | // æ ¡éªCRC32 |
| | | String frame = hex.substring(2, hex.length() - 8); |
| | | this.setValidate(CRC32Utils.validateFrame(frame, getCrc32())); |
| | | return this; |
| | | } |
| | | |
| | | public String returnState(String stateCode) { |
| | | String State = ""; |
| | | switch (stateCode) { |
| | | case "00": |
| | | State = "æä½æå"; |
| | | break; |
| | | case "01": |
| | | State = "æ ¡éªç é误"; |
| | | break; |
| | | case "02": |
| | | State = "é¿åº¦é误"; |
| | | break; |
| | | case "03": |
| | | State = "åFlash失败é误"; |
| | | break; |
| | | case "FF": |
| | | State = "å
¶ä»é误"; |
| | | break; |
| | | default: |
| | | } |
| | | return State; |
| | | } |
| | | } |