package com.example.mina.client.box.lte3000; import com.example.mina.client.base.AbstractClient; import com.example.mina.client.entity.AbstractClientMessage; import com.example.mina.client.entity.Command; import com.example.mina.client.entity.Lte3000Message; import com.example.mina.server.entity.Lte3000DataBuffer; import com.example.mina.server.util.Lte3000CommandHelper; /** * @author dy * @date 2021/3/10 */ public class Lte3000Client extends AbstractClient { @Override protected void init(AbstractClientMessage abstractClientMessage) { protocolCodecFactory = new Lte3000ByteFactory(); abstractVirtualBoxClientHandler = new Lte3000ClientHandler(abstractClientMessage, hardwareDataBuffer); } @Override protected void initHardwareDataBuffer() { hardwareDataBuffer = new Lte3000DataBuffer(32, 32, 30); } @Override protected void initClientMessage() { abstractClientMessage = new Lte3000Message(); abstractClientMessage.setHost("localhost"); abstractClientMessage.setPort(9102); for (int i = 0; i < this.hardwareDataBuffer.getMaxRow(); i++) { abstractClientMessage.getCommands().add(new Command("", Lte3000CommandHelper.genCommandGetCross(i + 1))); } // query attenuation // the LTE attenuation is bound to column for (int j = 0; j < this.hardwareDataBuffer.getMaxCol(); j++) { abstractClientMessage.getCommands().add(new Command("", Lte3000CommandHelper.genCommandGetAttn(j + 1))); } } public void setAttenuation(int row, int col, int atten) { //ioSession.write("abcdfd".getBytes()); byte[] cmd; if (row == 0) { cmd = Lte3000CommandHelper.genCommandSetAttn(col, atten); }else{ cmd = Lte3000CommandHelper.genCommandSetCross(row, col); } ioSession.write(cmd); } public int getAttenuation(int col) { return hardwareDataBuffer.getOffset(col); } @Override public Boolean reset() { return null; } @Override public int[][] getAll() { return new int[0][]; } }