Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 91 → Rev 92

/Android Development/IOIODebuggerServer/src/ioio/debugger/server/Debug Protocol Details.txt
0,0 → 1,24
Network Debug Protocol Message Type Details:
 
Type# Description
1 General ACK_SUCCESS
2 General ACK_FAILURE
 
 
10 Check if connection is ok
11 Connection ok response
12 Connection not ok response
13 Reset board (hard reset)
 
50 Start pin
Type: InAnalog Pin:# Freq:#
Type: InDigital Pin:# Freq:# Mode:[Float/Pull Up/Pull Down]
Type: OutDigital Pin:# State:[Low/High] Boolean:[True/False]
51 Stop pin
Pin:#
52 Remove pin
Pin:#
70 Send new data
Pin:# Data:#
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/IOIODebuggerServer.java
0,0 → 1,33
package ioio.debugger.server;
 
import java.net.InetSocketAddress;
import java.util.concurrent.Executors;
 
import org.jboss.netty.bootstrap.ServerBootstrap;
import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;
 
public class IOIODebuggerServer {
 
private ServerBootstrap bootstrap;
private IOIODebuggerServerPipelineFactory pipeline;
public IOIODebuggerServer(int port) {
pipeline = new IOIODebuggerServerPipelineFactory();
// Configure the server.
bootstrap = new ServerBootstrap(
new NioServerSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool()));
 
// Configure the pipeline factory.
bootstrap.setPipelineFactory(pipeline);
 
// Bind and start to accept incoming connections.
bootstrap.bind(new InetSocketAddress(port));
}
public IOIODebuggerServerPipelineFactory getPipeline() {
return pipeline;
}
}
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/IOIODebuggerServerHandler.java
0,0 → 1,231
/**************************************************************************
* Copyright 2011 Jules White
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
***************************************************************************/
package ioio.debugger.server;
 
import ioio.debugger.server.NetworkIOIOProtocol.Message;
import ioio.debugger.server.NetworkIOIOProtocol.Message.Builder;
import ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage;
 
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
 
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelEvent;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ChannelStateEvent;
import org.jboss.netty.channel.ExceptionEvent;
import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.channel.SimpleChannelUpstreamHandler;
import org.jboss.netty.channel.group.ChannelGroup;
import org.jboss.netty.channel.group.DefaultChannelGroup;
 
public class IOIODebuggerServerHandler extends SimpleChannelUpstreamHandler {
 
private static final Logger logger = Logger.getLogger(IOIODebuggerServerHandler.class.getName());
 
static final ChannelGroup channels = new DefaultChannelGroup();
 
private ServerHelper helperClass;
private boolean clientConnected;
public void setServerHelper(ServerHelper helper) {
helperClass = helper;
}
@Override
public void handleUpstream(ChannelHandlerContext ctx, ChannelEvent e)
throws Exception {
if (e instanceof ChannelStateEvent) {
logger.info(e.toString());
}
super.handleUpstream(ctx, e);
}
 
public void broadcast(TrackingMessage msg) {
for (Channel c : channels) {
c.write(msg);
}
}
@Override
public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e)
throws Exception {
 
channels.add(e.getChannel());
}
 
@Override
public void channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {
// Unregister the channel from the global channel list
// so the channel does not receive messages anymore.
channels.remove(e.getChannel());
clientConnected = false;
}
 
@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {
TrackingMessage tmsg = (TrackingMessage) e.getMessage();
List<Message> msgList;
// Handle each message depending on the type
switch (tmsg.getType()) {
case 10:
// If there are no clients connected, reply with an ok reponse
if (!clientConnected) {
System.out.println("No clients currently connected, allowing connection");
clientConnected = true;
TrackingMessage newMsg = TrackingMessage.newBuilder()
.setId(0)
.setType(11)
.build();
e.getChannel().write(newMsg);
// Otherwise reply with an error response
} else {
System.out.println("Client currently connected, rejecting connection");
TrackingMessage newMsg = TrackingMessage.newBuilder()
.setId(0)
.setType(12)
.build();
e.getChannel().write(newMsg);
}
break;
case 50:
msgList = tmsg.getMessageList();
for (Message msg : msgList) {
if (msg.getType().compareTo("InAnalog") == 0) {
helperClass.AddNewAnalogIn(msg.getPin(), msg.getFreq());
} else if (msg.getType().compareTo("InDigital") == 0) {
helperClass.AddNewDigitalIn(msg.getPin(), msg.getFreq(), msg.getMode());
} else if (msg.getType().compareTo("OutDigital") == 0) {
helperClass.AddNewDigitalOut(msg.getPin(), msg.getState(), msg.getBoolean());
}
}
break;
case 51:
msgList = tmsg.getMessageList();
for (Message msg : msgList) {
helperClass.StopPin(msg.getPin());
}
break;
case 52:
msgList = tmsg.getMessageList();
for (Message msg : msgList) {
helperClass.RemovePin(msg.getPin());
}
break;
case 70:
msgList = tmsg.getMessageList();
for (Message msg : msgList) {
List<Double> dataList = msg.getDataList();
helperClass.DataRecieved(msg.getPin(), dataList);
}
break;
}
}
 
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) {
logger.log(Level.WARNING, "Unexpected exception from downstream.",
e.getCause());
e.getChannel().close();
}
/** Queries if clients are currently connected to the server
*
* @return true if there are clients connected, false otherwise
* */
public boolean areClientsConnected() {
return clientConnected;
}
/** Sends a command to the client to add a new analog input
*
* @param pin - Pin number to add
* @param freq - Frequency that pin should update
*/
public void sendAddNewAnalogIn(int pin, long freq) {
System.out.println("Sending command to add new analog input Pin: " + pin + " Freq: " + freq);
Builder message = Message.newBuilder()
.setPin(pin)
.setFreq(freq)
.setType("InAnalog");
TrackingMessage newMsg = TrackingMessage.newBuilder()
.setId(0)
.setType(50)
.addMessage(message)
.build();
broadcast(newMsg);
}
/** Sends a command to the client to add a new digital input
*
* @param pin - Pin number to add
* @param freq - Frequency that pin should update
* @param mode - Mode that pin should be started in [Float/Pull Up/Pull Down]
*/
public void sendAddNewDigitalIn(int pin, long freq, String mode) {
System.out.println("Sending command to add new digital input Pin: " + pin + " Freq: " + freq + "Mode: " + mode);
Builder message = Message.newBuilder()
.setPin(pin)
.setFreq(freq)
.setMode(mode)
.setType("InDigital");
TrackingMessage newMsg = TrackingMessage.newBuilder()
.setId(0)
.setType(50)
.addMessage(message)
.build();
broadcast(newMsg);
}
/** Sends a command to the client to add a new digital output
*
* @param pin - Pin number to add
* @param state - Initial state of pin [Low/High]
* @param openDrain - Option to start pin in open drain mode [true if yes, false if no]
*/
public void sendAddNewDigitalOut(int pin, String state, boolean openDrain) {
System.out.println("Sending command to add new analog input Pin: " + pin + " InitialState: " + state + " OpenDrainMode: " + openDrain);
Builder message = Message.newBuilder()
.setPin(pin)
.setState(state)
.setBoolean(openDrain)
.setType("OutDigital");
TrackingMessage newMsg = TrackingMessage.newBuilder()
.setId(0)
.setType(50)
.addMessage(message)
.build();
broadcast(newMsg);
}
/** Sends a command to the client to execute a hard reset */
public void sendHardReset() {
TrackingMessage newMsg = TrackingMessage.newBuilder()
.setId(0)
.setType(13)
.build();
broadcast(newMsg);
}
}
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/IOIODebuggerServerPipelineFactory.java
0,0 → 1,65
/**************************************************************************
* Copyright 2011 Jules White
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
***************************************************************************/
package ioio.debugger.server;
 
