test serpi
[aversive.git] / projects / microb2010 / tests / hostsim / display.py
index 412f936..1e408c9 100644 (file)
@@ -14,13 +14,25 @@ robot = box(pos = (0, 0, 150),
             size = (300,300,300),
             color = (1, 0, 0) )
 
+last_pos = robot.pos.x, robot.pos.y, robot.pos.z
+robot_trail = curve()
+max_trail = 500
+
 def set_robot(x, y, a):
-    global robot
+    global robot, last_pos
     robot.pos = (x - AREA_X/2, y - AREA_Y/2, 150)
     robot.axis = (math.cos(a*math.pi/180) * 300,
                   math.sin(a*math.pi/180) * 300,
                   0)
 
+    pos = robot.pos.x, robot.pos.y, robot.pos.z
+    if pos != last_pos:
+        robot_trail.append(pos)
+        last_pos = pos
+    robot_trail_l = len(robot_trail.pos)
+    if robot_trail_l> max_trail:
+        robot_trail.pos = robot_trail.pos[robot_trail_l - max_trail:]
+
 while True:
     try:
         os.mkfifo("/tmp/.robot")
@@ -36,7 +48,7 @@ while True:
             set_robot(x,y,a)
         f.close()
 
-    """
+
     k = scene.kb.getkey()
     x,y,z = scene.center
     if k == "left":
@@ -47,4 +59,5 @@ while True:
         scene.center = x,y+10,z
     elif k == "down":
         scene.center = x,y-10,z
-    """
+    elif k == "k":
+        robot_trail.pos = robot_trail.pos[0:0]