• Timothy Stack's avatar
    · 11cceda4
    Timothy Stack authored
    Some cleanup to the vision system and make wiggle work, although it is still
    a bit glitchy.  This checkin is enough to identify the robots in their
    pens and move them to their initial positions.
    	* robots/emc/emcd.h, robots/emc/emcd.c: When rmc connects, send
    	GOTOs with the initial positions given in the config file.  If rmc
    	requests a vision update and one isn't available, queue the
    	request and send a reply when an update does come in.
    	* robots/mtp/GNUmakefile.in, robots/mtp/listNode.h,
    	robots/mtp/listNode.c: Add amiga-style linked list node functions,
    	tim always needs these.
    	* robots/mtp/mtp.h, robots/mtp/mtp.c: Add mtp_theta function that
    	produces a sane theta value between -M_PI and M_PI.
    	* robots/mtp/mtp.x: Add MTP_WIGGLE_START type which causes the
    	robots to stop in their tracks waiting for a real wiggle type
    	(e.g. 180 deg turn).
    	* robots/rmcd/rmcd.c: Tweaks, add support for MTP_WIGGLE_START.
    	* robots/vmcd/GNUmakefile.in, robots/vmcd/robotObject.h,
    	robots/vmcd/robotObject.c, robots/vmcd/visionTrack.h,
    	robots/vmcd/visionTrack.c, robots/vmcd.c: Cleanup and make wiggle
    	* robots/vmcd/vmc-client.c: If there are no objects detected in a
    	camera send an error packet instead of nothing, so vmcd can keep
    	in sync with the frames.