use of wcet.dsvmfp.util.UdpJop in project jop by jop-devel.
the class JopClient method main.
public static void main(String[] args) {
Dbg.initSerWait();
DsvmPacket.init();
receivedPacket = false;
state = BOOTSTATE;
sendcnt = 0;
info = false;
counter = 0;
// SVM data and the place to decide the size of the training set
// i, number of data
m = 100;
// j, dimensions
n = 2;
data_fp = new int[m][];
y_fp = new int[m];
// PC IP //130.226.36.11
destIp = (130 << 24) + (226 << 16) + (36 << 8) + 11;
destPort = 1234;
receivePort = 2345;
// 24-2-2006: Hack to get the thread to init now because "new UdpJop..."
// causes a stack overflow if the thread init is done in that
// call flow
new RtThread(0, 1000000000) {
public void run() {
for (; ; ) {
waitForNextPeriod();
}
}
};
udpJop = new UdpJop(destIp, destPort, receivePort);
// new RtThread(20, 100000) {
// public void run() {
// for (;;) {
// if (SMOBinaryClassifierFP.printSMOInfo) {
// SMOBinaryClassifierFP.smoInfo();
// SMOBinaryClassifierFP.printSMOInfo = false;
// }
// waitForNextPeriod();
// }
// }
// };
//
// new RtThread(19, 100000) {
// public void run() {
// for (;;) {
// if (SMOBinaryClassifierFP.takeStepFlag
// && SMOBinaryClassifierFP.go) {
// SMOBinaryClassifierFP.takeStep();
// SMOBinaryClassifierFP.takeStepFlag = false;
// }
// waitForNextPeriod();
// }
// }
// };
// class Test extends SwEvent {
// static Test testsmo;
// public Test(int priority, int minTime) {
// super(priority, minTime);
// }
//
// public void handle() {
// test();
// }
// };
RtThread.startMission();
// System.out.println("about to sleep");
//RtThread.sleepMs(2000); // Waiting for alive packet to initialize arp
// System.out.println("slept");
/*
* DsvmPacket dp = new DsvmPacket(); dp.setData(new int[2]);
* System.out.println("about to send"); udpJop.send(dp);
* System.out.println("test packet sent"); okSend = true;
* System.out.println("HERE2");
*/
int cnt = 0;
// System.out.println("state " + state);
while (state != INITSTATE) {
RtThread.sleepMs(100);
}
System.out.println("INITSTATE");
RtThread.sleepMs(1000);
DsvmPacket.setCommand(DsvmPacket.INIT);
// System.out.println("about to send init");
// Training
udpJop.send();
RtThread.sleepMs(500);
System.out.println("TRAINING");
for (int i = 0; i < m; i++) {
// System.out.println("About to DsvmPacket.TRAININGDATAREQUEST" +
// i);
DsvmPacket.setCommand(DsvmPacket.TRAININGDATAREQUEST);
receivedPacket = false;
udpJop.send();
waitForReply();
// System.out.println("got training data i=" + i);
if (DsvmPacket.getCommand() != DsvmPacket.TRAININGDATA) {
System.out.println("Expected training data!");
System.exit(1);
}
//Creates a new object
data_fp[i] = DsvmPacket.getDataFP();
y_fp[i] = DsvmPacket.getLabelFP();
if (info) {
System.out.println((counter++) + " trainingData={");
for (int j = 0; j < n; j++) {
System.out.println("data_fp[" + i + "][" + j + "]=" + data_fp[i][j]);
}
System.out.println("}, y_fp[" + i + "]=" + y_fp[i]);
}
}
SMOBinaryClassifierFP.setData_fp(data_fp);
SMOBinaryClassifierFP.setY_fp(y_fp);
//SMOBinaryClassifierFP.smo.fire();
SMOBinaryClassifierFP.mainRoutine();
//while(!SMOBinaryClassifierFP.done)
// RtThread.sleepMs(500);
System.out.println("About to test");
test();
for (; ; ) {
System.out.println("cnt " + (cnt++));
// Timer.wd();
RtThread.sleepMs(1000);
if (state == NEVER)
break;
}
}