package com.sunvote.cmd.basestation; import com.sunvote.cmd.BaseCmd; import com.sunvote.cmd.ICmd; import java.io.ByteArrayOutputStream; import java.util.Arrays; /** * Created by Elvis on 2017/8/30. * Email:Eluis@psunsky.com * 版权所有:长沙中天电子设计开发有限公司 * Description:平板模块键盘投票功能模块 * * 基站应答: 字节 标识符 描述 1 BASECMD 0xE0 基站类指令应答 2 BASEID 应答的基站的编号 3 CMDTYPE 应答类型 6 确认数据包应答 4 OK 1 表示收到指令 5-29 无实际意义 */ public class ConfirmBaseBeaconResponse extends BaseCmd { private byte basecmd; private byte baseid; private byte cmdtype; private byte OK; private byte[] data = new byte[25]; @Override public byte[] toBytes() { try{ ByteArrayOutputStream stream = new ByteArrayOutputStream(); stream.write(getBasecmd()); stream.write(getBaseid()); stream.write(getCmdtype()); stream.write(getOK()); stream.write(getData()); return stream.toByteArray(); }catch (Exception ex){ ex.printStackTrace(); } return new byte[0]; } @Override public ICmd parseCmd(byte[] source, int start) { setBasecmd(source[start]); setBaseid(source[start+1]); setCmdtype(source[start+2]); setOK(source[start+4]); if(source.length > 5) { setData(Arrays.copyOfRange(source, start + 5, source.length)); } return this; } public byte getBasecmd() { return basecmd; } public void setBasecmd(byte basecmd) { this.basecmd = basecmd; } public byte getBaseid() { return baseid; } public void setBaseid(byte baseid) { this.baseid = baseid; } public byte getCmdtype() { return cmdtype; } public void setCmdtype(byte cmdtype) { this.cmdtype = cmdtype; } public byte getOK() { return OK; } public void setOK(byte OK) { this.OK = OK; } public byte[] getData() { return data; } public void setData(byte[] data) { this.data = data; } }