Skip to content
  • 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