again, does it need to specifically be a smartdashboard, or just a Java program (it sounds like the latter)? In that case, the shorter route may be a standalone program to stuff the network tables.
Code:
package org.usfirst.frc3620.desktop.networktables;
import edu.wpi.first.wpilibj.networktables2.client.NetworkTableClient;
import edu.wpi.first.wpilibj.networktables2.stream.IOStreamFactory;
import edu.wpi.first.wpilibj.networktables2.stream.SocketStreams;
import java.io.IOException;
public class TableStuffer {
public static void main(String args[]) {
Throwable boom = null;
try {
String host = "10.36.20.2";
if (args.length > 0) {
host = args[0];
}
int port = 1735;
TableStuffer tableStuffer = new TableStuffer(host, port);
tableStuffer.go();
} catch (IOException ex) {
boom = ex;
} catch (RuntimeException ex) {
boom = ex;
}
if (boom != null) {
boom.printStackTrace();
}
}
NetworkTableClient client = null;
TableStuffer(String h, int p) throws IOException {
IOStreamFactory streamFactory = SocketStreams.newStreamFactory(h, p);
client = new NetworkTableClient(streamFactory);
}
void go() {
double degrees = 0;
while (true) {
if (!client.isConnected()) {
client.reconnect();
// fresh connection, restart the since wave
degrees = 0;
} else {
double s = Math.sin(degrees * Math.PI / 180.0);
System.out.println (degrees + " -> " + s);
client.putDouble("degrees", degrees);
client.putDouble("sin", s);
degrees ++;
}
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
}
}
}
}