OSDN Git Service

lejos_NXJ_win32_0_5_0beta.zip
[nxt-jsp/lejos_nxj.git] / nxtOSEK / lejos_nxj / samples / NXTCamTest / NXTCamTest.java
1 import lejos.nxt.*;\r
2 \r
3 import java.awt.Rectangle;\r
4 \r
5 /**\r
6  * For testing the Mindsensors NXTCam.\r
7  * @author Lawrie Griffiths\r
8  */\r
9 public class NXTCamTest {\r
10 \r
11         final static int INTERVAL = 1000; // milliseconds\r
12         \r
13         public static void main(String [] args) throws Exception {\r
14                 NXTCam camera = new NXTCam(SensorPort.S1);\r
15                 String objects = "Objects: ";\r
16                 int numObjects;\r
17                 \r
18                 camera.sendCommand('A'); // sort objects by size\r
19                 camera.sendCommand('E'); // start tracking\r
20         \r
21                 while(!Button.ESCAPE.isPressed()) {\r
22                         LCD.clear();\r
23                         LCD.drawString(camera.getProductID(), 0, 0);\r
24                         LCD.drawString(camera.getSensorType(), 0, 1);\r
25                         LCD.drawString(camera.getVersion(), 9, 1);\r
26                         LCD.drawString(objects, 0, 2);\r
27                         LCD.drawInt(numObjects = camera.getNumberOfObjects(),1,9,2);\r
28                         \r
29                         if (numObjects >= 1 && numObjects <= 8) {\r
30                                 for (int i=0;i<numObjects;i++) {\r
31                                         Rectangle r = camera.getRectangle(i);\r
32                                         if (r.height > 30 && r.width > 30) {\r
33                                                 LCD.drawInt(camera.getObjectColor(i), 3, 0, 3+i);\r
34                                                 LCD.drawInt(r.width, 3, 4, 3+i);\r
35                                                 LCD.drawInt(r.height, 3, 8, 3+i);\r
36                                         }\r
37                                         \r
38                                 }\r
39                         }\r
40 \r
41                         LCD.refresh();\r
42                         Thread.sleep(INTERVAL);\r
43                 }\r
44         }\r
45 }