- 26 May, 2005 8 commits
-
-
Leigh B. Stoller authored
file if it does not exists, and then append to it. In our elabinelab setup, there is always an existing root authkeys file, so we missed this error.
-
Mike Hibler authored
negotiate: # Divide the nodes up into used and unused based on the status of # their WhOL experimental interface: # # enabled=yes port in use # enabled=no not used # # If a port is "in use" we assume it has talked to the switch and # no speed/duplex changes are needed. # # If the port is unused, we assume that the port will try to auto # negotiate with the switch when enabled. In this case we set # auto-negotiation on the switch to maximize the chance that we will # sucessfully communicate with the card.
-
David G Andersen authored
-
Mike Hibler authored
-
Robert Ricci authored
Also, fix a small missing paren from Keith's contributed version.
-
Robert Ricci authored
need it.
-
Robert Ricci authored
trunks for convenient checking against.
-
Leigh B. Stoller authored
generate month by month files, and then a little index to include into the php script. I know, this is really important stuff! But, I was reminded to do this by a message that Christopher Johnson (the young one) sent on April 29th about his project. His code was quaint, but I did not think we needed a new python script when it was much easier just to roll it into the existing perl script that imports the commitlog.
-
- 25 May, 2005 6 commits
-
-
Russ Fish authored
-
Leigh B. Stoller authored
table, if elabinelab_nosetup is non-zero, boss and ops setup will do just enough to get the nodes into a state that hopefully approximates what a real installation might look like before installing our stuff. I do install the packages cause there is no point in waiting for that to finish interactively. From this point, you can log into the console(s) and run the setup instructions verbatim, although I have not actually tried that yet. The nice thing is that if you manage to get things properly setup, it can function as a real elabinelab since the outer environment has been setup. This is quite a bit different then how we tested during the last release frenzy. Its not quite perfect of course, since the images are not "clean", but I think this is okay for testing.
-
Leigh B. Stoller authored
is not running, and there is no locpiper to connect to. Pop up a dialog box telling the user.
-
Leigh B. Stoller authored
experiments can be auto fired during swapin.
-
Leigh B. Stoller authored
inner boss and ops: namespace eval TBCOMPAT { set elabinelab_tarfiles("boss") "/usr/site /foo/silly.tar.gz" } Ditto for "ops". You can specify multiple tarfiles of course in the string, just as tb-set-node-tarfiles allows.
-
Leigh B. Stoller authored
argument, treat it as a string and first split it apart. This is a common error that many people make.
-
- 24 May, 2005 12 commits
-
-
Leigh B. Stoller authored
initial reverse file. Note that we still do not try to generate multiple reverse files; that is up to the local site.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
moving that robot!
-
Leigh B. Stoller authored
-
Russ Fish authored
-
Leigh B. Stoller authored
new client connects, we can dump the current set to the applet. I'm still holding off on putting them into the DB (really do not think this is the right thing to do, but I can be convinced otherwise). Change battery code in the locpiper so that if the data for a robot is more then 10 minutes old, stop sending updates for that robot. For the applet, add a little daemon thread that checks to see if battery updates have stopped, and if so, change the color of the robot to blue (cold and stale). This makes it more clear which robots are working and which are turned off. Fix collision detection code so that we test for the center of a robot overlapping with an obstacle, rather then radius of the area it sweeps (Tim said this was the correct thing to do).
-
Robert Ricci authored
the latter gives us one big argument with spaces, etc. escaped.
-
Robert Ricci authored
monkey around with autodetection to attempt to get carrier on unresponsive interfaces.
-
Timothy Stack authored
Add topography as an event object type, we use this to notify applets about dynamic obstacles. Some event-sched fixes are also included. * lib/libtb/tbdefs.h, lib/libtb/tbdefs.c: Add TOPOGRAPHY object and CREATE event. * robots/emc/emcd.c: Some cleanup for the events that get sent for dynamic obstacles. * tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/sim.tcl.in, tbsetup/ns2ir/topography.tcl: Add Topography's to the virt_agents table. * event/sched/error-record.c: Fix the format for the filenames generated by the program-agent. * event/sched/event-sched.c: Mark the start of TIME, change how rmcd/vmcd get restarted, and fix the ordering of some events on startup. * event/sched/simulator-agent.h, event/sched/simulator-agent.cc: Record when TIME starts, change how the report is generated, and the current time to log messages. * event/sched/rpc.h, event/sched/rpc.cc: Add the "virtual" topography name to the emcd.config, it's used when sending events concerning dynamic obstacles.
-
Timothy Stack authored
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
well tested, but will get tested now! The gist is that Tim now generates TOPOGRAPHY events that define an dynamic obstacle that is drawn in the applet and added to the list of obstacles to be checked for collisons (when submitting moves).
-
- 23 May, 2005 5 commits
-
-
Russ Fish authored
-
Russ Fish authored
-
Timothy Stack authored
-
Leigh B. Stoller authored
spewing after a while.
-
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.
-
- 20 May, 2005 9 commits
-
-
Mike Hibler authored
to enable use of divert sockets in jails. Change tmcd to pass back an indication that divert sockets should be enabled.
-
Russ Fish authored
-
Leigh B. Stoller authored
In case I didn't mention it; this script is setuid so it can kill itself later on the swapout path. It drops privs right away.
-
David G Andersen authored
-
Leigh B. Stoller authored
* New robot event listener: * It is intended to be started and stopped from the experiment swapin path instead of as a global daemon. It takes the pid/eid of the experiment, and will deal with events only for those nodes that are allocated to the experiment. We have some long range plans of time sharing the robot lab, so I figured we might as get a little bit of a start on that. * Once it fires up, it subscribes to the usual assortment of events, just like the loclistener does. * It then binds a socket on which to listen for connections from the web server. * Then it loops, looking for events and for connections from the web server. Connections from the web server are for forwarding the event stream in real time to whatever applets are currently viewing the robot lab. * As each event comes in, it is parsed, entered into the DB (nodes and location_info table), and fired out (in a textual form) to all the applet listeners. The web interface just acts as pipe in this case for the data. * The event stream is also duplicated to a file in the experiment directory (the same stuff that is piped to the applet), named by the current resource record ID. I hope to use this stream to playback the motion in the applet (coupled with webcam images once I figure out how to sync them). * tbswap: Start and stop the new listener. * Robotrack: I changed the interface for how we actually communicate the event data. Much more reasonable then it was (a comma separated string of numbers!). * new database fields in the experiments table to hold the process ID of the listener and the port it is listening on. The port is not used yet, as the robot lab is still not shared. Will need to revist this later. Currently uses a fixed port number. * www/robotrack/robopipe.php3: Killed most of the old code and replace with simple socket connect to the listener.
-
Leigh B. Stoller authored
record for each swapin (previously, it was just at swapmod). The reason for this is that as the testbed gets more fragmented in terms of hardware, it is less and less likely that consecutive swapins of the same experiment will use the same number of physical resources. We end up with some duplication of data inside the table, but no big deal. I suspect we will revisit this per experiment state as the workbench stuff proceeds.
-
Leigh B. Stoller authored
-
Timothy Stack authored
-
Leigh B. Stoller authored
need output formatting work, but its too low priority to find the time.
-