diff --git a/silabs-pti/.classpath b/silabs-pti/.classpath
index ca589ea..0b5439f 100644
--- a/silabs-pti/.classpath
+++ b/silabs-pti/.classpath
@@ -1,33 +1,44 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/silabs-pti/.project b/silabs-pti/.project
index c6dba5f..cb62d34 100644
--- a/silabs-pti/.project
+++ b/silabs-pti/.project
@@ -20,4 +20,15 @@
org.eclipse.jdt.core.javanature
org.eclipse.buildship.core.gradleprojectnature
+
+
+ 1703680810725
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
diff --git a/silabs-pti/.settings/org.eclipse.jdt.core.prefs b/silabs-pti/.settings/org.eclipse.jdt.core.prefs
index 6e78187..0757438 100644
--- a/silabs-pti/.settings/org.eclipse.jdt.core.prefs
+++ b/silabs-pti/.settings/org.eclipse.jdt.core.prefs
@@ -114,7 +114,7 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
diff --git a/silabs-pti/VERSION b/silabs-pti/VERSION
index f8f4f03..6b89d58 100644
--- a/silabs-pti/VERSION
+++ b/silabs-pti/VERSION
@@ -1 +1 @@
-1.12.1
+1.12.2
diff --git a/silabs-pti/src/main/java/com/silabs/pti/Interactive.java b/silabs-pti/src/main/java/com/silabs/pti/Interactive.java
index 460da36..636fe57 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/Interactive.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/Interactive.java
@@ -26,6 +26,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -40,6 +41,7 @@
import com.silabs.pti.adapter.IFramer;
import com.silabs.pti.adapter.TimeSynchronizer;
import com.silabs.pti.debugchannel.DebugMessageConnectionListener;
+import com.silabs.pti.debugchannel.EventType;
import com.silabs.pti.debugchannel.TextConnectionListener;
import com.silabs.pti.filter.CliDebugMessageFilter;
import com.silabs.pti.format.FileFormat;
@@ -177,7 +179,7 @@ public boolean quit() {
public void version() {
try {
System.out.println(CommandLine.getVersionString());
- } catch (Exception e) {
+ } catch (final Exception e) {
System.out.println(e.getMessage());
}
}
@@ -193,9 +195,9 @@ public void filter(final String... args) {
System.out.println("Valid expressions:\n" + CliDebugMessageFilter.helpText());
} else {
try {
- CliDebugMessageFilter cf = new CliDebugMessageFilter(args[0]);
+ final CliDebugMessageFilter cf = new CliDebugMessageFilter(args[0]);
this.filter = cf;
- } catch (ParseException pe) {
+ } catch (final ParseException pe) {
System.out.println("Filter expression error: " + pe.getMessage());
}
}
@@ -208,7 +210,7 @@ public void andFilter(final String... args) {
} else {
try {
this.filter.andFilter(args[0]);
- } catch (ParseException pe) {
+ } catch (final ParseException pe) {
System.out.println("Filter expression error: " + pe.getMessage());
}
}
@@ -221,7 +223,7 @@ public void orFilter(final String... args) {
} else {
try {
this.filter.orFilter(args[0]);
- } catch (ParseException pe) {
+ } catch (final ParseException pe) {
System.out.println("Filter expression error: " + pe.getMessage());
}
}
@@ -500,4 +502,18 @@ public void format(final String... s) {
System.out.println("Current format: " + formatType.name());
}
+ @Cli(help = "Print all event type")
+ public void eventTypes(final String... s) {
+ EventType[] types = EventType.getAllTypes();
+ Arrays.sort(types, 0, types.length, new Comparator() {
+ @Override
+ public int compare(EventType o1, EventType o2) {
+ return o1.value() - o2.value();
+ }
+ });
+ for (EventType e : types) {
+ System.out.println("0x" + Integer.toHexString(e.value()) + " / " + e.value() + ": '" + e.name() + "', "
+ + e.description());
+ }
+ }
}
diff --git a/silabs-pti/src/main/java/com/silabs/pti/adapter/BufferedNioConnection.java b/silabs-pti/src/main/java/com/silabs/pti/adapter/BufferedNioConnection.java
index b48ca9b..9085860 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/adapter/BufferedNioConnection.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/adapter/BufferedNioConnection.java
@@ -43,12 +43,11 @@ public BufferedNioConnection(final String host, final int port, final IConnectiv
super(host, port, logger);
}
- @SuppressWarnings("resource")
@Override
public void connect() throws IOException {
if (isConnected())
return;
- InetSocketAddress address = new InetSocketAddress(host, port);
+ final InetSocketAddress address = new InetSocketAddress(host, port);
if (connectionEnabler != null)
connectionEnabler.prepareConnection(host + ":" + port);
channel = SocketChannel.open(address);
@@ -58,30 +57,30 @@ public void connect() throws IOException {
@Override
public void run() {
logInfo("Reading thread start.");
- ByteBuffer buffer = ByteBuffer.allocate(100000);
+ final ByteBuffer buffer = ByteBuffer.allocate(100000);
readLoop: while (true) {
try {
- int ret = selector.select();
+ final int ret = selector.select();
if (ret > 0) {
if (selector.selectedKeys().contains(readKey)) {
// We can read:
buffer.rewind();
- int readCount = channel.read(buffer);
- long readTime = System.currentTimeMillis();
+ final int readCount = channel.read(buffer);
+ final long readTime = System.currentTimeMillis();
if (readCount == -1) {
// End of stream
break readLoop;
} else if (readCount > 0) {
- byte[] data = new byte[readCount];
+ final byte[] data = new byte[readCount];
buffer.rewind();
buffer.get(data);
processIncomingData(readTime, readCount, data);
}
}
}
- } catch (ClosedSelectorException cse) {
+ } catch (final ClosedSelectorException cse) {
break readLoop;
- } catch (IOException ioe) {
+ } catch (final IOException ioe) {
reportProblem("Error reading data", ioe);
logError("Reading thread error.", ioe);
}
@@ -103,7 +102,7 @@ public void close() {
logInfo("Disconnect.");
channel.close();
selector.close();
- } catch (IOException ioe) {
+ } catch (final IOException ioe) {
reportProblem("Close socket.", ioe);
logError("Disconnect error.", ioe);
}
@@ -118,7 +117,7 @@ public void send(final byte[] message) throws IOException {
logError("Attempting to write, but socket is not connected.", null);
return;
}
- byte[] outgoing = (frameOutgoing ? outgoingFramer.frame(message) : message);
+ final byte[] outgoing = (frameOutgoing ? outgoingFramer.frame(message) : message);
logInfo("Write " + outgoing.length + " bytes.");
channel.write(ByteBuffer.wrap(outgoing));
diff --git a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiCodecFactory.java b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiCodecFactory.java
index 5924bf5..1943f47 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiCodecFactory.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiCodecFactory.java
@@ -20,23 +20,28 @@
import org.apache.mina.filter.codec.ProtocolEncoder;
import org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory;
+/**
+ * Various classes for apache mina connectivity.
+ *
+ * @author Jing
+ */
public class PtiCodecFactory extends DemuxingProtocolCodecFactory {
- private ProtocolDecoder decoder;
- private ProtocolEncoder encoder;
+ private final ProtocolDecoder decoder;
+ private final ProtocolEncoder encoder;
- public PtiCodecFactory(Charset charset) {
+ public PtiCodecFactory(final Charset charset) {
decoder = new PtiProtocolDecoder();
encoder = new PtiProtocolEncoder(charset);
}
@Override
- public ProtocolEncoder getEncoder(IoSession ioSession) throws Exception {
+ public ProtocolEncoder getEncoder(final IoSession ioSession) throws Exception {
return encoder;
}
@Override
- public ProtocolDecoder getDecoder(IoSession ioSession) throws Exception {
+ public ProtocolDecoder getDecoder(final IoSession ioSession) throws Exception {
return decoder;
}
}
diff --git a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiMessageDecoder.java b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiMessageDecoder.java
index a07ca9e..aa16d54 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiMessageDecoder.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiMessageDecoder.java
@@ -19,16 +19,22 @@
import org.apache.mina.filter.codec.demux.MessageDecoderAdapter;
import org.apache.mina.filter.codec.demux.MessageDecoderResult;
+/**
+ * Various classes for apache mina connectivity.
+ *
+ * @author Jing
+ */
public class PtiMessageDecoder extends MessageDecoderAdapter {
@Override
- public MessageDecoderResult decodable(IoSession session, IoBuffer in) {
+ public MessageDecoderResult decodable(final IoSession session, final IoBuffer in) {
return MessageDecoderResult.OK;
}
@Override
- public MessageDecoderResult decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
- byte[] array = new byte[in.remaining()];
+ public MessageDecoderResult
+ decode(final IoSession session, final IoBuffer in, final ProtocolDecoderOutput out) throws Exception {
+ final byte[] array = new byte[in.remaining()];
in.get(array);
out.write(array);
return MessageDecoderResult.OK;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolDecoder.java b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolDecoder.java
index 64b0ee4..35bf6b7 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolDecoder.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolDecoder.java
@@ -18,10 +18,15 @@
import org.apache.mina.filter.codec.ProtocolDecoderAdapter;
import org.apache.mina.filter.codec.ProtocolDecoderOutput;
+/**
+ * Various classes for apache mina connectivity.
+ *
+ * @author Jing
+ */
public class PtiProtocolDecoder extends ProtocolDecoderAdapter {
@Override
- public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
- byte[] array = new byte[in.remaining()];
+ public void decode(final IoSession session, final IoBuffer in, final ProtocolDecoderOutput out) throws Exception {
+ final byte[] array = new byte[in.remaining()];
in.get(array);
out.write(array);
}
diff --git a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolEncoder.java b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolEncoder.java
index ed8774e..ef203c4 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolEncoder.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/adapter/PtiProtocolEncoder.java
@@ -21,18 +21,23 @@
import org.apache.mina.filter.codec.ProtocolEncoderAdapter;
import org.apache.mina.filter.codec.ProtocolEncoderOutput;
+/**
+ * Various classes for apache mina connectivity.
+ *
+ * @author Jing
+ */
public class PtiProtocolEncoder extends ProtocolEncoderAdapter {
private final Charset charset;
- public PtiProtocolEncoder(Charset charset) {
+ public PtiProtocolEncoder(final Charset charset) {
this.charset = charset;
}
@Override
- public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
- CharsetEncoder encoder = charset.newEncoder();
- String value = message == null ? "" : message.toString();
- IoBuffer buf = IoBuffer.allocate(value.length()).setAutoExpand(true);
+ public void encode(final IoSession session, final Object message, final ProtocolEncoderOutput out) throws Exception {
+ final CharsetEncoder encoder = charset.newEncoder();
+ final String value = message == null ? "" : message.toString();
+ final IoBuffer buf = IoBuffer.allocate(value.length()).setAutoExpand(true);
buf.putString(value, encoder);
buf.flip();
out.write(buf);
diff --git a/silabs-pti/src/main/java/com/silabs/pti/debugchannel/DebugMessageType.java b/silabs-pti/src/main/java/com/silabs/pti/debugchannel/DebugMessageType.java
index d471845..a60df59 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/debugchannel/DebugMessageType.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/debugchannel/DebugMessageType.java
@@ -11,10 +11,8 @@
* sections of the MSLA applicable to Source Code.
*
******************************************************************************/
-
-
-// !!!! This file is generated via 'gradle createDebugMessageTypes' command. Please do not edit manually!!!!!
+// !!!! This file is generated via 'gradle createDebugMessageTypes' command. Please do not edit manually!!!!!
package com.silabs.pti.debugchannel;
@@ -142,10 +140,14 @@ public static DebugMessageType get(final int value) {
}
}
return DebugMessageType.INVALID;
- }
+ }
- public static int featureLevel() { return 22; }
+ public static int featureLevel() {
+ return 22;
+ }
- public static String featureDate() { return "2022.1.8"; }
+ public static String featureDate() {
+ return "2022.1.8";
+ }
}
\ No newline at end of file
diff --git a/silabs-pti/src/main/java/com/silabs/pti/debugchannel/EventType.java b/silabs-pti/src/main/java/com/silabs/pti/debugchannel/EventType.java
index 4563f04..d36d60f 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/debugchannel/EventType.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/debugchannel/EventType.java
@@ -95,9 +95,9 @@ public static final EventType fromDebugMessage(final DebugMessageType t) {
EventType et = debugMessageEventTypes[t.ordinal()];
if (et == null) {
int mask = 0;
- if (t.name().startsWith("PACKET"))
+ if (isPacket(t))
mask = MASK_PACKET;
- else if (t.name().startsWith("AEM"))
+ else if (isAem(t))
mask = MASK_AEM;
String name = t.description();
if (name.length() > MAX_NAME_LENGTH)
@@ -108,8 +108,16 @@ else if (t.name().startsWith("AEM"))
return et;
}
+ private static boolean isAem(final DebugMessageType t) {
+ return t.name().startsWith("AEM");
+ }
+
+ private static boolean isPacket(final DebugMessageType t) {
+ return t.name().startsWith("PACKET");
+ }
+
static {
- for (DebugMessageType dmt : DebugMessageType.values()) {
+ for (final DebugMessageType dmt : DebugMessageType.values()) {
if (dmt == DebugMessageType.INVALID)
continue;
fromDebugMessage(dmt);
@@ -530,8 +538,8 @@ private static EventType mkGrp(final int mask, final String name, final String d
// Retrieves or creates the event type
private static EventType
make(final int mask, final byte category, final short subtype, final String name, final String description) {
- int value = makeValue(mask, category, subtype);
- String key = "" + value;
+ final int value = makeValue(mask, category, subtype);
+ final String key = "" + value;
EventType eventType = storage.get(key);
if (eventType != null)
throw new IllegalArgumentException("Duplicate event type: " + name + "(" + mask + "/" + category + "/" + subtype
@@ -573,7 +581,7 @@ public static final EventType[] getGroups() {
* Returns all the event types. This is used by filters.
*/
public static final EventType[] getAllTypes() {
- EventType[] array = storage.values().toArray(new EventType[0]);
+ final EventType[] array = storage.values().toArray(new EventType[0]);
Arrays.sort(array);
return array;
}
@@ -739,8 +747,8 @@ public short subtype() {
// Internal method that constructs the value from individual elements
private static int makeValue(final int mask, final byte category, final short subtype) {
- int st = (0x0000FFFF & subtype);
- int ct = (0x000000FF & category) << 16;
+ final int st = (0x0000FFFF & subtype);
+ final int ct = (0x000000FF & category) << 16;
return ct | st | mask;
}
@@ -750,7 +758,7 @@ private static int makeValue(final int mask, final byte category, final short su
* @return EventType
*/
public static final EventType findByName(final String name) {
- for (EventType et : getAllTypes()) {
+ for (final EventType et : getAllTypes()) {
if (et.name().equalsIgnoreCase(name))
return et;
}
@@ -760,7 +768,7 @@ public static final EventType findByName(final String name) {
// Sorts according to name
@Override
public int compareTo(final EventType o) {
- EventType et = o;
+ final EventType et = o;
return name.compareTo(et.name);
}
@@ -785,7 +793,7 @@ public boolean equals(final Object obj) {
return false;
if (getClass() != obj.getClass())
return false;
- EventType other = (EventType) obj;
+ final EventType other = (EventType) obj;
return (value == other.value);
}
}
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/AemDecoder.java b/silabs-pti/src/main/java/com/silabs/pti/decode/AemDecoder.java
index 68ff992..041f8b3 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/AemDecoder.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/AemDecoder.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2021 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
@@ -27,14 +39,14 @@ public AemDecoder(final long time, final byte[] contents) {
// Little endian int decoding.
private int decode(final int length) {
final int offset = index;
- int val = ByteArrayUtil.byteArrayToInt(contents, offset, length, false);
+ final int val = ByteArrayUtil.byteArrayToInt(contents, offset, length, false);
index += length;
return val;
}
// Little endian float decoding.
private float decodeFloat(final int length) {
- float val = MiscUtil.byteArrayToFloat(contents, index, length, false).floatValue();
+ final float val = MiscUtil.byteArrayToFloat(contents, index, length, false).floatValue();
index += length;
return val;
}
@@ -60,10 +72,10 @@ private AemSample firstSample() {
}
private AemSample subsequentSample() {
- long sampleT = time + (1000000 * sampleCount) / sampleRate;
+ final long sampleT = time + (1000000 * sampleCount) / sampleRate;
if (notEnoughBytesLeft(AemField.current.length()))
return null;
- float current = decodeFloat(AemField.current.length());
+ final float current = decodeFloat(AemField.current.length());
sampleCount++;
return new AemSample(sampleT, current, voltage);
}
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/AemField.java b/silabs-pti/src/main/java/com/silabs/pti/decode/AemField.java
index 7f3ccb6..aa52a5c 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/AemField.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/AemField.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2021 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/Endianess.java b/silabs-pti/src/main/java/com/silabs/pti/decode/Endianess.java
index b0c1c0e..b8218ec 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/Endianess.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/Endianess.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2016 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2016 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSample.java b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSample.java
index 9a5e8c8..9b2baec 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSample.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSample.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2022 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSampleWindow.java b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSampleWindow.java
index d8c6e89..8d2cb5e 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSampleWindow.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemCurrentSampleWindow.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2017 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2017 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSample.java b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSample.java
index 8f8b86d..c57a75e 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSample.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSample.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2022 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSampleWindow.java b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSampleWindow.java
index 88411ad..11e8349 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSampleWindow.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemLogicAnalyzerSampleWindow.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2022 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemTimedSample.java b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemTimedSample.java
index 2703f37..ba28fc6 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/IAemTimedSample.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/IAemTimedSample.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2022 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldName.java b/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldName.java
index be7b6b5..40953ac 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldName.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldName.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2011 Ember Corporation. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2011 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldNameWithLength.java b/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldNameWithLength.java
index 681d3c0..29523f6 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldNameWithLength.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/IFieldNameWithLength.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2021 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/ISparseFieldEnum.java b/silabs-pti/src/main/java/com/silabs/pti/decode/ISparseFieldEnum.java
index 596bdc0..118931f 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/ISparseFieldEnum.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/ISparseFieldEnum.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2012 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2012 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/decode/LogicAnalyzerSample.java b/silabs-pti/src/main/java/com/silabs/pti/decode/LogicAnalyzerSample.java
index 546f360..765360f 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/decode/LogicAnalyzerSample.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/decode/LogicAnalyzerSample.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2022 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.decode;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryProtocol.java b/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryProtocol.java
index 7f103ca..4954613 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryProtocol.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryProtocol.java
@@ -1,4 +1,16 @@
-// Copyright 2015 Silicon Laboratories, Inc.
+/*******************************************************************************
+ * # License
+ * Copyright 2015 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.discovery;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryUtil.java b/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryUtil.java
index 9057e4d..51adb5c 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryUtil.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/discovery/DiscoveryUtil.java
@@ -42,7 +42,7 @@ public static int runDiscovery(final IDiscoveryListener listener) {
try {
discover(500, listener);
return 0;
- } catch (Exception e) {
+ } catch (final Exception e) {
e.printStackTrace();
return 1;
}
@@ -51,22 +51,22 @@ public static int runDiscovery(final IDiscoveryListener listener) {
private static void discoverIndividualAddress(final InetAddress localAddress,
final int durationMs,
final IDiscoveryListener listener) {
- String log = localAddress.getHostName();
+ final String log = localAddress.getHostName();
try (DatagramSocket socket = new DatagramSocket(0, localAddress)) {
socket.setSoTimeout(durationMs / 10);
- DatagramPacket dp = new DatagramPacket(DiscoveryProtocol.DISCOVERY_MESSAGE,
- DiscoveryProtocol.DISCOVERY_MESSAGE.length);
+ final DatagramPacket dp = new DatagramPacket(DiscoveryProtocol.DISCOVERY_MESSAGE,
+ DiscoveryProtocol.DISCOVERY_MESSAGE.length);
dp.setAddress(InetAddress.getByAddress(broadcast));
- dp.setPort(4920);
+ dp.setPort(DiscoveryProtocol.UDP_PORT);
try {
socket.send(dp);
- } catch (Exception e) {
+ } catch (final Exception e) {
System.err.println(log + ": failed to send discovery packet.");
return;
}
- byte[] inBuff = new byte[DiscoveryProtocol.RECEIVE_LENGTH];
- DatagramPacket incoming = new DatagramPacket(inBuff, inBuff.length);
+ final byte[] inBuff = new byte[DiscoveryProtocol.RECEIVE_LENGTH];
+ final DatagramPacket incoming = new DatagramPacket(inBuff, inBuff.length);
incoming.setPort(DiscoveryProtocol.UDP_PORT);
long lastDiscoverTime = System.currentTimeMillis();
do {
@@ -74,11 +74,11 @@ private static void discoverIndividualAddress(final InetAddress localAddress,
socket.receive(incoming);
lastDiscoverTime = System.currentTimeMillis();
listener.discovered(incoming);
- } catch (SocketTimeoutException ste) {
+ } catch (final SocketTimeoutException ste) {
// Not a big deal. Keep going.
}
} while (System.currentTimeMillis() - lastDiscoverTime < durationMs);
- } catch (Exception e) {
+ } catch (final Exception e) {
System.err.println(log + ": discovery failed.");
e.printStackTrace();
}
@@ -91,7 +91,7 @@ private static void discoverIndividualAddress(final InetAddress localAddress,
* @param packet
* @return map of discovery keys.
*/
- public static Map parseDiscoveryMap(DatagramPacket packet) {
+ public static Map parseDiscoveryMap(final DatagramPacket packet) {
return parseDiscoveryMap(new String(packet.getData()));
}
@@ -102,31 +102,31 @@ public static Map parseDiscoveryMap(DatagramPacket packet)
* @return map of discovery keys
*/
public static Map parseDiscoveryMap(final String info) {
- Map map = new LinkedHashMap<>();
- String[] tokens = info.split("\\n");
+ final Map map = new LinkedHashMap<>();
+ final String[] tokens = info.split("\\n");
outer: for (String token : tokens) {
token = token.trim();
- String[] subToks = token.split("=");
+ final String[] subToks = token.split("=");
if (subToks.length != 2)
continue;
// ignore values that aren't set
if (subToks[1].equals("NotSet"))
continue;
if (subToks[0].equals(DiscoveryKey.CONNECTION_TIME.key())) {
- String[] timeToken = subToks[1].split(":");
+ final String[] timeToken = subToks[1].split(":");
try {
- int day = Integer.parseInt(timeToken[0]);
- int hour = Integer.parseInt(timeToken[1]);
- int minute = Integer.parseInt(timeToken[2]);
- int second = Integer.parseInt(timeToken[3]);
- long timePassed = ((((((day * 24) + hour) * 60) + minute) * 60) + second) * 1000;
- Date connectTime = new Date((new Date()).getTime() - timePassed);
+ final int day = Integer.parseInt(timeToken[0]);
+ final int hour = Integer.parseInt(timeToken[1]);
+ final int minute = Integer.parseInt(timeToken[2]);
+ final int second = Integer.parseInt(timeToken[3]);
+ final long timePassed = ((((((day * 24) + hour) * 60) + minute) * 60) + second) * 1000;
+ final Date connectTime = new Date((new Date()).getTime() - timePassed);
map.put(DiscoveryKey.CONNECTION_TIME, connectTime.toString());
- } catch (Exception e) {
+ } catch (final Exception e) {
// Ignore bogus connection times.
}
} else {
- for (DiscoveryKey t : DiscoveryKey.values()) {
+ for (final DiscoveryKey t : DiscoveryKey.values()) {
if (t.key().equals(subToks[0])) {
map.put(t, subToks[1]);
continue outer;
@@ -139,15 +139,15 @@ public static Map parseDiscoveryMap(final String info) {
}
private static void discover(final int durationMs, final IDiscoveryListener listener) throws Exception {
- List threads = new ArrayList<>();
- List allLocalAddresses = MiscUtil.getIpAddresses();
- for (InetAddress localAddress : allLocalAddresses) {
- Runnable r = () -> discoverIndividualAddress(localAddress, durationMs, listener);
+ final List threads = new ArrayList<>();
+ final List allLocalAddresses = MiscUtil.getIpAddresses();
+ for (final InetAddress localAddress : allLocalAddresses) {
+ final Runnable r = () -> discoverIndividualAddress(localAddress, durationMs, listener);
threads.add(new Thread(r));
}
- for (Thread t : threads)
+ for (final Thread t : threads)
t.start();
- for (Thread t : threads)
+ for (final Thread t : threads)
t.join();
}
diff --git a/silabs-pti/src/main/java/com/silabs/pti/extcap/ExtcapCapture.java b/silabs-pti/src/main/java/com/silabs/pti/extcap/ExtcapCapture.java
index b7e7063..810fc17 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/extcap/ExtcapCapture.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/extcap/ExtcapCapture.java
@@ -1,3 +1,16 @@
+/*******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.extcap;
import java.io.File;
diff --git a/silabs-pti/src/main/java/com/silabs/pti/filter/CliDebugMessageFilter.java b/silabs-pti/src/main/java/com/silabs/pti/filter/CliDebugMessageFilter.java
index f15066a..0ffd24a 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/filter/CliDebugMessageFilter.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/filter/CliDebugMessageFilter.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2022 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.filter;
@@ -59,7 +71,7 @@ public boolean isMessageKept(final DebugMessage message) {
}
public static String helpText() {
- StringBuilder sb = new StringBuilder();
+ final StringBuilder sb = new StringBuilder();
sb.append(" " + FilterExpression.TYPE_IN.functionName()
+ "(x,y,z,...) - type matches one of the values specified as numbers or text\n");
sb.append(" " + FilterExpression.ORIGINATOR_IN.functionName()
@@ -84,7 +96,7 @@ enum FilterExpression {
private String fnName;
- private FilterExpression(String name) {
+ private FilterExpression(final String name) {
this.fnName = name;
}
@@ -92,8 +104,8 @@ private FilterExpression(String name) {
* Given an expression, return the appropriate FilterExpression, or null if it
* doesn't match.
*/
- public static FilterExpression locate(String expression) {
- for (FilterExpression fe : FilterExpression.values()) {
+ public static FilterExpression locate(final String expression) {
+ for (final FilterExpression fe : FilterExpression.values()) {
if (expression.startsWith(fe.functionName() + "(") && expression.endsWith(")")) {
return fe;
}
@@ -101,8 +113,8 @@ public static FilterExpression locate(String expression) {
return null;
}
- public IDebugMessageFilter createExpression(String expression) throws ParseException {
- String parenthesesContent = expression.substring(fnName.length() + 1, expression.length() - 1);
+ public IDebugMessageFilter createExpression(final String expression) throws ParseException {
+ final String parenthesesContent = expression.substring(fnName.length() + 1, expression.length() - 1);
IDebugMessageFilter dms = IDebugMessageFilter.NO_PASS_FILTER;
switch (this) {
case TYPE_IN:
@@ -132,24 +144,24 @@ public String functionName() {
class WithinFilter implements IDebugMessageFilter {
public static final int SIZE = 0;
public static final int TIME = 1;
- private int mode;
+ private final int mode;
private long lowerBound, upperBound;
- WithinFilter(int mode, String values) throws ParseException {
+ WithinFilter(final int mode, final String values) throws ParseException {
this.mode = mode;
- String[] s = values.split(Pattern.quote(","));
+ final String[] s = values.split(Pattern.quote(","));
if (s.length != 2)
throw new ParseException("Two values required: " + values, 0);
try {
lowerBound = Long.parseLong(s[0]);
upperBound = Long.parseLong(s[1]);
- } catch (NumberFormatException nfe) {
+ } catch (final NumberFormatException nfe) {
throw new ParseException("Not a number: " + values, 0);
}
}
@Override
- public boolean isMessageKept(DebugMessage message) {
+ public boolean isMessageKept(final DebugMessage message) {
switch (mode) {
case SIZE:
return (message.contentLength() >= lowerBound && message.contentLength() <= upperBound);
@@ -162,43 +174,43 @@ public boolean isMessageKept(DebugMessage message) {
}
class ContainsFilter implements IDebugMessageFilter {
- private String pattern;
+ private final String pattern;
- public ContainsFilter(String pattern) {
+ public ContainsFilter(final String pattern) {
this.pattern = pattern;
}
@Override
- public boolean isMessageKept(DebugMessage message) {
- String s = new String(message.contents());
+ public boolean isMessageKept(final DebugMessage message) {
+ final String s = new String(message.contents());
return s.contains(pattern);
}
}
class TypeInFilter implements IDebugMessageFilter {
- private List ints = new ArrayList<>();
- private List names = new ArrayList<>();
+ private final List ints = new ArrayList<>();
+ private final List names = new ArrayList<>();
- TypeInFilter(String types) {
+ TypeInFilter(final String types) {
for (String s : types.split(Pattern.quote(","))) {
s = s.toLowerCase();
try {
ints.add(MiscUtil.parseInt(s));
- } catch (NumberFormatException e) {
+ } catch (final NumberFormatException e) {
names.add(s);
}
}
}
@Override
- public boolean isMessageKept(DebugMessage message) {
- int dt = message.debugType();
- for (Integer i : ints) {
+ public boolean isMessageKept(final DebugMessage message) {
+ final int dt = message.debugType();
+ for (final Integer i : ints) {
if (dt == i)
return true;
}
- DebugMessageType dmt = DebugMessageType.get(dt);
- for (String s : names) {
+ final DebugMessageType dmt = DebugMessageType.get(dt);
+ for (final String s : names) {
if (dmt.description().toLowerCase().equals(s))
return true;
}
@@ -207,16 +219,16 @@ public boolean isMessageKept(DebugMessage message) {
}
class OriginatorInFilter implements IDebugMessageFilter {
- private String[] originators;
+ private final String[] originators;
- OriginatorInFilter(String origs) {
+ OriginatorInFilter(final String origs) {
originators = origs.split(Pattern.quote(","));
}
@Override
- public boolean isMessageKept(DebugMessage message) {
- String orig = message.originatorId();
- for (String s : originators) {
+ public boolean isMessageKept(final DebugMessage message) {
+ final String orig = message.originatorId();
+ for (final String s : originators) {
if (s.equals(orig))
return true;
}
@@ -238,7 +250,7 @@ class DebugMessageFilterExpression implements IDebugMessageFilter {
public DebugMessageFilterExpression(final int op, final String expression) throws ParseException {
this.operator = op;
- String exp = expression.strip();
+ final String exp = expression.strip();
if (exp.startsWith("!")) {
this.negated = true;
parseExpression(exp.substring(1).strip());
@@ -248,7 +260,7 @@ public DebugMessageFilterExpression(final int op, final String expression) throw
}
}
- private void parseExpression(String expression) throws ParseException {
+ private void parseExpression(final String expression) throws ParseException {
FilterExpression fexp = null;
if ("true".equals(expression)) {
expressionFilter = IDebugMessageFilter.ALL_PASS_FILTER;
@@ -262,7 +274,7 @@ private void parseExpression(String expression) throws ParseException {
}
@Override
- public boolean isMessageKept(DebugMessage message) {
+ public boolean isMessageKept(final DebugMessage message) {
boolean evaluatedExpression = expressionFilter.isMessageKept(message);
if (negated) {
evaluatedExpression = !evaluatedExpression;
@@ -283,8 +295,8 @@ public int operator() {
return operator;
}
- public void and(String expression) throws ParseException {
- DebugMessageFilterExpression dmf = new DebugMessageFilterExpression(AND, expression);
+ public void and(final String expression) throws ParseException {
+ final DebugMessageFilterExpression dmf = new DebugMessageFilterExpression(AND, expression);
if (next == null) {
next = dmf;
} else {
@@ -295,8 +307,8 @@ public void and(String expression) throws ParseException {
}
}
- public void or(String expression) throws ParseException {
- DebugMessageFilterExpression dmf = new DebugMessageFilterExpression(OR, expression);
+ public void or(final String expression) throws ParseException {
+ final DebugMessageFilterExpression dmf = new DebugMessageFilterExpression(OR, expression);
if (next == null) {
next = dmf;
} else {
diff --git a/silabs-pti/src/main/java/com/silabs/pti/filter/IDebugMessageFilter.java b/silabs-pti/src/main/java/com/silabs/pti/filter/IDebugMessageFilter.java
index 9ccd2c4..b43c52c 100644
--- a/silabs-pti/src/main/java/com/silabs/pti/filter/IDebugMessageFilter.java
+++ b/silabs-pti/src/main/java/com/silabs/pti/filter/IDebugMessageFilter.java
@@ -1,4 +1,16 @@
-// Copyright (c) 2022 Silicon Labs. All rights reserved.
+/*******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
package com.silabs.pti.filter;