import static org.jboss.netty.channel.Channels.*;
 
import org.jboss.netty.channel.ChannelPipeline;
import org.jboss.netty.channel.ChannelPipelineFactory;
import org.jboss.netty.handler.codec.protobuf.ProtobufDecoder;
import org.jboss.netty.handler.codec.protobuf.ProtobufEncoder;
import org.jboss.netty.handler.codec.protobuf.ProtobufVarint32FrameDecoder;
import org.jboss.netty.handler.codec.protobuf.ProtobufVarint32LengthFieldPrepender;
 
/**
* Creates a newly configured {@link ChannelPipeline} for a new channel.
*
* @author <a href="http://www.jboss.org/netty/">The Netty Project</a>
* @author <a href="http://gleamynode.net/">Trustin Lee</a>
*
* @version $Rev: 2080 $, $Date: 2010-01-26 18:04:19 +0900 (Tue, 26 Jan 2010) $
*
*/
public class IOIODebuggerServerPipelineFactory implements ChannelPipelineFactory {
 
private IOIODebuggerServerHandler handler;
public IOIODebuggerServerPipelineFactory() {
handler = new IOIODebuggerServerHandler();
}
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = pipeline();
 
 
pipeline.addLast("frameDecoder", new ProtobufVarint32FrameDecoder());
pipeline.addLast("protobufDecoder", new ProtobufDecoder(
NetworkIOIOProtocol.TrackingMessage.getDefaultInstance()));
 
pipeline.addLast("frameEncoder",
new ProtobufVarint32LengthFieldPrepender());
pipeline.addLast("protobufEncoder", new ProtobufEncoder());
 
// and then business logic.
pipeline.addLast("handler", handler);
 
return pipeline;
}
public IOIODebuggerServerHandler getUpstreamHandler() {
return handler;
}
}
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/Main.java
0,0 → 1,63
package ioio.debugger.server;
 
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
 
