]> rtime.felk.cvut.cz Git - orte/eurobot.git/blob - orte/Robot_Demo/src/org/ocera/orte/demo/HokuyoScanType.java
ROBOT_DEMO: MessageData clean up
[orte/eurobot.git] / orte / Robot_Demo / src / org / ocera / orte / demo / HokuyoScanType.java
1 package org.ocera.orte.demo;
2
3 import org.ocera.orte.DomainApp;
4 import org.ocera.orte.types.MessageData;
5 import org.ocera.orte.types.ORTEConstant;
6
7 public class HokuyoScanType extends MessageData {
8         
9         public  int[]   hokuyo = new int[681];
10
11         public HokuyoScanType(DomainApp domainApp, String newTopic) {
12             super();
13             boolean b;
14             this.setTopic(newTopic); 
15             b = domainApp.regNewDataType("hokuyo_scan",getMaxDataLength()); 
16             if (b == false) {
17               System.out.println(":j!: cannot register data type!");    
18             }
19         }
20
21         @Override
22         public void read() {
23                 buffer.rewind();
24                 for (int i = 0; i < hokuyo.length; i++) {
25                     this.hokuyo[i] = buffer.getShort() & 0xffff;
26                 }
27         }
28
29         @Override
30         public void write() {}
31
32         @Override
33         public int getMaxDataLength() {
34                 return 681 * ORTEConstant.SHORT_FIELD_SIZE;
35         }
36
37         public String toString() {
38           String data = new String();
39           for(int i = 0; i < hokuyo.length; i++) {
40             data += i + ": " + hokuyo[i] + ", ";
41           }
42           data = data.substring(0, data.length()-2);
43           return data;    
44         }
45 }