- m = re.match("pos=%s,%s,%s"%(INT,INT,INT), l)
- if m:
- robot_x = int(m.groups()[0])
- robot_y = int(m.groups()[1])
- robot_a = int(m.groups()[2])
- set_robot()
- m = re.match("ballboard=%s"%(INT), l)
- if m:
- print int(m.groups()[0])
- m = re.match("cobboard=%s"%(INT), l)
- if m:
- mode = int(m.groups()[0])
- if (mode & 0x01) == 0:
- robot_lspickle = 0
- elif (mode & 0x02) == 0:
- robot_lspickle = 1
- else:
- robot_lspickle = 2
- if (mode & 0x04) == 0:
- robot_rspickle = 0
- elif (mode & 0x08) == 0:
- robot_rspickle = 1
- else:
- robot_rspickle = 2
+
+ # parse position
+ if not m:
+ m = re.match("pos=%s,%s,%s"%(INT,INT,INT), l)
+ if m:
+ robot_x = int(m.groups()[0])
+ robot_y = int(m.groups()[1])
+ robot_a = int(m.groups()[2])
+ set_robot()
+
+ # parse ballboard
+ if not m:
+ m = re.match("ballboard=%s"%(INT), l)
+ if m:
+ print "ballboard: %d"%(int(m.groups()[0]))
+
+ # parse cobboard
+ if not m:
+ m = re.match("cobboard=%s,%s"%(INT,INT), l)
+ if m:
+ print "cobboard: %x,%x"%(int(m.groups()[0]),int(m.groups()[1]))
+ side = int(m.groups()[0])
+ flags = int(m.groups()[1])
+ if side == 0:
+ robot_lspickle_deployed = ((flags & 1) * 2)
+ robot_lspickle_autoharvest = ((flags & 2) != 0)
+ else:
+ robot_rspickle_deployed = ((flags & 1) * 2)
+ robot_rspickle_autoharvest = ((flags & 2) != 0)