public class Main {
 
/**
* @param args
*/
public static void main(String[] args) {
/** Dont Change **/
// Initialize and start the server
IOIODebuggerServer server = new IOIODebuggerServer(8080);
// Setup the message handler class
IOIODebuggerServerHandler msgHandler = server.getPipeline().getUpstreamHandler();
final ServerHelper msgHelper = new ServerHelper(msgHandler);
msgHandler.setServerHelper(msgHelper);
/** Dont Change **/
/** Initialize the GUI here **/
// I would suggest you pass msgHelper into your GUI so you can call its functions
/** Initialize the GUI here **/
/** Test/Example Code **/
try {
while (true) {
byte[] b = new byte[100];
System.in.read(b);
msgHelper.sendAddNewAnalogIn(40, 5000);
System.in.read(b);
msgHelper.sendAddNewAnalogIn(41, 5000);
System.in.read(b);
msgHelper.sendAddNewDigitalIn(20, 5000, "Float");
System.in.read(b);
msgHelper.sendAddNewDigitalIn(21, 5000, "Pull Up");
System.in.read(b);
msgHelper.sendAddNewDigitalIn(22, 5000, "Pull Down");
System.in.read(b);
msgHelper.sendAddNewDigitalOut(1, "Low", true);
System.in.read(b);
msgHelper.sendAddNewDigitalOut(2, "High", false);
System.in.read(b);
msgHelper.sendHardReset();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/** Test/Example Code **/
}
 
}
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/NetworkIOIOProtocol.java
0,0 → 1,1592
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: NetworkIOIOProtocol.proto
 
package ioio.debugger.server;
 
public final class NetworkIOIOProtocol {
private NetworkIOIOProtocol() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
}
public interface TrackingMessageOrBuilder
extends com.google.protobuf.MessageOrBuilder {
// required int32 id = 1;
boolean hasId();
int getId();
// required int32 type = 2;
boolean hasType();
int getType();
// repeated .ioio.debugger.server.Message message = 3;
java.util.List<ioio.debugger.server.NetworkIOIOProtocol.Message>
getMessageList();
ioio.debugger.server.NetworkIOIOProtocol.Message getMessage(int index);
int getMessageCount();
java.util.List<? extends ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder>
getMessageOrBuilderList();
ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder getMessageOrBuilder(
int index);
}
public static final class TrackingMessage extends
com.google.protobuf.GeneratedMessage
implements TrackingMessageOrBuilder {
// Use TrackingMessage.newBuilder() to construct.
private TrackingMessage(Builder builder) {
super(builder);
}
private TrackingMessage(boolean noInit) {}
private static final TrackingMessage defaultInstance;
public static TrackingMessage getDefaultInstance() {
return defaultInstance;
}
public TrackingMessage getDefaultInstanceForType() {
return defaultInstance;
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_TrackingMessage_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_TrackingMessage_fieldAccessorTable;
}
private int bitField0_;
// required int32 id = 1;
public static final int ID_FIELD_NUMBER = 1;
private int id_;
public boolean hasId() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
public int getId() {
return id_;
}
// required int32 type = 2;
public static final int TYPE_FIELD_NUMBER = 2;
private int type_;
public boolean hasType() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
public int getType() {
return type_;
}
// repeated .ioio.debugger.server.Message message = 3;
public static final int MESSAGE_FIELD_NUMBER = 3;
private java.util.List<ioio.debugger.server.NetworkIOIOProtocol.Message> message_;
public java.util.List<ioio.debugger.server.NetworkIOIOProtocol.Message> getMessageList() {
return message_;
}
public java.util.List<? extends ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder>
getMessageOrBuilderList() {
return message_;
}
public int getMessageCount() {
return message_.size();
}
public ioio.debugger.server.NetworkIOIOProtocol.Message getMessage(int index) {
return message_.get(index);
}
public ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder getMessageOrBuilder(
int index) {
return message_.get(index);
}
private void initFields() {
id_ = 0;
type_ = 0;
message_ = java.util.Collections.emptyList();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized != -1) return isInitialized == 1;
if (!hasId()) {
memoizedIsInitialized = 0;
return false;
}
if (!hasType()) {
memoizedIsInitialized = 0;
return false;
}
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
getSerializedSize();
if (((bitField0_ & 0x00000001) == 0x00000001)) {
output.writeInt32(1, id_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
output.writeInt32(2, type_);
}
for (int i = 0; i < message_.size(); i++) {
output.writeMessage(3, message_.get(i));
}
getUnknownFields().writeTo(output);
}
private int memoizedSerializedSize = -1;
public int getSerializedSize() {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (((bitField0_ & 0x00000001) == 0x00000001)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(1, id_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(2, type_);
}
for (int i = 0; i < message_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(3, message_.get(i));
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
@java.lang.Override
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException {
return super.writeReplace();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data, extensionRegistry)
.buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data, extensionRegistry)
.buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(java.io.InputStream input)
throws java.io.IOException {
return newBuilder().mergeFrom(input).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return newBuilder().mergeFrom(input, extensionRegistry)
.buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
Builder builder = newBuilder();
if (builder.mergeDelimitedFrom(input)) {
return builder.buildParsed();
} else {
return null;
}
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
Builder builder = newBuilder();
if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
return builder.buildParsed();
} else {
return null;
}
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return newBuilder().mergeFrom(input).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return newBuilder().mergeFrom(input, extensionRegistry)
.buildParsed();
}
public static Builder newBuilder() { return Builder.create(); }
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder(ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage prototype) {
return newBuilder().mergeFrom(prototype);
}
public Builder toBuilder() { return newBuilder(this); }
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder>
implements ioio.debugger.server.NetworkIOIOProtocol.TrackingMessageOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_TrackingMessage_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_TrackingMessage_fieldAccessorTable;
}
// Construct using ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
getMessageFieldBuilder();
}
}
private static Builder create() {
return new Builder();
}
public Builder clear() {
super.clear();
id_ = 0;
bitField0_ = (bitField0_ & ~0x00000001);
type_ = 0;
bitField0_ = (bitField0_ & ~0x00000002);
if (messageBuilder_ == null) {
message_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000004);
} else {
messageBuilder_.clear();
}
return this;
}
public Builder clone() {
return create().mergeFrom(buildPartial());
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage.getDescriptor();
}
public ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage getDefaultInstanceForType() {
return ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage.getDefaultInstance();
}
public ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage build() {
ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
private ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage buildParsed()
throws com.google.protobuf.InvalidProtocolBufferException {
ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(
result).asInvalidProtocolBufferException();
}
return result;
}
public ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage buildPartial() {
ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage result = new ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
to_bitField0_ |= 0x00000001;
}
result.id_ = id_;
if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
to_bitField0_ |= 0x00000002;
}
result.type_ = type_;
if (messageBuilder_ == null) {
if (((bitField0_ & 0x00000004) == 0x00000004)) {
message_ = java.util.Collections.unmodifiableList(message_);
bitField0_ = (bitField0_ & ~0x00000004);
}
result.message_ = message_;
} else {
result.message_ = messageBuilder_.build();
}
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage) {
return mergeFrom((ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage other) {
if (other == ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage.getDefaultInstance()) return this;
if (other.hasId()) {
setId(other.getId());
}
if (other.hasType()) {
setType(other.getType());
}
if (messageBuilder_ == null) {
if (!other.message_.isEmpty()) {
if (message_.isEmpty()) {
message_ = other.message_;
bitField0_ = (bitField0_ & ~0x00000004);
} else {
ensureMessageIsMutable();
message_.addAll(other.message_);
}
onChanged();
}
} else {
if (!other.message_.isEmpty()) {
if (messageBuilder_.isEmpty()) {
messageBuilder_.dispose();
messageBuilder_ = null;
message_ = other.message_;
bitField0_ = (bitField0_ & ~0x00000004);
messageBuilder_ =
com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
getMessageFieldBuilder() : null;
} else {
messageBuilder_.addAllMessages(other.message_);
}
}
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
public final boolean isInitialized() {
if (!hasId()) {
return false;
}
if (!hasType()) {
return false;
}
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder(
this.getUnknownFields());
while (true) {
int tag = input.readTag();
switch (tag) {
case 0:
this.setUnknownFields(unknownFields.build());
onChanged();
return this;
default: {
if (!parseUnknownField(input, unknownFields,
extensionRegistry, tag)) {
this.setUnknownFields(unknownFields.build());
onChanged();
return this;
}
break;
}
case 8: {
bitField0_ |= 0x00000001;
id_ = input.readInt32();
break;
}
case 16: {
bitField0_ |= 0x00000002;
type_ = input.readInt32();
break;
}
case 26: {
ioio.debugger.server.NetworkIOIOProtocol.Message.Builder subBuilder = ioio.debugger.server.NetworkIOIOProtocol.Message.newBuilder();
input.readMessage(subBuilder, extensionRegistry);
addMessage(subBuilder.buildPartial());
break;
}
}
}
}
private int bitField0_;
// required int32 id = 1;
private int id_ ;
public boolean hasId() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
public int getId() {
return id_;
}
public Builder setId(int value) {
bitField0_ |= 0x00000001;
id_ = value;
onChanged();
return this;
}
public Builder clearId() {
bitField0_ = (bitField0_ & ~0x00000001);
id_ = 0;
onChanged();
return this;
}
// required int32 type = 2;
private int type_ ;
public boolean hasType() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
public int getType() {
return type_;
}
public Builder setType(int value) {
bitField0_ |= 0x00000002;
type_ = value;
onChanged();
return this;
}
public Builder clearType() {
bitField0_ = (bitField0_ & ~0x00000002);
type_ = 0;
onChanged();
return this;
}
// repeated .ioio.debugger.server.Message message = 3;
private java.util.List<ioio.debugger.server.NetworkIOIOProtocol.Message> message_ =
java.util.Collections.emptyList();
private void ensureMessageIsMutable() {
if (!((bitField0_ & 0x00000004) == 0x00000004)) {
message_ = new java.util.ArrayList<ioio.debugger.server.NetworkIOIOProtocol.Message>(message_);
bitField0_ |= 0x00000004;
}
}
private com.google.protobuf.RepeatedFieldBuilder<
ioio.debugger.server.NetworkIOIOProtocol.Message, ioio.debugger.server.NetworkIOIOProtocol.Message.Builder, ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder> messageBuilder_;
public java.util.List<ioio.debugger.server.NetworkIOIOProtocol.Message> getMessageList() {
if (messageBuilder_ == null) {
return java.util.Collections.unmodifiableList(message_);
} else {
return messageBuilder_.getMessageList();
}
}
public int getMessageCount() {
if (messageBuilder_ == null) {
return message_.size();
} else {
return messageBuilder_.getCount();
}
}
public ioio.debugger.server.NetworkIOIOProtocol.Message getMessage(int index) {
if (messageBuilder_ == null) {
return message_.get(index);
} else {
return messageBuilder_.getMessage(index);
}
}
public Builder setMessage(
int index, ioio.debugger.server.NetworkIOIOProtocol.Message value) {
if (messageBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureMessageIsMutable();
message_.set(index, value);
onChanged();
} else {
messageBuilder_.setMessage(index, value);
}
return this;
}
public Builder setMessage(
int index, ioio.debugger.server.NetworkIOIOProtocol.Message.Builder builderForValue) {
if (messageBuilder_ == null) {
ensureMessageIsMutable();
message_.set(index, builderForValue.build());
onChanged();
} else {
messageBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
public Builder addMessage(ioio.debugger.server.NetworkIOIOProtocol.Message value) {
if (messageBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureMessageIsMutable();
message_.add(value);
onChanged();
} else {
messageBuilder_.addMessage(value);
}
return this;
}
public Builder addMessage(
int index, ioio.debugger.server.NetworkIOIOProtocol.Message value) {
if (messageBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureMessageIsMutable();
message_.add(index, value);
onChanged();
} else {
messageBuilder_.addMessage(index, value);
}
return this;
}
public Builder addMessage(
ioio.debugger.server.NetworkIOIOProtocol.Message.Builder builderForValue) {
if (messageBuilder_ == null) {
ensureMessageIsMutable();
message_.add(builderForValue.build());
onChanged();
} else {
messageBuilder_.addMessage(builderForValue.build());
}
return this;
}
public Builder addMessage(
int index, ioio.debugger.server.NetworkIOIOProtocol.Message.Builder builderForValue) {
if (messageBuilder_ == null) {
ensureMessageIsMutable();
message_.add(index, builderForValue.build());
onChanged();
} else {
messageBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
public Builder addAllMessage(
java.lang.Iterable<? extends ioio.debugger.server.NetworkIOIOProtocol.Message> values) {
if (messageBuilder_ == null) {
ensureMessageIsMutable();
super.addAll(values, message_);
onChanged();
} else {
messageBuilder_.addAllMessages(values);
}
return this;
}
public Builder clearMessage() {
if (messageBuilder_ == null) {
message_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000004);
onChanged();
} else {
messageBuilder_.clear();
}
return this;
}
public Builder removeMessage(int index) {
if (messageBuilder_ == null) {
ensureMessageIsMutable();
message_.remove(index);
onChanged();
} else {
messageBuilder_.remove(index);
}
return this;
}
public ioio.debugger.server.NetworkIOIOProtocol.Message.Builder getMessageBuilder(
int index) {
return getMessageFieldBuilder().getBuilder(index);
}
public ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder getMessageOrBuilder(
int index) {
if (messageBuilder_ == null) {
return message_.get(index); } else {
return messageBuilder_.getMessageOrBuilder(index);
}
}
public java.util.List<? extends ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder>
getMessageOrBuilderList() {
if (messageBuilder_ != null) {
return messageBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(message_);
}
}
public ioio.debugger.server.NetworkIOIOProtocol.Message.Builder addMessageBuilder() {
return getMessageFieldBuilder().addBuilder(
ioio.debugger.server.NetworkIOIOProtocol.Message.getDefaultInstance());
}
public ioio.debugger.server.NetworkIOIOProtocol.Message.Builder addMessageBuilder(
int index) {
return getMessageFieldBuilder().addBuilder(
index, ioio.debugger.server.NetworkIOIOProtocol.Message.getDefaultInstance());
}
public java.util.List<ioio.debugger.server.NetworkIOIOProtocol.Message.Builder>
getMessageBuilderList() {
return getMessageFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilder<
ioio.debugger.server.NetworkIOIOProtocol.Message, ioio.debugger.server.NetworkIOIOProtocol.Message.Builder, ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder>
getMessageFieldBuilder() {
if (messageBuilder_ == null) {
messageBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
ioio.debugger.server.NetworkIOIOProtocol.Message, ioio.debugger.server.NetworkIOIOProtocol.Message.Builder, ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder>(
message_,
((bitField0_ & 0x00000004) == 0x00000004),
getParentForChildren(),
isClean());
message_ = null;
}
return messageBuilder_;
}
// @@protoc_insertion_point(builder_scope:ioio.debugger.server.TrackingMessage)
}
static {
defaultInstance = new TrackingMessage(true);
defaultInstance.initFields();
}
// @@protoc_insertion_point(class_scope:ioio.debugger.server.TrackingMessage)
}
public interface MessageOrBuilder
extends com.google.protobuf.MessageOrBuilder {
// optional int32 pin = 1;
boolean hasPin();
int getPin();
// repeated double data = 2;
java.util.List<java.lang.Double> getDataList();
int getDataCount();
double getData(int index);
// optional string type = 3;
boolean hasType();
String getType();
// optional int64 freq = 4;
boolean hasFreq();
long getFreq();
// optional string mode = 5;
boolean hasMode();
String getMode();
// optional string state = 6;
boolean hasState();
String getState();
// optional bool boolean = 7;
boolean hasBoolean();
boolean getBoolean();
}
public static final class Message extends
com.google.protobuf.GeneratedMessage
implements MessageOrBuilder {
// Use Message.newBuilder() to construct.
private Message(Builder builder) {
super(builder);
}
private Message(boolean noInit) {}
private static final Message defaultInstance;
public static Message getDefaultInstance() {
return defaultInstance;
}
public Message getDefaultInstanceForType() {
return defaultInstance;
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_Message_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_Message_fieldAccessorTable;
}
private int bitField0_;
// optional int32 pin = 1;
public static final int PIN_FIELD_NUMBER = 1;
private int pin_;
public boolean hasPin() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
public int getPin() {
return pin_;
}
// repeated double data = 2;
public static final int DATA_FIELD_NUMBER = 2;
private java.util.List<java.lang.Double> data_;
public java.util.List<java.lang.Double>
getDataList() {
return data_;
}
public int getDataCount() {
return data_.size();
}
public double getData(int index) {
return data_.get(index);
}
// optional string type = 3;
public static final int TYPE_FIELD_NUMBER = 3;
private java.lang.Object type_;
public boolean hasType() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
public String getType() {
java.lang.Object ref = type_;
if (ref instanceof String) {
return (String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
String s = bs.toStringUtf8();
if (com.google.protobuf.Internal.isValidUtf8(bs)) {
type_ = s;
}
return s;
}
}
private com.google.protobuf.ByteString getTypeBytes() {
java.lang.Object ref = type_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((String) ref);
type_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
// optional int64 freq = 4;
public static final int FREQ_FIELD_NUMBER = 4;
private long freq_;
public boolean hasFreq() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
public long getFreq() {
return freq_;
}
// optional string mode = 5;
public static final int MODE_FIELD_NUMBER = 5;
private java.lang.Object mode_;
public boolean hasMode() {
return ((bitField0_ & 0x00000008) == 0x00000008);
}
public String getMode() {
java.lang.Object ref = mode_;
if (ref instanceof String) {
return (String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
String s = bs.toStringUtf8();
if (com.google.protobuf.Internal.isValidUtf8(bs)) {
mode_ = s;
}
return s;
}
}
private com.google.protobuf.ByteString getModeBytes() {
java.lang.Object ref = mode_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((String) ref);
mode_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
// optional string state = 6;
public static final int STATE_FIELD_NUMBER = 6;
private java.lang.Object state_;
public boolean hasState() {
return ((bitField0_ & 0x00000010) == 0x00000010);
}
public String getState() {
java.lang.Object ref = state_;
if (ref instanceof String) {
return (String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
String s = bs.toStringUtf8();
if (com.google.protobuf.Internal.isValidUtf8(bs)) {
state_ = s;
}
return s;
}
}
private com.google.protobuf.ByteString getStateBytes() {
java.lang.Object ref = state_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((String) ref);
state_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
// optional bool boolean = 7;
public static final int BOOLEAN_FIELD_NUMBER = 7;
private boolean boolean_;
public boolean hasBoolean() {
return ((bitField0_ & 0x00000020) == 0x00000020);
}
public boolean getBoolean() {
return boolean_;
}
private void initFields() {
pin_ = 0;
data_ = java.util.Collections.emptyList();;
type_ = "";
freq_ = 0L;
mode_ = "";
state_ = "";
boolean_ = false;
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized != -1) return isInitialized == 1;
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
getSerializedSize();
if (((bitField0_ & 0x00000001) == 0x00000001)) {
output.writeInt32(1, pin_);
}
for (int i = 0; i < data_.size(); i++) {
output.writeDouble(2, data_.get(i));
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
output.writeBytes(3, getTypeBytes());
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
output.writeInt64(4, freq_);
}
if (((bitField0_ & 0x00000008) == 0x00000008)) {
output.writeBytes(5, getModeBytes());
}
if (((bitField0_ & 0x00000010) == 0x00000010)) {
output.writeBytes(6, getStateBytes());
}
if (((bitField0_ & 0x00000020) == 0x00000020)) {
output.writeBool(7, boolean_);
}
getUnknownFields().writeTo(output);
}
private int memoizedSerializedSize = -1;
public int getSerializedSize() {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (((bitField0_ & 0x00000001) == 0x00000001)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(1, pin_);
}
{
int dataSize = 0;
dataSize = 8 * getDataList().size();
size += dataSize;
size += 1 * getDataList().size();
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(3, getTypeBytes());
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
size += com.google.protobuf.CodedOutputStream
.computeInt64Size(4, freq_);
}
if (((bitField0_ & 0x00000008) == 0x00000008)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(5, getModeBytes());
}
if (((bitField0_ & 0x00000010) == 0x00000010)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(6, getStateBytes());
}
if (((bitField0_ & 0x00000020) == 0x00000020)) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(7, boolean_);
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
@java.lang.Override
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException {
return super.writeReplace();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data, extensionRegistry)
.buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return newBuilder().mergeFrom(data, extensionRegistry)
.buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(java.io.InputStream input)
throws java.io.IOException {
return newBuilder().mergeFrom(input).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return newBuilder().mergeFrom(input, extensionRegistry)
.buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
Builder builder = newBuilder();
if (builder.mergeDelimitedFrom(input)) {
return builder.buildParsed();
} else {
return null;
}
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
Builder builder = newBuilder();
if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
return builder.buildParsed();
} else {
return null;
}
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return newBuilder().mergeFrom(input).buildParsed();
}
public static ioio.debugger.server.NetworkIOIOProtocol.Message parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return newBuilder().mergeFrom(input, extensionRegistry)
.buildParsed();
}
public static Builder newBuilder() { return Builder.create(); }
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder(ioio.debugger.server.NetworkIOIOProtocol.Message prototype) {
return newBuilder().mergeFrom(prototype);
}
public Builder toBuilder() { return newBuilder(this); }
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder>
implements ioio.debugger.server.NetworkIOIOProtocol.MessageOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_Message_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return ioio.debugger.server.NetworkIOIOProtocol.internal_static_ioio_debugger_server_Message_fieldAccessorTable;
}
// Construct using ioio.debugger.server.NetworkIOIOProtocol.Message.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
}
}
private static Builder create() {
return new Builder();
}
public Builder clear() {
super.clear();
pin_ = 0;
bitField0_ = (bitField0_ & ~0x00000001);
data_ = java.util.Collections.emptyList();;
bitField0_ = (bitField0_ & ~0x00000002);
type_ = "";
bitField0_ = (bitField0_ & ~0x00000004);
freq_ = 0L;
bitField0_ = (bitField0_ & ~0x00000008);
mode_ = "";
bitField0_ = (bitField0_ & ~0x00000010);
state_ = "";
bitField0_ = (bitField0_ & ~0x00000020);
boolean_ = false;
bitField0_ = (bitField0_ & ~0x00000040);
return this;
}
public Builder clone() {
return create().mergeFrom(buildPartial());
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return ioio.debugger.server.NetworkIOIOProtocol.Message.getDescriptor();
}
public ioio.debugger.server.NetworkIOIOProtocol.Message getDefaultInstanceForType() {
return ioio.debugger.server.NetworkIOIOProtocol.Message.getDefaultInstance();
}
public ioio.debugger.server.NetworkIOIOProtocol.Message build() {
ioio.debugger.server.NetworkIOIOProtocol.Message result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
private ioio.debugger.server.NetworkIOIOProtocol.Message buildParsed()
throws com.google.protobuf.InvalidProtocolBufferException {
ioio.debugger.server.NetworkIOIOProtocol.Message result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(
result).asInvalidProtocolBufferException();
}
return result;
}
public ioio.debugger.server.NetworkIOIOProtocol.Message buildPartial() {
ioio.debugger.server.NetworkIOIOProtocol.Message result = new ioio.debugger.server.NetworkIOIOProtocol.Message(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
to_bitField0_ |= 0x00000001;
}
result.pin_ = pin_;
if (((bitField0_ & 0x00000002) == 0x00000002)) {
data_ = java.util.Collections.unmodifiableList(data_);
bitField0_ = (bitField0_ & ~0x00000002);
}
result.data_ = data_;
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
to_bitField0_ |= 0x00000002;
}
result.type_ = type_;
if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
to_bitField0_ |= 0x00000004;
}
result.freq_ = freq_;
if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
to_bitField0_ |= 0x00000008;
}
result.mode_ = mode_;
if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
to_bitField0_ |= 0x00000010;
}
result.state_ = state_;
if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
to_bitField0_ |= 0x00000020;
}
result.boolean_ = boolean_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof ioio.debugger.server.NetworkIOIOProtocol.Message) {
return mergeFrom((ioio.debugger.server.NetworkIOIOProtocol.Message)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(ioio.debugger.server.NetworkIOIOProtocol.Message other) {
if (other == ioio.debugger.server.NetworkIOIOProtocol.Message.getDefaultInstance()) return this;
if (other.hasPin()) {
setPin(other.getPin());
}
if (!other.data_.isEmpty()) {
if (data_.isEmpty()) {
data_ = other.data_;
bitField0_ = (bitField0_ & ~0x00000002);
} else {
ensureDataIsMutable();
data_.addAll(other.data_);
}
onChanged();
}
if (other.hasType()) {
setType(other.getType());
}
if (other.hasFreq()) {
setFreq(other.getFreq());
}
if (other.hasMode()) {
setMode(other.getMode());
}
if (other.hasState()) {
setState(other.getState());
}
if (other.hasBoolean()) {
setBoolean(other.getBoolean());
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
public final boolean isInitialized() {
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder(
this.getUnknownFields());
while (true) {
int tag = input.readTag();
switch (tag) {
case 0:
this.setUnknownFields(unknownFields.build());
onChanged();
return this;
default: {
if (!parseUnknownField(input, unknownFields,
extensionRegistry, tag)) {
this.setUnknownFields(unknownFields.build());
onChanged();
return this;
}
break;
}
case 8: {
bitField0_ |= 0x00000001;
pin_ = input.readInt32();
break;
}
case 17: {
ensureDataIsMutable();
data_.add(input.readDouble());
break;
}
case 18: {
int length = input.readRawVarint32();
int limit = input.pushLimit(length);
while (input.getBytesUntilLimit() > 0) {
addData(input.readDouble());
}
input.popLimit(limit);
break;
}
case 26: {
bitField0_ |= 0x00000004;
type_ = input.readBytes();
break;
}
case 32: {
bitField0_ |= 0x00000008;
freq_ = input.readInt64();
break;
}
case 42: {
bitField0_ |= 0x00000010;
mode_ = input.readBytes();
break;
}
case 50: {
bitField0_ |= 0x00000020;
state_ = input.readBytes();
break;
}
case 56: {
bitField0_ |= 0x00000040;
boolean_ = input.readBool();
break;
}
}
}
}
private int bitField0_;
// optional int32 pin = 1;
private int pin_ ;
public boolean hasPin() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
public int getPin() {
return pin_;
}
public Builder setPin(int value) {
bitField0_ |= 0x00000001;
pin_ = value;
onChanged();
return this;
}
public Builder clearPin() {
bitField0_ = (bitField0_ & ~0x00000001);
pin_ = 0;
onChanged();
return this;
}
// repeated double data = 2;
private java.util.List<java.lang.Double> data_ = java.util.Collections.emptyList();;
private void ensureDataIsMutable() {
if (!((bitField0_ & 0x00000002) == 0x00000002)) {
data_ = new java.util.ArrayList<java.lang.Double>(data_);
bitField0_ |= 0x00000002;
}
}
public java.util.List<java.lang.Double>
getDataList() {
return java.util.Collections.unmodifiableList(data_);
}
public int getDataCount() {
return data_.size();
}
public double getData(int index) {
return data_.get(index);
}
public Builder setData(
int index, double value) {
ensureDataIsMutable();
data_.set(index, value);
onChanged();
return this;
}
public Builder addData(double value) {
ensureDataIsMutable();
data_.add(value);
onChanged();
return this;
}
public Builder addAllData(
java.lang.Iterable<? extends java.lang.Double> values) {
ensureDataIsMutable();
super.addAll(values, data_);
onChanged();
return this;
}
public Builder clearData() {
data_ = java.util.Collections.emptyList();;
bitField0_ = (bitField0_ & ~0x00000002);
onChanged();
return this;
}
// optional string type = 3;
private java.lang.Object type_ = "";
public boolean hasType() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
public String getType() {
java.lang.Object ref = type_;
if (!(ref instanceof String)) {
String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
type_ = s;
return s;
} else {
return (String) ref;
}
}
public Builder setType(String value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000004;
type_ = value;
onChanged();
return this;
}
public Builder clearType() {
bitField0_ = (bitField0_ & ~0x00000004);
type_ = getDefaultInstance().getType();
onChanged();
return this;
}
void setType(com.google.protobuf.ByteString value) {
bitField0_ |= 0x00000004;
type_ = value;
onChanged();
}
// optional int64 freq = 4;
private long freq_ ;
public boolean hasFreq() {
return ((bitField0_ & 0x00000008) == 0x00000008);
}
public long getFreq() {
return freq_;
}
public Builder setFreq(long value) {
bitField0_ |= 0x00000008;
freq_ = value;
onChanged();
return this;
}
public Builder clearFreq() {
bitField0_ = (bitField0_ & ~0x00000008);
freq_ = 0L;
onChanged();
return this;
}
// optional string mode = 5;
private java.lang.Object mode_ = "";
public boolean hasMode() {
return ((bitField0_ & 0x00000010) == 0x00000010);
}
public String getMode() {
java.lang.Object ref = mode_;
if (!(ref instanceof String)) {
String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
mode_ = s;
return s;
} else {
return (String) ref;
}
}
public Builder setMode(String value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000010;
mode_ = value;
onChanged();
return this;
}
public Builder clearMode() {
bitField0_ = (bitField0_ & ~0x00000010);
mode_ = getDefaultInstance().getMode();
onChanged();
return this;
}
void setMode(com.google.protobuf.ByteString value) {
bitField0_ |= 0x00000010;
mode_ = value;
onChanged();
}
// optional string state = 6;
private java.lang.Object state_ = "";
public boolean hasState() {
return ((bitField0_ & 0x00000020) == 0x00000020);
}
public String getState() {
java.lang.Object ref = state_;
if (!(ref instanceof String)) {
String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
state_ = s;
return s;
} else {
return (String) ref;
}
}
public Builder setState(String value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000020;
state_ = value;
onChanged();
return this;
}
public Builder clearState() {
bitField0_ = (bitField0_ & ~0x00000020);
state_ = getDefaultInstance().getState();
onChanged();
return this;
}
void setState(com.google.protobuf.ByteString value) {
bitField0_ |= 0x00000020;
state_ = value;
onChanged();
}
// optional bool boolean = 7;
private boolean boolean_ ;
public boolean hasBoolean() {
return ((bitField0_ & 0x00000040) == 0x00000040);
}
public boolean getBoolean() {
return boolean_;
}
public Builder setBoolean(boolean value) {
bitField0_ |= 0x00000040;
boolean_ = value;
onChanged();
return this;
}
public Builder clearBoolean() {
bitField0_ = (bitField0_ & ~0x00000040);
boolean_ = false;
onChanged();
return this;
}
// @@protoc_insertion_point(builder_scope:ioio.debugger.server.Message)
}
static {
defaultInstance = new Message(true);
defaultInstance.initFields();
}
// @@protoc_insertion_point(class_scope:ioio.debugger.server.Message)
}
private static com.google.protobuf.Descriptors.Descriptor
internal_static_ioio_debugger_server_TrackingMessage_descriptor;
private static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_ioio_debugger_server_TrackingMessage_fieldAccessorTable;
private static com.google.protobuf.Descriptors.Descriptor
internal_static_ioio_debugger_server_Message_descriptor;
private static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_ioio_debugger_server_Message_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\031NetworkIOIOProtocol.proto\022\024ioio.debugg" +
"er.server\"[\n\017TrackingMessage\022\n\n\002id\030\001 \002(\005" +
"\022\014\n\004type\030\002 \002(\005\022.\n\007message\030\003 \003(\0132\035.ioio.d" +
"ebugger.server.Message\"n\n\007Message\022\013\n\003pin" +
"\030\001 \001(\005\022\014\n\004data\030\002 \003(\001\022\014\n\004type\030\003 \001(\t\022\014\n\004fr" +
"eq\030\004 \001(\003\022\014\n\004mode\030\005 \001(\t\022\r\n\005state\030\006 \001(\t\022\017\n" +
"\007boolean\030\007 \001(\010"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
public com.google.protobuf.ExtensionRegistry assignDescriptors(
com.google.protobuf.Descriptors.FileDescriptor root) {
descriptor = root;
internal_static_ioio_debugger_server_TrackingMessage_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_ioio_debugger_server_TrackingMessage_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_ioio_debugger_server_TrackingMessage_descriptor,
new java.lang.String[] { "Id", "Type", "Message", },
ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage.class,
ioio.debugger.server.NetworkIOIOProtocol.TrackingMessage.Builder.class);
internal_static_ioio_debugger_server_Message_descriptor =
getDescriptor().getMessageTypes().get(1);
internal_static_ioio_debugger_server_Message_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_ioio_debugger_server_Message_descriptor,
new java.lang.String[] { "Pin", "Data", "Type", "Freq", "Mode", "State", "Boolean", },
ioio.debugger.server.NetworkIOIOProtocol.Message.class,
ioio.debugger.server.NetworkIOIOProtocol.Message.Builder.class);
return null;
}
};
com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
}, assigner);
}
// @@protoc_insertion_point(outer_class_scope)
}
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/NetworkIOIOProtocol.proto
0,0 → 1,17
package ioio.debugger.server;
 
