Search in sources :

Example 1 with UdpJop

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;
    }
}
Also used : RtThread(joprt.RtThread) UdpJop(wcet.dsvmfp.util.UdpJop)

Aggregations

RtThread (joprt.RtThread)1 UdpJop (wcet.dsvmfp.util.UdpJop)1