Skip to content

Commit c04347a

Browse files
authored
Add eventTypes printout. (#47)
* Some cleanup. * Add eventTypes interactive command.
1 parent b7fb7de commit c04347a

29 files changed

+413
-152
lines changed

silabs-pti/.classpath

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,44 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
3-
<classpathentry kind="src" output="bin/main" path="src/main/java">
3+
<classpathentry kind="src" output="bin/main"
4+
path="src/main/java">
45
<attributes>
5-
<attribute name="gradle_scope" value="main"/>
6-
<attribute name="gradle_used_by_scope" value="main,test"/>
6+
<attribute name="gradle_scope" value="main" />
7+
<attribute name="gradle_used_by_scope" value="main,test" />
78
</attributes>
89
</classpathentry>
9-
<classpathentry kind="src" output="bin/main" path="src/main/resources">
10+
<classpathentry kind="src" output="bin/main"
11+
path="src/main/resources">
1012
<attributes>
11-
<attribute name="gradle_scope" value="main"/>
12-
<attribute name="gradle_used_by_scope" value="main,test"/>
13+
<attribute name="gradle_scope" value="main" />
14+
<attribute name="gradle_used_by_scope" value="main,test" />
1315
</attributes>
1416
</classpathentry>
15-
<classpathentry kind="src" output="bin/test" path="src/test/java">
17+
<classpathentry kind="src" output="bin/test"
18+
path="src/test/java">
1619
<attributes>
17-
<attribute name="gradle_scope" value="test"/>
18-
<attribute name="gradle_used_by_scope" value="test"/>
19-
<attribute name="test" value="true"/>
20+
<attribute name="test" value="true" />
21+
<attribute name="gradle_scope" value="test" />
22+
<attribute name="gradle_used_by_scope" value="test" />
2023
</attributes>
2124
</classpathentry>
22-
<classpathentry kind="src" output="bin/test" path="src/test/resources">
25+
<classpathentry kind="src" output="bin/test"
26+
path="src/test/resources">
2327
<attributes>
24-
<attribute name="gradle_scope" value="test"/>
25-
<attribute name="gradle_used_by_scope" value="test"/>
26-
<attribute name="test" value="true"/>
28+
<attribute name="test" value="true" />
29+
<attribute name="gradle_scope" value="test" />
30+
<attribute name="gradle_used_by_scope" value="test" />
2731
</attributes>
2832
</classpathentry>
29-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
30-
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
31-
<classpathentry combineaccessrules="false" kind="src" path="/pcap"/>
32-
<classpathentry kind="output" path="bin/default"/>
33+
<classpathentry combineaccessrules="false" kind="src"
34+
path="/pcap" />
35+
<classpathentry kind="con"
36+
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
37+
<attributes>
38+
<attribute name="module" value="true" />
39+
</attributes>
40+
</classpathentry>
41+
<classpathentry kind="con"
42+
path="org.eclipse.buildship.core.gradleclasspathcontainer" />
43+
<classpathentry kind="output" path="bin/default" />
3344
</classpath>

silabs-pti/.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,15 @@
2020
<nature>org.eclipse.jdt.core.javanature</nature>
2121
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
2222
</natures>
23+
<filteredResources>
24+
<filter>
25+
<id>1703680810725</id>
26+
<name></name>
27+
<type>30</type>
28+
<matcher>
29+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
30+
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
31+
</matcher>
32+
</filter>
33+
</filteredResources>
2334
</projectDescription>

silabs-pti/.settings/org.eclipse.jdt.core.prefs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
114114
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
115115
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
116116
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
117-
org.eclipse.jdt.core.compiler.release=disabled
117+
org.eclipse.jdt.core.compiler.release=enabled
118118
org.eclipse.jdt.core.compiler.source=11
119119
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
120120
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647

silabs-pti/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.12.1
1+
1.12.2

silabs-pti/src/main/java/com/silabs/pti/Interactive.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.ArrayList;
2727
import java.util.Arrays;
2828
import java.util.Collections;
29+
import java.util.Comparator;
2930
import java.util.LinkedHashMap;
3031
import java.util.List;
3132
import java.util.Map;
@@ -40,6 +41,7 @@
4041
import com.silabs.pti.adapter.IFramer;
4142
import com.silabs.pti.adapter.TimeSynchronizer;
4243
import com.silabs.pti.debugchannel.DebugMessageConnectionListener;
44+
import com.silabs.pti.debugchannel.EventType;
4345
import com.silabs.pti.debugchannel.TextConnectionListener;
4446
import com.silabs.pti.filter.CliDebugMessageFilter;
4547
import com.silabs.pti.format.FileFormat;
@@ -177,7 +179,7 @@ public boolean quit() {
177179
public void version() {
178180
try {
179181
System.out.println(CommandLine.getVersionString());
180-
} catch (Exception e) {
182+
} catch (final Exception e) {
181183
System.out.println(e.getMessage());
182184
}
183185
}
@@ -193,9 +195,9 @@ public void filter(final String... args) {
193195
System.out.println("Valid expressions:\n" + CliDebugMessageFilter.helpText());
194196
} else {
195197
try {
196-
CliDebugMessageFilter cf = new CliDebugMessageFilter(args[0]);
198+
final CliDebugMessageFilter cf = new CliDebugMessageFilter(args[0]);
197199
this.filter = cf;
198-
} catch (ParseException pe) {
200+
} catch (final ParseException pe) {
199201
System.out.println("Filter expression error: " + pe.getMessage());
200202
}
201203
}
@@ -208,7 +210,7 @@ public void andFilter(final String... args) {
208210
} else {
209211
try {
210212
this.filter.andFilter(args[0]);
211-
} catch (ParseException pe) {
213+
} catch (final ParseException pe) {
212214
System.out.println("Filter expression error: " + pe.getMessage());
213215
}
214216
}
@@ -221,7 +223,7 @@ public void orFilter(final String... args) {
221223
} else {
222224
try {
223225
this.filter.orFilter(args[0]);
224-
} catch (ParseException pe) {
226+
} catch (final ParseException pe) {
225227
System.out.println("Filter expression error: " + pe.getMessage());
226228
}
227229
}
@@ -500,4 +502,18 @@ public void format(final String... s) {
500502
System.out.println("Current format: " + formatType.name());
501503
}
502504

505+
@Cli(help = "Print all event type")
506+
public void eventTypes(final String... s) {
507+
EventType[] types = EventType.getAllTypes();
508+
Arrays.sort(types, 0, types.length, new Comparator<EventType>() {
509+
@Override
510+
public int compare(EventType o1, EventType o2) {
511+
return o1.value() - o2.value();
512+
}
513+
});
514+
for (EventType e : types) {
515+
System.out.println("0x" + Integer.toHexString(e.value()) + " / " + e.value() + ": '" + e.name() + "', "
516+
+ e.description());
517+
}
518+
}
503519
}

silabs-pti/src/main/java/com/silabs/pti/adapter/BufferedNioConnection.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,11 @@ public BufferedNioConnection(final String host, final int port, final IConnectiv
4343
super(host, port, logger);
4444
}
4545

46-
@SuppressWarnings("resource")
4746
@Override
4847
public void connect() throws IOException {
4948
if (isConnected())
5049
return;
51-
InetSocketAddress address = new InetSocketAddress(host, port);
50+
final InetSocketAddress address = new InetSocketAddress(host, port);
5251
if (connectionEnabler != null)
5352
connectionEnabler.prepareConnection(host + ":" + port);
5453
channel = SocketChannel.open(address);
@@ -58,30 +57,30 @@ public void connect() throws IOException {
5857
@Override
5958
public void run() {
6059
logInfo("Reading thread start.");
61-
ByteBuffer buffer = ByteBuffer.allocate(100000);
60+
final ByteBuffer buffer = ByteBuffer.allocate(100000);
6261
readLoop: while (true) {
6362
try {
64-
int ret = selector.select();
63+
final int ret = selector.select();
6564
if (ret > 0) {
6665
if (selector.selectedKeys().contains(readKey)) {
6766
// We can read:
6867
buffer.rewind();
69-
int readCount = channel.read(buffer);
70-
long readTime = System.currentTimeMillis();
68+
final int readCount = channel.read(buffer);
69+
final long readTime = System.currentTimeMillis();
7170
if (readCount == -1) {
7271
// End of stream
7372
break readLoop;
7473
} else if (readCount > 0) {
75-
byte[] data = new byte[readCount];
74+
final byte[] data = new byte[readCount];
7675
buffer.rewind();
7776
buffer.get(data);
7877
processIncomingData(readTime, readCount, data);
7978
}
8079
}
8180
}
82-
} catch (ClosedSelectorException cse) {
81+
} catch (final ClosedSelectorException cse) {
8382
break readLoop;
84-
} catch (IOException ioe) {
83+
} catch (final IOException ioe) {
8584
reportProblem("Error reading data", ioe);
8685
logError("Reading thread error.", ioe);
8786
}
@@ -103,7 +102,7 @@ public void close() {
103102
logInfo("Disconnect.");
104103
channel.close();
105104
selector.close();
106-
} catch (IOException ioe) {
105+
} catch (final IOException ioe) {
107106
reportProblem("Close socket.", ioe);
108107
logError("Disconnect error.", ioe);
109108
}
@@ -118,7 +117,7 @@ public void send(final byte[] message) throws IOException {
118117
logError("Attempting to write, but socket is not connected.", null);
119118
return;
120119
}
121-
byte[] outgoing = (frameOutgoing ? outgoingFramer.frame(message) : message);
120+
final byte[] outgoing = (frameOutgoing ? outgoingFramer.frame(message) : message);
122121

123122
logInfo("Write " + outgoing.length + " bytes.");
124123
channel.write(ByteBuffer.wrap(outgoing));

silabs-pti/src/main/java/com/silabs/pti/adapter/PtiCodecFactory.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,28 @@
2020
import org.apache.mina.filter.codec.ProtocolEncoder;
2121
import org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory;
2222

23+
/**
24+
* Various classes for apache mina connectivity.
25+
*
26+
* @author Jing
27+
*/
2328
public class PtiCodecFactory extends DemuxingProtocolCodecFactory {
2429

25-
private ProtocolDecoder decoder;
26-
private ProtocolEncoder encoder;
30+
private final ProtocolDecoder decoder;
31+
private final ProtocolEncoder encoder;
2732

28-
public PtiCodecFactory(Charset charset) {
33+
public PtiCodecFactory(final Charset charset) {
2934
decoder = new PtiProtocolDecoder();
3035
encoder = new PtiProtocolEncoder(charset);
3136
}
3237

3338
@Override
34-
public ProtocolEncoder getEncoder(IoSession ioSession) throws Exception {
39+
public ProtocolEncoder getEncoder(final IoSession ioSession) throws Exception {
3540
return encoder;
3641
}
3742

3843
@Override
39-
public ProtocolDecoder getDecoder(IoSession ioSession) throws Exception {
44+
public ProtocolDecoder getDecoder(final IoSession ioSession) throws Exception {
4045
return decoder;
4146
}
4247
}

silabs-pti/src/main/java/com/silabs/pti/adapter/PtiMessageDecoder.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,22 @@
1919
import org.apache.mina.filter.codec.demux.MessageDecoderAdapter;
2020
import org.apache.mina.filter.codec.demux.MessageDecoderResult;
2121

22+
/**
23+
* Various classes for apache mina connectivity.
24+
*
25+
* @author Jing
26+
*/
2227
public class PtiMessageDecoder extends MessageDecoderAdapter {
2328

2429
@Override
25-
public MessageDecoderResult decodable(IoSession session, IoBuffer in) {
30+
public MessageDecoderResult decodable(final IoSession session, final IoBuffer in) {
2631
return MessageDecoderResult.OK;
2732
}
2833

2934
@Override
30-
public MessageDecoderResult decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
31-
byte[] array = new byte[in.remaining()];
35+
public MessageDecoderResult
36+
decode(final IoSession session, final IoBuffer in, final ProtocolDecoderOutput out) throws Exception {
37+
final byte[] array = new byte[in.remaining()];
3238
in.get(array);
3339
out.write(array);
3440
return MessageDecoderResult.OK;

silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolDecoder.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@
1818
import org.apache.mina.filter.codec.ProtocolDecoderAdapter;
1919
import org.apache.mina.filter.codec.ProtocolDecoderOutput;
2020

21+
/**
22+
* Various classes for apache mina connectivity.
23+
*
24+
* @author Jing
25+
*/
2126
public class PtiProtocolDecoder extends ProtocolDecoderAdapter {
2227
@Override
23-
public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
24-
byte[] array = new byte[in.remaining()];
28+
public void decode(final IoSession session, final IoBuffer in, final ProtocolDecoderOutput out) throws Exception {
29+
final byte[] array = new byte[in.remaining()];
2530
in.get(array);
2631
out.write(array);
2732
}

silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolEncoder.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,23 @@
2121
import org.apache.mina.filter.codec.ProtocolEncoderAdapter;
2222
import org.apache.mina.filter.codec.ProtocolEncoderOutput;
2323

24+
/**
25+
* Various classes for apache mina connectivity.
26+
*
27+
* @author Jing
28+
*/
2429
public class PtiProtocolEncoder extends ProtocolEncoderAdapter {
2530
private final Charset charset;
2631

27-
public PtiProtocolEncoder(Charset charset) {
32+
public PtiProtocolEncoder(final Charset charset) {
2833
this.charset = charset;
2934
}
3035

3136
@Override
32-
public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
33-
CharsetEncoder encoder = charset.newEncoder();
34-
String value = message == null ? "" : message.toString();
35-
IoBuffer buf = IoBuffer.allocate(value.length()).setAutoExpand(true);
37+
public void encode(final IoSession session, final Object message, final ProtocolEncoderOutput out) throws Exception {
38+
final CharsetEncoder encoder = charset.newEncoder();
39+
final String value = message == null ? "" : message.toString();
40+
final IoBuffer buf = IoBuffer.allocate(value.length()).setAutoExpand(true);
3641
buf.putString(value, encoder);
3742
buf.flip();
3843
out.write(buf);

0 commit comments

Comments
 (0)