1. 10 May, 2005 1 commit
  2. 14 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · bfb38f51
      Timothy Stack authored
      Pass camera config to vmcd in the config_vmc packet and add support
      for using unix-domain sockets when talking to emcd instead of
      unsecured tcp sockets.
      
      	* robots/emc/emcd.c: Add support for camera configs in the config
      	file and add support for listening on a unix-domain socket.
      
      	* robots/emc/test_emcd.config, robots/emc/test_emcd.sh.in: Update
      	for changes to emcd.
      
      	* robots/mtp/mtp.h, robots/mtp/mtp.c, robots/mtp/mtp.x,
      	robots/mtp/mtp_send.c: Add camera config to the config_vmc packet
      	and add support for unix-domain sockets.
      
      	* robots/primotion/GNUmakefile.in: Add empty install target.
      
      	* robots/rmcd/rmcd.c, robots/rmcd/test_emcd.config: Add support
      	for unix-domain sockets.
      
      	* robots/vmcd/vmcd.c: Add support for unix-domain sockets and read
      	the camera config from the config_vmc packet.
      
      	* robots/vmcd/test_vmc*.sh: Fix tests changed by my last checkin.
      
      	* robots/vmcd/test_emcd*.config: Update for changes to the emcd
      	config file format.
      bfb38f51
  3. 10 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · 89bf0a7f
      Timothy Stack authored
      A bunch of engineering on the robot code.  I'm sure I've broken something,
      but the majority of it is done and I wanted to get a checkpoint in.
      
      	* GNUmakerules: Add rpcgen rules.
      
      	* Makeconf.in: Add PATH and host_cpu variables so
      	cross-compilation works properly.  Add JAVAC and JAR for java
      	compilation.  Add BRAINSTEM_DIR that refers to a brainstem build
      	directory to be used for the robot build.
      
      	* configure, configure.in: Prepend the arm cross-compile dir to
      	PATH.  Detect java for building applets.  Add --with-brainstem to
      	specify the brainstem build dir.  Add --enable-mezzanine to turn
      	on the mezzanine build.
      
      	* robots/GNUmakefile.in: Add client target that builds the
      	subdirs.
      
      	* robots/emc/GNUmakefile.in, robots/emc/emcd.h, robots/emc/emcd.c,
      	test_emcd.sh.in, robots/rmcd/GNUmakefile.in, robots/rmcd/rmcd.c,
      	robots/rmcd/test_rmcd.sh.in, robots/vmcd/test_vmc-client.sh.in,
      	robots/vmcd/test_vmcd.sh.in, robots/vmcd/test_vmcd2.sh,
      	robots/vmcd/test_vmcd3.sh, robots/vmcd/test_vmcd4.sh,
      	robots/vmcd/vmc-client.c, robots/vmcd/vmcd.c: Updates for the mtp
      	switch to using rpcgen.
      
      	* robots/emc/test_emcd.config: Restore missing config line.
      
      	* robots/mtp/GNUmakefile.in, robots/mtp/global_bound.java,
      	robots/mtp/mtp.h, robots/mtp/mtp.c, robots/mtp/mtp.java,
      	robots/mtp/mtp.x, robots/mtp/mtp_command_goto.java,
      	robots/mtp/mtp_command_stop.java, robots/mtp/mtp_config_rmc.java,
      	robots/mtp/mtp_config_vmc.java, robots/mtp/mtp_control.java,
      	robots/mtp/mtp_dump.c, robots/mtp/mtp_garcia_telemetry.java,
      	robots/mtp/mtp_opcode_t.java, robots/mtp/mtp_packet.java,
      	robots/mtp/mtp_payload.java, robots/mtp/mtp_recv.c,
      	robots/mtp/mtp_request_id.java,
      	robots/mtp/mtp_request_position.java,
      	robots/mtp/mtp_robot_type_t.java, robots/mtp/mtp_role_t.java,
      	robots/mtp/mtp_send.c, robots/mtp/mtp_status_t.java,
      	robots/mtp/mtp_telemetry.java, robots/mtp/mtp_update_id.java,
      	robots/mtp/mtp_update_position.java, robots/mtp/robot_config.java,
      	robots/mtp/robot_position.java, robots/mtp/test_mtp.sh: Replace
      	hand-generated stubs with xdr stubs for C and java.  Java stubs
      	were generated by "remotetea's" jrpcgen.
      
      	* robots/primotion/GNUmakefile.in,
      	robots/primotion/buttonManager.hh,
      	robots/primotion/buttonManager.cc, robots/primotion/dashboard.hh,
      	robots/primotion/dashboard.cc, robots/primotion/flash-user-led.cc,
      	robots/primotion/garcia-pilot.cc, robots/primotion/garciaUtil.hh,
      	robots/primotion/garciaUtil.cc, robots/primotion/ledManager.hh,
      	robots/primotion/ledManager.cc,
      	robots/primotion/pilotButtonCallback.hh,
      	robots/primotion/pilotButtonCallback.cc,
      	robots/primotion/pilotClient.hh, robots/primotion/pilotClient.cc,
      	robots/primotion/watch-user-button.cc,
      	robots/primotion/wheelManager.hh,
      	robots/primotion/wheelManager.cc: Replace gorobot with
      	garcia-pilot, a beefed up daemon for controlling the robots.
      	Improvements include: making use of the user LED and button to
      	give some feedback and let the wrangler run a test sequence,
      	reboot, and shutdown the robot; Logging of the battery level, how
      	often the robot has moved and for how long, and the distance
      	traveled; telemetry is sent back to emulab clients; movements are
      	now just pivot-move instead of pivot-move-pivot, since the second
      	pivot ends up being extra work most of the time; the robot will
      	move backwards to cut down on the amount of rotation; and just
      	generic cleanups to the code.
      
      	* robots/primotion/garcia.config: The configuration file currently
      	used on the garcias.
      
      	* www/GNUmakefile.in: Add garcia-telemetry subdir to the build.
      
      	* www/dbdefs.php3.in: Add TBNodeClass and TBNodeStatus functions.
      
      	* www/garcia-telemetry/Base64.java,
      	www/garcia-telemetry/GNUmakefile.in,
      	www/garcia-telemetry/GarciaTelemetry.java,
      	www/garcia-telemetry/UpdateThread.java,
      	www/garcia-telemetry/main.xml: A telemetry applet for the garcia,
      	it displays readouts for the various sensors and other bits of data
      	gathered by the garcia-pilot daemon.  Hopefully, it will make a
      	handy debugging tool.
      
      	* www/garcia-telemetry.jar, www/mtp.jar, www/oncrpc.jar,
      	www/thinlet.jar: Java jars used by the robot telemetry applet.
      
      	* www/servicepipe.php3: A slightly enhanced version of
      	ledpipe.php3 that can be used for other services, like robot
      	telemetry.
      
      	* www/shownode.php3: Add "Show Telemetry" menu item to robot
      	nodes.
      
      	* www/telemetry.php3: Telemetry page for the garcia-telemetry
      	applet.
      89bf0a7f
  4. 21 Dec, 2004 1 commit
    • Timothy Stack's avatar
      · 241132a3
      Timothy Stack authored
      Some cleanup of the robot vision system:
      
      	* Makeconf.in: Add INSTALL_INCDIR for includes, EVENTSYS for
      	whether or not the event system is available, HAVE_MEZZANINE for
      	whether or not we'll be building mezzanine, and GTK_CONFIG which
      	refers to the gtk-config binary, if there is one.
      
      	* config.h.in: Add HAVE_LINUX_VIDEODEV_H and HAVE_MEZZANINE
      	defines.
      
      	* configure, configure.in: Check for the robot vision system
      	dependencies.  Add mezzanine template files.
      
      	* robots/GNUmakefile.in: Add some conditionals for directories
      	that depend on the event-system and mezzanine.
      
      	* robots/mezzanine/GNUmakefile.in,
      	robots/mezzanine/libfg/GNUmakefile.in,
      	robots/mezzanine/libmezz/GNUmakefile.in,
      	robots/mezzanine/mezzanine/GNUmakefile.in,
      	robots/mezzanine/mezzcal/GNUmakefile.in,
      	robots/mezzanine/rtk2/GNUmakefile.in: Fold mezzanine into the
      	testbed's build system.
      
      	* robots/vmcd/GNUmakefile.in: When building the vmc-client, use
      	the mezzanine that we build locally instead of an installed
      	version.
      
      	* robots/vmcd/test_vmc-client.sh.in, robots/vmcd/test_vmcd.sh.in,
      	robots/vmcd/test_vmcd2.sh, robots/vmcd/test_vmcd3.sh,
      	robots/vmcd/test_vmcd4.sh: Bring the test cases up-to-date with
      	respect to the actual code.
      
      	* robots/vmcd/vmc-client.c: A bunch of cleanups and bug fixes: add
      	comments, set TCP_NODELAY on the client sockets (doh), etc...
      241132a3
  5. 13 Dec, 2004 2 commits
    • Timothy Stack's avatar
      · 57ddedbe
      Timothy Stack authored
      More bug fixes for vmcd and friends:
      
      	* GNUmakerules: Set SRCDIR as an environment variable so every
      	test doesn't have to be a template.
      
      	* robots/emc/emcd.c: Correctly handle a vision position that is
      	dead-on the initial position.  XXX Turn off orientation matching
      	for now, it is too strict at the moment so that it favors close
      	orientation over close position.
      
      	* robots/mtp/mtp.c: Fix some broken printfs in mtp_print_packet.
      
      	* robots/vmcd/GNUmakefile.in: Add another test.
      
      	* robots/vmcd/test_emcd2.config, robots/vmcd/test_vmcd2.pos,
      	robots/vmcd/etst_vmcd2.sh: A test that matches the initial
      	positions of two robots.
      
      	* robots/vmcd/test_vmcd.pos: Reduce the distance the robot moved
      	between frames.
      
      	* robots/vmcd/vmcd.c: Fix a bugfix and some formatting changes.
      57ddedbe
    • Timothy Stack's avatar
      · 0a60aafe
      Timothy Stack authored
      Some bugfixes and an improved test case for vmcd:
      
      	* robots/emc/emcd.c: Add a REQUEST_POSITION handler for the
      	emulab_callback.  Fix some simple bugs when processing REQUEST_ID
      	packets.
      
      	* robots/vmcd/test_emcd.config: Use just one robot for simple
      	test.
      
      	* robots/vmcd/test_vmc-client.pos: A position file for the
      	vmc-client test.
      
      	* robots/vmcd/test_vmc-client.sh.in: Test with a position file
      	instead of hardcoded numbers.
      
      	* robots/vmcd/test_vmcd.pos: Position file for the vmcd test.
      
      	* robots/vmcd/test_vmcd.sh.in: Make the test a little simpler, but
      	add a check to see if vmcd finds the robot initially.
      
      	* robots/vmcd/vmc-client.c: Add a "-f" option that lets you use a
      	"position" file that contains the object positions for a series of
      	frames.
      
      	* robots/vmcd/vmcd.c: Some bug fixes.
      0a60aafe
  6. 11 Dec, 2004 1 commit
    • Timothy Stack's avatar
      · 52afaefd
      Timothy Stack authored
      Frame out vmcd:
      
      	* GNUmakerules: Fix "check" target so it runs more than one test.
      
      	* robots/emc/emcd.c: Send the vmc config packet out when vmcd
      	connects.
      
      	* robots/vmcd/GNUmakefile.in: Add vmcd-related stuff.
      
      	* robots/vmcd/test_emcd.config: Emc config for the test case.
      
      	* robots/vmcd/test_vmcd.sh.in: Simple test case for vmcd.
      
      	* robots/vmcd/vmcd.c: Initial framing of vmcd, just receives and
      	dumps packets, actual logic still needs to be put in.
      52afaefd