Lte3000Client.java
3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package com.example.mina.client.box.lte3000;
import com.example.mina.client.base.AbstractClient;
import com.example.mina.client.entity.ClientDTO;
import com.example.mina.client.entity.Command;
import com.example.mina.client.entity.Lte3000Message;
import com.example.mina.client.entity.ServerMessage;
import com.example.mina.server.entity.Entry;
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() {
ServerMessage serverMessage = serverService.getServerService(this.getClass().getSimpleName());
hardwareDataBuffer = new Lte3000DataBuffer(32, 32, 30);
abstractClientMessage = new Lte3000Message();
abstractClientMessage.setServerMessage(serverMessage);
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)));
}
protocolCodecFactory = new Lte3000ByteFactory();
abstractVirtualBoxClientHandler = new Lte3000ClientHandler(abstractClientMessage, hardwareDataBuffer);
}
@Override
public void test(ClientDTO clientDTO) {
boolean a = isCrossPointOn(clientDTO.getRow(),clientDTO.getCol());
int c = getAttenuation(clientDTO.getCol());
byte[] bytes = genCloseCommand();
Entry[][] entries =getMatrix();
Entry[] entry =getOffsetData();
int q = getAttenuation(clientDTO.getCol());
clientDTO.setRow(0);
setAttenuation(clientDTO);
int w = getAttenuation(clientDTO.getCol());
}
@Override
public void setAttenuation(ClientDTO clientDTO) {
byte[] cmd;
if (clientDTO.getRow() == 0) {
cmd = Lte3000CommandHelper.genCommandSetAttn(clientDTO.getCol(), clientDTO.getMaxAttn());
} else {
cmd = Lte3000CommandHelper.genCommandSetCross(clientDTO.getRow(), clientDTO.getCol());
}
ioSession.write(cmd);
}
public boolean isCrossPointOn(int row, int col) {
return hardwareDataBuffer.getAttenuation(row, col) >= 1;
}
@Override
public int getAttenuation(int col) {
return hardwareDataBuffer.getOffset(col);
}
public byte[] genCloseCommand(){
return Lte3000CommandHelper.genCommandGetCross(1);
}
public Entry[][] getMatrix(){
return hardwareDataBuffer.getMatrixData();
}
public Entry[] getOffsetData(){
return hardwareDataBuffer.getOffsetData();
}
/*@Override
public Boolean reset() {
return null;
}
@Override
public int[][] getAll() {
return new int[0][];
}*/
}