message TrackingMessage {
required int32 id = 1;
required int32 type = 2;
repeated Message message = 3;
}
 
message Message {
optional int32 pin = 1;
repeated double data = 2;
optional string type = 3;
optional int64 freq = 4;
optional string mode = 5;
optional string state = 6;
optional bool boolean = 7;
}
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/ServerHelper.java
0,0 → 1,65
package ioio.debugger.server;
 
import java.util.List;
 
public class ServerHelper {
 
private IOIODebuggerServerHandler msgHandler;
public ServerHelper(IOIODebuggerServerHandler handler) {
msgHandler = handler;
}
public boolean checkClientsConnected() {
return msgHandler.areClientsConnected();
}
public void AddNewAnalogIn(int pin, long freq) {
// Implement this
System.out.println("Command recieved to add new Analog In. Pin: " + pin + " Freq: " + freq);
}
public void AddNewDigitalIn(int pin, long freq, String mode) {
// Implement this
System.out.println("Command recieved to add new Digital In. Pin: " + pin + " Freq: " + freq + " Mode: " + mode);
}
public void AddNewDigitalOut(int pin, String state, boolean openDrain) {
// Implement this
System.out.println("Command recieved to add new Digital Out. Pin: " + pin + " InitialState: " + state + " OpenDrain: " + openDrain);
}
public void DataRecieved(int pin, List<Double> data) {
// Implement this
System.out.print("Data Recieved from pin: " + pin + " Data: ");
for (Double d : data)
System.out.print(d + " ");
System.out.print("\n");
}
public void StopPin(int pin) {
// Implement this
System.out.println("Command recieved to stop Pin: " + pin);
}
public void RemovePin(int pin) {
// Implement this
System.out.println("Command recieved to remove Pin: " + pin);
}
public void sendAddNewAnalogIn(int pin, long freq) {
msgHandler.sendAddNewAnalogIn(pin, freq);
}
public void sendAddNewDigitalIn(int pin, long freq, String mode) {
msgHandler.sendAddNewDigitalIn(pin, freq, mode);
}
public void sendAddNewDigitalOut(int pin, String state, boolean openDrain) {
msgHandler.sendAddNewDigitalOut(pin, state, openDrain);
}
public void sendHardReset() {
msgHandler.sendHardReset();
}
}
/Android Development/IOIODebuggerServer/src/ioio/debugger/server/build_protocol.sh
0,0 → 1,0
protoc NetworkIOIOProtocol.proto --java_out=../../../