1. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  2. 05 Dec, 2006 1 commit
  3. 01 Dec, 2006 1 commit
  4. 18 Jul, 2006 1 commit
  5. 17 Jul, 2006 1 commit
  6. 07 Apr, 2006 2 commits
  7. 08 Aug, 2005 2 commits
  8. 21 Jun, 2005 1 commit
  9. 07 Jun, 2005 1 commit
  10. 02 Jun, 2005 3 commits
  11. 31 May, 2005 1 commit
  12. 23 May, 2005 1 commit
    • Timothy Stack's avatar
      · a1000b60
      Timothy Stack authored
      Some RMCD debugging and improvements.
      
      	* robots/emc/GNUmakefile.in, robots/rmcd/GNUmakefile.in: Fix some
      	of the dependencies.
      
      	* robots/emc/emcd.c: Bump default speed for events to 0.2 m/s.
      	Send an event when a dynamic obstacle is updated.
      
      	* robots/emc/emcd.h: Send position updates three times a second.
      
      	* robots/mtp/listNode.h, robots/mtp/listNode.c: Add a function to
      	prepend a list onto another.
      
      	* robots/mtp/mtp.x, robots/mtp/mtp.h, robots/mtp/mtp.c: Add
      	support for sending updates concerning dynamically detected
      	obstacles.
      
      	* robots/rmcd/masterController.h, robots/rmcd/masterController.c:
      	When a robot is stationary, add it as an obstacle.  Play with the
      	pause time a bit.
      
      	* robots/rmcd/obstacles.h, robots/rmcd/obstacles.c: Add robots as
      	a third type of obstacle.  Do not expand static obstacles when the
      	robot detects something with its sensors.  Add some more checks to
      	make sure the obstacle list is sane.  When
      	creating/growing/removing dynamic obstacles, send a notification
      	to emcd so it can be passed on to the applet.  More comments.
      
      	* robots/rmcd/pathPlanning.h, robots/rmcd/pathPlanning.c: When
      	monkeying with the obstacle list, we need to make sure the
      	obstacles are put back in the right order (dynamic before static).
      	More comments.
      
      	* robots/rmcd/pilotConnection.c: Add some more stuff to the
      	SIGINFO print out.
      
      	* robots/rmcd/rmcd.c: Initialize the emcd mtp handle for sending
      	updates for obstacles.
      
      	* robots/mtp/mtp_dump.c, robots/vmcd/visionTrack.c: Remove macros
      	that are now defined elsewhere.
      a1000b60
  13. 16 May, 2005 1 commit
    • Timothy Stack's avatar
      · d4549631
      Timothy Stack authored
      Checkpoint some robot code, mostly related to reliability.
      
      	* robots/emc/emcd.c: Fail if there is no config file given.  Send
      	an error back to vmcd if there is no rmcd available to satisfy a
      	wiggle-request.
      
      	* robots/mtp/mtp.h, robots/mtp/mtp.c: Added some comments.  Add
      	some more helper functions.
      
      	* robots/primotion/GNUmakefile.in, robots/primotion/dashboard.hh,
      	robots/primotion/dashboard.cc, robots/primotion/faultDetection.hh,
      	robots/primotion/faultDetection.cc: Fault detection code for the
      	garcia.  Tries to check for and recover from some commonly seen
      	failures.
      
      	* robots/primotion/garcia-pilot.hh,
      	robots/primotion/garcia-pilot.cc:  Set the fault detection
      	callback, add version info, and fix some whitespace.
      
      	* robots/primotion/pilotClient.cc: Set the wheel speed when
      	pivoting.
      
      	* robots/primotion/wheelManager.hh,
      	robots/primotion/wheelManager.cc: Use the fault detection stuff,
      	tweak some constants, and some other cleanup.
      
      	* robots/tracker/GNUmakefile.in: Add some missing targets.
      
      	* robots/vmcd/robotObject.h, robots/vmcd/robotObject.c: Move some
      	robot list management code into here.
      
      	* robots/vmcd/visionTrack.h, robots/vmcd/visionTrack.c: Comments
      	and some cleanup.
      
      	* robots/vmcd/vmcd.c: Refactor some of the wiggle code and deal
      	with errors a little better.
      d4549631
  14. 10 May, 2005 1 commit
  15. 06 Apr, 2005 1 commit
  16. 31 Mar, 2005 1 commit
    • Timothy Stack's avatar
      · 6cce1762
      Timothy Stack authored
      Pass camera local to world offsets through vmcd.
      
      	* event/sched/rpc.cc: Add the camera fixed_x,fixed_y values to the
      	emcd.config file.
      
      	* robots/emc/emcd.c: Pickup the cameras fixed_x,fixed_y values
      	from the config file.  Add supports for setting the speed of the
      	robot.
      
      	* robots/mtp/mtp.h, robots/mtp/mtp.c: Add support for setting
      	speed in GOTO packets and constructing vmc-client config packets.
      
      	* robots/mtp/mtp.x: Add a vmc-client config packet that contains
      	the cameras origin in world coordinates.
      
      	* robots/mtp/mtp_dump.c: Dump the min/max values for x and y,
      	handy for figuring out the bounds of the camera.
      
      	* robots/vmcd/visionTrack.c, robots/vmcd/visionTrack.h: Handle
      	cameras that are overlapping on two axes.
      
      	* robots/vmcd/vmc-client.c: Accept a vmc-client config packet that
      	tells us where the camera is in world coordinates.  Add an
      	orientation flag that specifies how the camera is oriented wrt to
      	the world coordinate system.
      
      	* robots/vmcd/vmcd.c: Send vmc-client config packets out.  Fix a
      	bug that left unknown tracks in the previous frame, which could
      	confuse the matching algorithm causing it to match unknown tracks
      	instead of valid known tracks.
      6cce1762
  17. 17 Feb, 2005 1 commit
  18. 15 Feb, 2005 4 commits
    • Timothy Stack's avatar
      Add robot_id field to the telemetry packet · d72e1966
      Timothy Stack authored
      d72e1966
    • Timothy Stack's avatar
    • Timothy Stack's avatar
      · 585c40c5
      Timothy Stack authored
      Robot stuff:
      
      	* robots/emc/emcd.c: Send an event containing battery levels when
      	a telemetry packet comes in from rmcd.
      
      	* robots/emc/loclistener.in: Update battery stats.
      
      	* robots/mtp/mtp.x: Add robot_id field to telemetry structure.
      
      	* robots/mtp/*.java: Regenerate jrpcgen stubs.
      
      	* robots/primotion/garcia-pilot.cc: Send telemetry to rmcd every
      	minute.
      
      	* robots/primotion/pilotClient.cc: Broadcast contact reports to
      	all clients.
      
      	* robots/rmcd/pilotConnection.c: Resend telemetry packets from
      	pilot to emcd.
      
      	* tbsetup/tbrsync.in: Wait for the node to come up before doing
      	the rsync.
      
      	* www/garcia-telemetry.jar: Removed.
      
      	* www/mtp.jar: Regenerated.
      
      	* www/telemetry.php3: Make the applet window a little bigger.
      
      	* www/garcia-telemetry/GNUmakefile.in: Don't put the jar in the
      	source tree.
      
      	* www/thinlet.jar, www/garcia-telemetry/GarciaTelemetry.java,
      	www/garcia-telemetry/UpdateThread.java,
      	www/garcia-telemetry/main.xml: Switch to the homegrown version of
      	thinlet and add contact report packets to the log.
      
      	* www/tutorial/mobilewireless.php3: Spell check.
      585c40c5
    • Timothy Stack's avatar
      Merge in the LINE_PATH_PLANNING branch · 9020980f
      Timothy Stack authored
      9020980f
  19. 01 Feb, 2005 1 commit
  20. 31 Jan, 2005 1 commit
  21. 27 Jan, 2005 1 commit
  22. 26 Jan, 2005 1 commit
  23. 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
  24. 22 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · 74f61a9f
      Timothy Stack authored
      More robot stuff, start in on path planning and cleanup rmcd a bit.
      
      	* robots/emc/emcd.c: Update for obstacle-related changes in mtp.
      
      	* robots/mtp/mtp.x, robots/mtp/mtp.h, robots/mtp/mtp.c,
      	robots/mtp/mtp_send.c: Add messages for requesting/reporting robot
      	sensor contacts, plus some cosmetic changes to the obstacle_config
      	structure.
      
      	* robots/primotion/garcia-pilot.cc,
      	robots/primotion/pilotClient.hh, robots/primotion/pilotClient.cc:
      	Add support for sending "contact" reports, which contain points
      	where the sensors have detected an object.
      
      	* robots/rmcd/GNUmakefile.in, robots/rmcd/obstacles.h,
      	robots/rmcd/obstacles.c, robots/rmcd/pilotConnection.h,
      	robots/rmcd/pilotConnection.c, robots/rmcd/rclip.h,
      	robots/rmcd/rclip.c, robots/rmcd/rmcd.c: Cleanup and add in some
      	obstacle avoidance.
      74f61a9f
  25. 17 Jan, 2005 2 commits
    • Timothy Stack's avatar
      · 1e18722e
      Timothy Stack authored
      More robot tweaks:
      
      	* event/sched/event-sched.c: Start rmcd, then vmcd.
      
      	* event/sched/rpc.cc: Add camera dimensions to the config file.
      
      	* robots/emc/emcd.c: Add camera dimensions to the config file and
      	destroy vmc's position_list when it disconnects.
      
      	* robots/mtp/mtp.x, robots/mtp/mtp.c: Add dimensions to the camera
      	config and add a command_id field to the update_position packet.
      
      	* robots/primotion/garcia-pilot.cc: Move the decl of the acpGarcia
      	object below daemon(3) since it doesn't seem to like it when the
      	parent process dies and fix the log file creation.
      
      	* robots/primotion/pilotClient.cc: Pass the command_id back in any
      	update_position packets.
      
      	* robots/rmcd/rmcd.c: Use the command-id to distinguish between
      	STOPs for the sake of a GOTO and a wiggle.
      
      	* robots/vmcd/visionTrack.h, robots/vmcd/visionTrack.c: Only
      	coalesce packets from different cameras (duh) and mess with the
      	tolerances a little more.
      
      	* xmlrpc/emulabserver.py.in: Add some rough camera dimensions.
      1e18722e
    • 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
  26. 15 Jan, 2005 2 commits
  27. 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
  28. 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
  29. 15 Dec, 2004 2 commits
  30. 14 Dec, 2004 1 commit