-
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 work. * 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.
11cceda4