1. 17 Feb, 2005 1 commit
  2. 24 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · 3c1a5bad
      Timothy Stack authored
      Robot related stuff: power via e-mail, client-install fixups, checking
      coords against camera boundaries.
      
      	* configure, configure.in: Add tbsetup/power_mail.pm to the list
      	of template files.
      
      	* doc/cross-compiling.txt: More stargate notes.
      
      	* event/sched/rpc.cc: Updates for the addition of the cameras
      	table.
      
      	* robots/GNUmakefile.in, robots/emc/GNUmakefile.in,
      	robots/mtp/GNUmakefile.in, robots/rmcd/GNUmakefile.in,
      	robots/tbsetdest/GNUmakefile.in, robots/vmcd/GNUmakefile.in:
      	client-install fixups.
      
      	* tbsetup/GNUmakefile.in: Add power_mail.pm.
      
      	* tbsetup/os_setup.in: Don't skip reboot of robots anymore.
      
      	* tbsetup/power.in: Add special case for a power_id of "mail",
      	which calls into the power_mail.pm backend.
      
      	* tbsetup/power_mail.pm.in: E-mail backend for power, it sends an
      	e-mail to tbops and waits for the outlets.last_power value to be
      	updated from the power.php3 web page.
      
      	* tbsetup/ns2ir/parse-ns.in: Add the contents of the cameras table
      	to the TBCOMPAT namespace.
      
      	* tbsetup/ns2ir/sim.tcl.in: More checking of "setdest" inputs.
      
      	* tbsetup/ns2ir/topography.tcl: Update the checkdest method to
      	check destination points against the camera list.
      
      	* www/powertime.php3: Webpage used to update the last power time
      	for nodes.
      
      	* www/shownode.php3: Add "Update Power Time" menu button.
      3c1a5bad
  3. 17 Jan, 2005 1 commit
    • 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
      	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
  4. 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
  5. 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
  6. 15 Dec, 2004 2 commits
  7. 14 Dec, 2004 1 commit
    • David Johnson's avatar
      * mezzanine/examples/simple/Makefile: · 3684ae5a
      David Johnson authored
         - change so that `simple' binary gets installed appropriately
      * mezzanine/examples/simple/simple.c:
         - give `simple' a mezzanine file to connect to on command line.
      * mezzanine/libmezz/mezz.c:
         - fix ipc bugs
      * mezzanine/mezzanine/Makefile:
         - linux compile changes
      * mezzanine/mezzanine/mezzanine.c:
         - ipc bugfixes
      * mezzanine/mezzcal/mezzcal.c:
         - ipc bugfixes
      * vmcd/GNUmakefile.in
         - sometihng...
      3684ae5a
  8. 13 Dec, 2004 3 commits
    • Timothy Stack's avatar
      · dde7799c
      Timothy Stack authored
      More robot-related tweaks and bug fixes:
      
      	* robots/emc/emcd.c: Handle "-h" option properly.
      
      	* robots/emc/loclistener.in: Pickup the pixels_per_meter value
      	from the database and use that to convert event coordinates in
      	meters to pixels for the database.
      
      	* robots/primotion/gorobot.cc: Comment.
      
      	* robots/primotion/dgrobot/gcallbacks.h,
      	robots/primotion/dgrobot/gcallbacks.cc,
      	robots/primotion/dgrobot/grobot.h,
      	robots/primotion/dgrobot/grobot.c,
      	robots/primotion/dgrobot/grobot_sim.cc: Small bug fixes to make
      	sure the position estimate is updated when moving in a straight
      	line.
      
      	* robots/rmcd/rmcd.c: cleanup
      
      	* robots/vmcd/GNUmakefile.in, robots/vmcd/test_emcd3.config,
      	robots/vmcd/test_vmcd3.pos, robots/vmcd/test_vmcd3.sh,
      	robots/vmcd/test_vmcd4.pos, robots/vmcd/test_vmcd4.sh: Some more
      	test cases, still pretty simple though.
      dde7799c
    • 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
    • David Johnson's avatar
      * vmcd/vmcd.c: · da2e8d85
      David Johnson authored
         - oops, now its fixed!
      * vmcd/GNUmakefile.in:
         - linked to math lib as well...
      da2e8d85
  9. 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
  10. 10 Dec, 2004 1 commit
    • Timothy Stack's avatar
      · d286c0cb
      Timothy Stack authored
      Start on vmc:
      
      	* configure, configure.in: Add vmcd related template files.
      
      	* robots/GNUmakefile.in: Switch order of vmcd/rmcd.
      
      	* robots/emc/GNUmakefile.in: cleanup
      
      	* robots/mtp/GNUmakefile.in: Add mtp_dump tool.
      
      	* robots/mtp/mtp.c: Change mtp_encode_packet to use a passed in
      	buffer pointer or allocate a buffer if its NULL, probably gonna be
      	a big source of errors...
      
      	* robots/mtp/mtp_dump.c: Another command-line tool that connects
      	to a server and dumps mtp packets that are received.  Useful for
      	seeing output from the vmc-client.
      
      	* robots/vmcd/GNUmakefile.in: Add vmc-client and test case.
      
      	* robots/vmcd/test_vmc-client.sh.in: Test case for the vmc-client.
      
      	* robots/vmcd/vmc-client.c: First cut of the vmc-client, it reads
      	mezzanine output and sends it to any connected clients.
      d286c0cb
  11. 01 Dec, 2004 1 commit