[TeamTalk 206]: [742] trunk/moast-bth/moast: Import from moast project.

tk@edam.speech.cs.cmu.edu tk at edam.speech.cs.cmu.edu
Thu Sep 13 13:37:54 EDT 2007


An HTML attachment was scrubbed...
URL: http://mailman.srv.cs.cmu.edu/pipermail/teamtalk-developers/attachments/20070913/92954f15/attachment-0001.html
-------------- next part --------------
Modified: trunk/moast-bth/moast/bin/Makefile.am
===================================================================
--- trunk/moast-bth/moast/bin/Makefile.am	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/bin/Makefile.am	2007-09-13 17:37:54 UTC (rev 742)
@@ -1,6 +1,5 @@
-bin_PROGRAMS = moastNmlSvr simWare servoShell primSPMain primMisMain primMobMain primShell segmentTest exampleUtmConvert gpsToSerial amSPMain amMisMain amMobMain amShell vehSPMain vehMobPLMain vehShell sectShell sectMobPL exampleDijkTabs exampleDijkHeap exampleDijkHeapN exampleAStarHeapA exampleAStarHeapB exampleAStarHeapNA exampleAStarHeapNB exampleScrollMap spPlay moastErrorLog nmlPrint inifind exampleVisGraph vehDrone nmlConvert spqrConvert slamStub trafficShell
+bin_PROGRAMS = moastNmlSvr simWare servoShell primSPMain primMisMain primMobMain primShell segmentTest polyIntersect exampleUtmConvert gpsToSerial amSPMain amMisMain amMobMain amShell vehSPMain vehMobPLMain vehShell sectShell sectMobPL exampleDijkTabs exampleDijkHeap exampleDijkHeapN exampleAStarHeapA exampleAStarHeapB exampleAStarHeapNA exampleAStarHeapNB exampleScrollMap spPlay moastErrorLog nmlPrint inifind exampleVisGraph vehDrone nmlConvert spqrConvert slamStub trafficShell linkMon linkMonShell
 
-
 INCLUDES = -I$(RCSLIB_DIR)/include
 
 moastNmlSvr_SOURCES = ../src/nml/moastNmlSvr.cc 
@@ -86,6 +85,15 @@
 segmentTest_SOURCES = ../src/tools/segmentTools/cluster.cc ../src/tools/segmentTools/test.cc ../src/tools/segmentTools/chainHull.cc ../src/tools/segmentTools/cluster.hh ../src/tools/segmentTools/vectorWM.cc ../src/tools/segmentTools/vectorWM.hh
 segmentTest_LDADD = ../lib/libmoast.a -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm
 
+linkMon_SOURCES = ../src/tools/linkMonitor/linkMon.cc
+linkMon_LDADD = ../lib/libmoast.a -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm
+
+linkMonShell_SOURCES = ../src/tools/linkMonitor/linkMonShell.cc
+linkMonShell_LDADD = ../lib/libmoast.a -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm
+
+polyIntersect_SOURCES = ../src/tools/segmentTools/sweep.cc ../src/tools/segmentTools/sweep.hh ../src/tools/segmentTools/polyIntersect.cc
+polyIntersect_LDADD = -L$(RCSLIB_DIR)/lib -lposemath -lm
+
 exampleUtmConvert_SOURCES = ../src/tools/exampleUtmConvert.cc
 exampleUtmConvert_LDADD = ../lib/libmoast.a -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm
 

Modified: trunk/moast-bth/moast/bin/runJoy
===================================================================
--- trunk/moast-bth/moast/bin/runJoy	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/bin/runJoy	2007-09-13 17:37:54 UTC (rev 742)
@@ -16,15 +16,21 @@
 #Zerg
 #PLATFORM=7; JOYMODE=1
 #Talon
-#PLATFORM=8; JOYMODE=1
+PLATFORM=8; JOYMODE=1
 #TeleMax
 #PLATFORM=9; JOYMODE=1
 #AirRobot
-PLATFORM=10; JOYMODE=4
-STARTLOC=1
-#STARTLOC=2
-#STARTLOC=3
+#PLATFORM=10; JOYMODE=4
 #done with user area
+
+if [ $# = 0 ]; then
+ STARTLOC=1
+else
+ STARTLOC=$1
+fi
+
+echo $STARTLOC
+
 #
 #are we on cygwin?
 CYGWIN=no
@@ -47,10 +53,10 @@
 VEH=no
 
 # if VEH=no, set AM=yes to run AM, prim, and servo, else AM=no
-AM=yes
+AM=no
 
 # if AM=no, set PRIM=yes to run prim, and servo, else PRIM=no
-PRIM=no
+PRIM=yes
 
 # set USARSIM=yes to run usarSim, else USARSIM=no to run simpleSim
 USARSIM=yes
@@ -155,11 +161,10 @@
 #./joySDL -d1 -x3 -y3 -z3 -w3 -m$JOYMODE&
 
 # Settings for the AirRobot
-#./robojoy -d1 -x1.5708 -y-5 -z5 -w-5
+./robojoy -d1 -x1.5708 -y-5 -z5 -w-5 &
 
 # Settings for other robots (robojoy will adjust scale factors automatically) 
-./robojoy -d1&
-
+#./robojoy -d1&
 pid11=$!
 
 ./$TOP

Modified: trunk/moast-bth/moast/bin/runTraffic
===================================================================
--- trunk/moast-bth/moast/bin/runTraffic	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/bin/runTraffic	2007-09-13 17:37:54 UTC (rev 742)
@@ -1,7 +1,7 @@
 #!/bin/sh
 #user set these for simulation
 #Number of robots
-NUM_ROBOTS=2
+NUM_ROBOTS=3
 #done with user area
 
 #

Modified: trunk/moast-bth/moast/etc/Makefile.local
===================================================================
--- trunk/moast-bth/moast/etc/Makefile.local	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/etc/Makefile.local	2007-09-13 17:37:54 UTC (rev 742)
@@ -19,7 +19,7 @@
 
 NMLCFG = $(RCSLIB_DIR)/bin/nmlcfg
 
-%.nml : %.cfg moastSect.cfg moastSvr.cfg moastVeh.cfg moastBuffers.cfg moastPrim.cfg moastServo.cfg moastTools.cfg spqr.cfg spqrBuffers.cfg
+%.nml : %.cfg moastSect.cfg moastSvr.cfg moastVeh.cfg moastBuffers.cfg moastPrim.cfg moastServo.cfg moastTools.cfg spqr.cfg spqrBuffers.cfg moastAM.cfg
 	@ echo building $@ from $<
 	$(NMLCFG) $< -o $@
 

Modified: trunk/moast-bth/moast/etc/moast.ini
===================================================================
--- trunk/moast-bth/moast/etc/moast.ini	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/etc/moast.ini	2007-09-13 17:37:54 UTC (rev 742)
@@ -310,8 +310,17 @@
 RESOLUTION = 0.01905
 UTM_LETTER = N
 UTM_ZONE = 18
-UTM_START_POSE_COUNT = 1
-UTM_START_POSE_1 = -28.2799 -101.88 -3.48 0.0 0.0 0
+UTM_START_POSE_COUNT = 10
+UTM_START_POSE_1 = -28.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_2 = -27.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_3 = -26.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_4 = -25.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_5 = -24.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_6 = -23.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_7 = -22.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_8 = -21.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_9 = -20.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_10 = -19.279918 -101.884305 -3.480000 0.0 0.0 0
 
 [DM-USAR_yellow_250]
 UNREAL_UTM_OFFSET = 0. 0. 0

Modified: trunk/moast-bth/moast/etc/moast.nml
===================================================================
--- trunk/moast-bth/moast/etc/moast.nml	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/etc/moast.nml	2007-09-13 17:37:54 UTC (rev 742)
@@ -334,11 +334,14 @@
  
 B joystickData 	SHMEM    	 localhost 	1088 	0 	* 	275 	* 	25475 	TCP=20476  xdr
  
+B linkMonCmd1 	SHMEM    	 localhost 	1088 	0 	* 	276 	* 	25476 	TCP=20477  xdr
+B linkMonStat1 	SHMEM    	 localhost 	8576 	0 	* 	277 	* 	25477 	TCP=20478  xdr
+ 
 # SPQR Buffers
-B MapBufP2DX 	SHMEM    	 localhost 	160192 	0 	* 	276 	* 	25476 	TCP=20477  xdr
-B MapBufZerg 	SHMEM    	 localhost 	160192 	0 	* 	277 	* 	25477 	TCP=20478  xdr
-B PosBufMapper 	SHMEM    	 localhost 	1088 	0 	* 	278 	* 	25478 	TCP=20479  xdr
-B PosBufVictim 	SHMEM    	 localhost 	1088 	0 	* 	279 	* 	25479 	TCP=20480  xdr
+B MapBufP2DX 	SHMEM    	 localhost 	160192 	0 	* 	278 	* 	25478 	TCP=20479  xdr
+B MapBufZerg 	SHMEM    	 localhost 	160192 	0 	* 	279 	* 	25479 	TCP=20480  xdr
+B PosBufMapper 	SHMEM    	 localhost 	1088 	0 	* 	280 	* 	25480 	TCP=20481  xdr
+B PosBufVictim 	SHMEM    	 localhost 	1088 	0 	* 	281 	* 	25481 	TCP=20482  xdr
  
 # MOAST NML Svr Configuration
 
@@ -1551,6 +1554,13 @@
 P spqrConvert 	MapBufZerg 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	2 	
 P spqrConvert 	PosBufMapper 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	2 	
 P spqrConvert 	PosBufVictim 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	2 	
+P    linkMon 	linkMonCmd1 	     LOCAL 	 localhost 	        RW 	2 	INF     	1 	0 	
+P    linkMon 	linkMonStat1 	     LOCAL 	 localhost 	        RW 	2 	INF     	1 	0 	
+P    linkMon 	trafficCtrlSet1 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	2 	
+P linkMonShell 	linkMonCmd1 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	1 	
+P linkMonShell 	linkMonStat1 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	1 	
+P linkMonShell 	trafficData1 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	2 	
+P linkMonShell 	trafficCtrlSet1 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	3 	
  
 # SPQR Processes
 P     mapper 	MapBufP2DX 	    REMOTE 	10.0.0.182 	        RW 	0 	INF     	0 	3 	

Modified: trunk/moast-bth/moast/etc/moastBuffers.cfg
===================================================================
--- trunk/moast-bth/moast/etc/moastBuffers.cfg	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/etc/moastBuffers.cfg	2007-09-13 17:37:54 UTC (rev 742)
@@ -384,3 +384,7 @@
 
 # joystick buffers
 b bufname=joystickData size=1024
+
+# link monitoring buffers
+b bufname=linkMonCmd1 size=1024
+b bufname=linkMonStat1 size=8500

Modified: trunk/moast-bth/moast/etc/moastTools.cfg
===================================================================
--- trunk/moast-bth/moast/etc/moastTools.cfg	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/etc/moastTools.cfg	2007-09-13 17:37:54 UTC (rev 742)
@@ -278,3 +278,16 @@
 p bufname=MapBufZerg name=spqrConvert master=0 server=0 proctype=local 
 p bufname=PosBufMapper name=spqrConvert master=0 server=0 proctype=local 
 p bufname=PosBufVictim name=spqrConvert master=0 server=0 proctype=local 
+#
+# link monitor
+#
+p bufname=linkMonCmd1 name=linkMon master=1 server=2 proctype=local
+p bufname=linkMonStat1 name=linkMon master=1 server=2 proctype=local
+p bufname=trafficCtrlSet1 name=linkMon master=0 server=0 proctype=local
+#
+# link monitor shell
+#
+p bufname=linkMonCmd1 name=linkMonShell master=0 server=0 proctype=local
+p bufname=linkMonStat1 name=linkMonShell master=0 server=0 proctype=local
+p bufname=trafficData1 name=linkMonShell master=0 server=0 proctype=local
+p bufname=trafficCtrlSet1 name=linkMonShell master=0 server=0 proctype=local

Modified: trunk/moast-bth/moast/etc/traffic.ini
===================================================================
--- trunk/moast-bth/moast/etc/traffic.ini	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/etc/traffic.ini	2007-09-13 17:37:54 UTC (rev 742)
@@ -1,4 +1,27 @@
 ; Traffic Simulation initialization file
+
+[DM-RoboCup07_Outdoor_1_250]
+UTM_START_POSE_1 = -28.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_2 = -27.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_3 = -26.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_4 = -25.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_5 = -24.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_6 = -23.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_7 = -22.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_8 = -21.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_9 = -20.279918 -101.884305 -3.480000 0.0 0.0 0
+UTM_START_POSE_10 = -19.279918 -101.884305 -3.480000 0.0 0.0 0
+PLATFORM_TYPE_1 = P2AT
+PLATFORM_TYPE_2 = P2AT
+PLATFORM_TYPE_3 = Talon
+PLATFORM_TYPE_4 = Talon
+PLATFORM_TYPE_5 = Talon
+PLATFORM_TYPE_6 = Talon
+PLATFORM_TYPE_7 = Talon
+PLATFORM_TYPE_8 = Talon
+PLATFORM_TYPE_9 = Talon
+PLATFORM_TYPE_10 = Talon
+
 [DM-Mapping_250]
 UTM_START_POSE_1 = 3.63 10.8 -.446 0 0 0
 UTM_START_POSE_2 = 3.41 9.96 -.446 0 0 0

Added: trunk/moast-bth/moast/include/linkMonCtrl.hh
===================================================================
--- trunk/moast-bth/moast/include/linkMonCtrl.hh	                        (rev 0)
+++ trunk/moast-bth/moast/include/linkMonCtrl.hh	2007-09-13 17:37:54 UTC (rev 742)
@@ -0,0 +1,175 @@
+/*
+  DISCLAIMER:
+  This software was produced by the National Institute of Standards
+  and Technology (NIST), an agency of the U.S. government, and by statute is
+  not subject to copyright in the United States.  Recipients of this software
+  assume all responsibility associated with its operation, modification,
+  maintenance, and subsequent redistribution.
+
+  See NIST Administration Manual 4.09.07 b and Appendix I. 
+*/
+
+/*!
+  \file linkMonCtrl.hh
+
+  \brief NML declarations for the vehicle link monitor program. 
+  and settings.
+
+
+  \code CVS Status:
+  $Author: dr_steveb $
+  $Revision: 1.1 $
+  $Date: 2007/09/11 20:27:43 $
+  \endcode
+
+  \author Stephen Balakirsky
+*/
+
+#include <stdio.h>
+#include <rcs.hh>
+#include <posemath.h>
+#include "moastNmlOffsets.hh"
+#include "moastTypes.hh"
+
+#ifndef LINK_MON_CTRLL_HH
+#define LINK_MON_CTRLL_HH
+
+#define LINK_MON_CMD_NAME "linkMonCmd"
+#define LINK_MON_STAT_NAME "linkMonStat"
+
+#define LINK_MON_CMD_BASE        (LINK_MON_BASE)
+#define LINK_MON_STAT_BASE       (LINK_MON_BASE + 100)
+#define LINK_MON_CFG_BASE        (LINK_MON_BASE + 200)
+#define LINK_MON_SET_BASE        (LINK_MON_BASE + 300)
+
+#define LINK_MON_CMD_INIT_TYPE          (LINK_MON_CMD_BASE + 1)
+#define LINK_MON_CMD_ABORT_TYPE         (LINK_MON_CMD_BASE + 2)
+#define LINK_MON_CMD_HALT_TYPE          (LINK_MON_CMD_BASE + 3)
+#define LINK_MON_CMD_SHUTDOWN_TYPE      (LINK_MON_CMD_BASE + 4)
+#define LINK_MON_CMD_NOP_TYPE           (LINK_MON_CMD_BASE + 5)
+#define LINK_MON_CMD_MONITOR_TYPE       (LINK_MON_CMD_BASE + 6)
+
+#define LINK_MON_STAT_TYPE              (LINK_MON_STAT_BASE + 1)
+
+#define LINK_MON_CFG_CYCLE_TIME_TYPE    (LINK_MON_CFG_BASE + 1)
+#define LINK_MON_CFG_DEBUG_TYPE         (LINK_MON_CFG_BASE + 2)
+#define LINK_MON_CFG_NOP_TYPE           (LINK_MON_CFG_BASE + 3)
+
+#define LINK_MON_SET_TYPE               (LINK_MON_SET_BASE + 1)
+
+/////////////////////////////////////////////////////////////////
+// supporting structures
+
+/////////////////////////////////////////////////////////////////
+// commands
+class LinkMonCmdInit:public RCS_CMD_MSG {
+public:
+  LinkMonCmdInit():RCS_CMD_MSG
+    (LINK_MON_CMD_INIT_TYPE, sizeof(LinkMonCmdInit)) {};
+  void update(CMS *);
+};
+
+class LinkMonCmdHalt:public RCS_CMD_MSG {
+public:
+  LinkMonCmdHalt():RCS_CMD_MSG
+    (LINK_MON_CMD_HALT_TYPE, sizeof(LinkMonCmdHalt)) {};
+  void update(CMS *);
+};
+
+class LinkMonCmdAbort:public RCS_CMD_MSG {
+public:
+  LinkMonCmdAbort():RCS_CMD_MSG
+    (LINK_MON_CMD_ABORT_TYPE, sizeof(LinkMonCmdAbort)) {};
+  void update(CMS *);
+};
+
+class LinkMonCmdShutdown:public RCS_CMD_MSG {
+public:
+  LinkMonCmdShutdown():RCS_CMD_MSG
+    (LINK_MON_CMD_SHUTDOWN_TYPE, sizeof(LinkMonCmdShutdown)) {};
+  void update(CMS *);
+};
+
+class LinkMonCmdNop:public RCS_CMD_MSG {
+public:
+  LinkMonCmdNop():RCS_CMD_MSG
+    (LINK_MON_CMD_NOP_TYPE, sizeof(LinkMonCmdNop)) {};
+  void update(CMS *);
+};
+
+class LinkMonCmdMonitor:public RCS_CMD_MSG {
+public:
+  LinkMonCmdMonitor():RCS_CMD_MSG
+    (LINK_MON_CMD_MONITOR_TYPE, sizeof(LinkMonCmdMonitor)) {};
+  void update(CMS *);
+};
+
+/*!
+  Status message
+*/
+typedef struct{
+  char name[MAX_TRAFFIC_VEHICLES][80];
+  float cost;
+  int length;
+}RadioRoute;
+
+class LinkMonStat:public RCS_STAT_MSG_V2 {
+public:
+  LinkMonStat():RCS_STAT_MSG_V2(LINK_MON_STAT_TYPE, sizeof(LinkMonStat)) {};
+  void update(CMS *);
+  DECLARE_NML_DYNAMIC_LENGTH_ARRAY(RadioRoute, route, MAX_TRAFFIC_VEHICLES);
+  // route_length autogenerated
+};
+
+/*!
+  Commands that will come into the configuration channel
+*/
+class linkMonCfgCycleTime:public RCS_CMD_MSG {
+public:
+  linkMonCfgCycleTime():RCS_CMD_MSG
+    (LINK_MON_CFG_CYCLE_TIME_TYPE, sizeof(linkMonCfgCycleTime)) {};
+  void update(CMS *);
+
+  double cycleTime;
+};
+
+class linkMonCfgNop:public RCS_CMD_MSG {
+public:
+  linkMonCfgNop():RCS_CMD_MSG
+    (LINK_MON_CFG_NOP_TYPE, sizeof(linkMonCfgNop)) {};
+  void update(CMS *);
+};
+
+class linkMonCfgDebug:public RCS_CMD_MSG {
+public:
+  linkMonCfgDebug():RCS_CMD_MSG
+    (LINK_MON_CFG_DEBUG_TYPE, sizeof(linkMonCfgDebug)) {};
+  void update(CMS *);
+
+  int debug;			// debug mask
+};
+
+/*!
+  linkMonSet is the class that holds the quasi-static  settings,
+  those that change infrequently and in response to  configuration
+  messages.
+ */
+class linkMonSet:public RCS_STAT_MSG_V2 {
+public:
+  linkMonSet():RCS_STAT_MSG_V2(LINK_MON_SET_TYPE, sizeof(linkMonSet)) {};
+  void update(CMS *);
+};
+
+extern int linkMonCtrl_format(NMLTYPE type, void *buf, CMS * cms);
+extern const char * linkMonCtrl_symbol_lookup(long type);
+
+#endif // LINK_MON_HH
+
+/*
+  Modification history:
+
+  $Log: linkMonCtrl.hh,v $
+  Revision 1.1  2007/09/11 20:27:43  dr_steveb
+  Changes for link monitoring
+
+*/

Modified: trunk/moast-bth/moast/include/moastNmlOffsets.hh
===================================================================
--- trunk/moast-bth/moast/include/moastNmlOffsets.hh	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/include/moastNmlOffsets.hh	2007-09-13 17:37:54 UTC (rev 742)
@@ -15,9 +15,9 @@
   \brief Starting numbers for MOAST NMLtype declarations
 
   \code CVS Status:
-  $Author: proctor $
-  $Revision: 1.4 $
-  $Date: 2007/07/24 18:38:22 $
+  $Author: dr_steveb $
+  $Revision: 1.5 $
+  $Date: 2007/09/11 20:27:43 $
   \endcode
 
   \author Fred Proctor
@@ -82,12 +82,18 @@
 //! used by joystickData.hh
 #define JOYSTICK_DATA_BASE 17000
 
+//! user by linkmonitor.hh
+#define LINK_MON_BASE      18000
+
 #endif // MOAST_NML_OFFSETS_HH
 
 /*
   Modification history:
 
   $Log: moastNmlOffsets.hh,v $
+  Revision 1.5  2007/09/11 20:27:43  dr_steveb
+  Changes for link monitoring
+
   Revision 1.4  2007/07/24 18:38:22  proctor
   Added JoystickData
 

Modified: trunk/moast-bth/moast/include/trafficCtrl.hh
===================================================================
--- trunk/moast-bth/moast/include/trafficCtrl.hh	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/include/trafficCtrl.hh	2007-09-13 17:37:54 UTC (rev 742)
@@ -19,8 +19,8 @@
 
   \code CVS Status:
   $Author: dr_steveb $
-  $Revision: 1.4 $
-  $Date: 2007/08/29 18:26:25 $
+  $Revision: 1.5 $
+  $Date: 2007/09/11 20:27:43 $
   \endcode
 
   \author Stephen Balakirsky
@@ -312,12 +312,17 @@
   int debug;			// debug mask
 };
 
+
+typedef struct{
+  int steerType;
+  char robotName[MOAST_WORLD_NAME_LEN];
+}RobotInfo;
+
 /*!
   TrafficCtrlSet is the class that holds the quasi-static vehicle settings,
   those that change infrequently and in response to vehicle configuration
   messages.
  */
-
 class TrafficCtrlSet:public RCS_STAT_MSG {
 public:
   TrafficCtrlSet():RCS_STAT_MSG(TRAFFIC_CTRL_SET_TYPE, sizeof(TrafficCtrlSet)) {};
@@ -335,8 +340,8 @@
   // value of angular deviation above which angular speed is clamped
   // to wmax
   double wCutoffAngle;		// [rad]
-  DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int, steerType, MAX_TRAFFIC_VEHICLES);
-  // will now get 'int steerType_length'
+  DECLARE_NML_DYNAMIC_LENGTH_ARRAY(RobotInfo, robotInfo, MAX_TRAFFIC_VEHICLES);
+  // will now get 'int robotInfo_length'
 };
 extern int trafficCtrl_format(NMLTYPE type, void *buf, CMS * cms);
 extern const char *trafficCtrl_symbol_lookup(long type);
@@ -346,6 +351,9 @@
   Modification history:
 
   $Log: trafficCtrl.hh,v $
+  Revision 1.5  2007/09/11 20:27:43  dr_steveb
+  Changes for link monitoring
+
   Revision 1.4  2007/08/29 18:26:25  dr_steveb
   Added joystick control commands to the traffic cmd buffer and moved some constants to mostTypes
 

Modified: trunk/moast-bth/moast/lib/Makefile.am
===================================================================
--- trunk/moast-bth/moast/lib/Makefile.am	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/lib/Makefile.am	2007-09-13 17:37:54 UTC (rev 742)
@@ -1,7 +1,7 @@
 INCLUDES = -I$(RCSLIB_DIR)/include
 
 lib_LIBRARIES = libmoast.a
-libmoast_a_SOURCES = ../src/nml/moastTypes.cc ../src/nml/moastNmlGlobal.cc ../src/nml/moastError.cc ../src/nml/navDataExt.cc ../src/nml/servoSP.cc ../src/nml/servoMobJA.cc ../src/nml/servoMisJA.cc ../src/nml/primSP.cc ../src/nml/primMobJA.cc ../src/nml/primMisJA.cc ../src/nml/amSP.cc ../src/nml/amMisJA.cc ../src/nml/amMobJA.cc ../src/nml/sensorData.cc ../src/common/acmRandom.c ../src/common/utmConvert.cc ../src/nml/vehSP.cc ../src/nml/vehMobPL.cc ../src/nml/sectMobPL.cc ../src/common/dijkTabs.cc ../src/common/dijkHeap.cc ../src/common/dijkHeapN.cc ../src/common/aStarHeap.cc ../src/common/aStarHeapN.cc ../src/common/visGraph.cc ../src/common/moastGeom.cc ../src/common/getopt_long.c ../src/nml/nmlMap.cc ../src/nml/nmlPosition.cc ../src/nml/trafficCtrl.cc ../src/nml/trafficData.cc ../src/nml/joystickData.cc
+libmoast_a_SOURCES = ../src/nml/moastTypes.cc ../src/nml/moastNmlGlobal.cc ../src/nml/moastError.cc ../src/nml/navDataExt.cc ../src/nml/servoSP.cc ../src/nml/servoMobJA.cc ../src/nml/servoMisJA.cc ../src/nml/primSP.cc ../src/nml/primMobJA.cc ../src/nml/primMisJA.cc ../src/nml/amSP.cc ../src/nml/amMisJA.cc ../src/nml/amMobJA.cc ../src/nml/sensorData.cc ../src/common/acmRandom.c ../src/common/utmConvert.cc ../src/nml/vehSP.cc ../src/nml/vehMobPL.cc ../src/nml/sectMobPL.cc ../src/common/dijkTabs.cc ../src/common/dijkHeap.cc ../src/common/dijkHeapN.cc ../src/common/aStarHeap.cc ../src/common/aStarHeapN.cc ../src/common/visGraph.cc ../src/common/moastGeom.cc ../src/common/getopt_long.c ../src/nml/nmlMap.cc ../src/nml/nmlPosition.cc ../src/nml/trafficCtrl.cc ../src/nml/trafficData.cc ../src/nml/joystickData.cc ../src/nml/linkMonCtrl.cc
 
 if ! HAVE_GETOPT_H
 libmoast_a_SOURCES += ../src/common/getopt_long.c 

Modified: trunk/moast-bth/moast/src/nml/Makefile.local
===================================================================
--- trunk/moast-bth/moast/src/nml/Makefile.local	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/src/nml/Makefile.local	2007-09-13 17:37:54 UTC (rev 742)
@@ -25,6 +25,7 @@
 	trafficData.cc \
 	trafficCtrl.cc \
 	joystickData.cc \
+	linkMonCtrl.cc \
 	all
 
 # get RCSLIB_DIR, "all" et al, although we really only need RCSLIB_DIR

Added: trunk/moast-bth/moast/src/nml/linkMonCtrl.cc
===================================================================
--- trunk/moast-bth/moast/src/nml/linkMonCtrl.cc	                        (rev 0)
+++ trunk/moast-bth/moast/src/nml/linkMonCtrl.cc	2007-09-13 17:37:54 UTC (rev 742)
@@ -0,0 +1,682 @@
+/*
+*	New C++ File starts here.
+*	This file should be named moastTypes.cc
+*/
+
+// Include all NML, CMS, and RCS classes and functions
+#include "rcs.hh"
+
+// Include command and status message definitions
+#include "moastTypes.hh"
+#include "moastNmlOffsets.hh"
+#include "linkMonCtrl.hh"
+
+// Forward Function Prototypes
+void nmlupdate(CMS *cms, RadioRoute *x);
+void initialize_RadioRoute(RadioRoute *x);
+
+/*
+*	Initializer for RadioRoute
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void initialize_RadioRoute(RadioRoute* x)
+{
+	for(int i_name=0; i_name< 800; i_name++)
+	{
+		((char*) x->name)[i_name]  = (char) 0;
+	}
+	x->cost = (float) 0;
+	x->length = (int) 0;
+
+}
+
+
+#ifndef MAX_LINKMONCTRL_NAME_LENGTH
+#define MAX_LINKMONCTRL_NAME_LENGTH 20
+#endif
+#ifndef LINKMONCTRL_NAME_LIST_LENGTH
+#define LINKMONCTRL_NAME_LIST_LENGTH 12
+#endif
+
+
+/* This list must be in alphabetical order and the three lists must correspond. */
+const char linkMonCtrl_name_list[LINKMONCTRL_NAME_LIST_LENGTH][MAX_LINKMONCTRL_NAME_LENGTH]= {
+	"LinkMonCmdAbort", /* 0,18002 */
+	"LinkMonCmdHalt", /* 1,18003 */
+	"LinkMonCmdInit", /* 2,18001 */
+	"LinkMonCmdMonitor", /* 3,18006 */
+	"LinkMonCmdNop", /* 4,18005 */
+	"LinkMonCmdShutdown", /* 5,18004 */
+	"LinkMonStat", /* 6,18101 */
+	"linkMonCfgCycleTime", /* 8,18201 */
+	"linkMonCfgDebug", /* 9,18202 */
+	"linkMonCfgNop", /* 10,18203 */
+	"linkMonSet", /* 11,18301 */
+	""};
+const NMLTYPE linkMonCtrl_id_list[LINKMONCTRL_NAME_LIST_LENGTH]= {
+	LINK_MON_CMD_ABORT_TYPE, /* 0,18002 */
+	LINK_MON_CMD_HALT_TYPE, /* 1,18003 */
+	LINK_MON_CMD_INIT_TYPE, /* 2,18001 */
+	LINK_MON_CMD_MONITOR_TYPE, /* 3,18006 */
+	LINK_MON_CMD_NOP_TYPE, /* 4,18005 */
+	LINK_MON_CMD_SHUTDOWN_TYPE, /* 5,18004 */
+	LINK_MON_STAT_TYPE, /* 6,18101 */
+	LINK_MON_CFG_CYCLE_TIME_TYPE, /* 8,18201 */
+	LINK_MON_CFG_DEBUG_TYPE, /* 9,18202 */
+	LINK_MON_CFG_NOP_TYPE, /* 10,18203 */
+	LINK_MON_SET_TYPE, /* 11,18301 */
+	-1};
+const size_t linkMonCtrl_size_list[LINKMONCTRL_NAME_LIST_LENGTH]= {
+	sizeof(LinkMonCmdAbort),
+	sizeof(LinkMonCmdHalt),
+	sizeof(LinkMonCmdInit),
+	sizeof(LinkMonCmdMonitor),
+	sizeof(LinkMonCmdNop),
+	sizeof(LinkMonCmdShutdown),
+	sizeof(LinkMonStat),
+	sizeof(linkMonCfgCycleTime),
+	sizeof(linkMonCfgDebug),
+	sizeof(linkMonCfgNop),
+	sizeof(linkMonSet),
+	0};
+const char *linkMonCtrl_symbol_lookup(long type);
+
+
+// Enumerated Type Constants
+
+// moastSteerType
+#ifndef MAX_ENUM_MOASTSTEERTYPE_STRING_LENGTH
+#define MAX_ENUM_MOASTSTEERTYPE_STRING_LENGTH 29
+#endif
+#ifndef ENUM_MOASTSTEERTYPE_LENGTH
+#define ENUM_MOASTSTEERTYPE_LENGTH 9
+#endif
+
+static const char enum_moastSteerType_string_list[ENUM_MOASTSTEERTYPE_LENGTH][MAX_ENUM_MOASTSTEERTYPE_STRING_LENGTH]= {
+	"MOAST_ACKERMAN_STEER_TYPE", /* 0,1 */
+	"MOAST_FIXED_WING_STEER_TYPE", /* 1,5 */
+	"MOAST_INVALID_STEER_TYPE", /* 2,-1 */
+	"MOAST_OMNI_STEER_TYPE", /* 3,2 */
+	"MOAST_ROTARY_WING_STEER_TYPE", /* 4,4 */
+	"MOAST_SKID_STEER_TYPE", /* 5,0 */
+	"MOAST_SUBMARINE_STEER_TYPE", /* 6,3 */
+	"MOAST_UNKNOWN_STEER_TYPE", /* 7,6 */
+	""};
+
+static const int enum_moastSteerType_int_list[ENUM_MOASTSTEERTYPE_LENGTH]= {
+	MOAST_ACKERMAN_STEER_TYPE, /* 0,1 */
+	MOAST_FIXED_WING_STEER_TYPE, /* 1,5 */
+	MOAST_INVALID_STEER_TYPE, /* 2,-1 */
+	MOAST_OMNI_STEER_TYPE, /* 3,2 */
+	MOAST_ROTARY_WING_STEER_TYPE, /* 4,4 */
+	MOAST_SKID_STEER_TYPE, /* 5,0 */
+	MOAST_SUBMARINE_STEER_TYPE, /* 6,3 */
+	MOAST_UNKNOWN_STEER_TYPE, /* 7,6 */
+	};
+
+const char *linkMonCtrl_enum_moastSteerType_symbol_lookup(long v)
+{
+	switch(v)
+	{
+		case MOAST_ACKERMAN_STEER_TYPE: return("MOAST_ACKERMAN_STEER_TYPE"); /* 1 */
+		case MOAST_FIXED_WING_STEER_TYPE: return("MOAST_FIXED_WING_STEER_TYPE"); /* 5 */
+		case MOAST_INVALID_STEER_TYPE: return("MOAST_INVALID_STEER_TYPE"); /* -1 */
+		case MOAST_OMNI_STEER_TYPE: return("MOAST_OMNI_STEER_TYPE"); /* 2 */
+		case MOAST_ROTARY_WING_STEER_TYPE: return("MOAST_ROTARY_WING_STEER_TYPE"); /* 4 */
+		case MOAST_SKID_STEER_TYPE: return("MOAST_SKID_STEER_TYPE"); /* 0 */
+		case MOAST_SUBMARINE_STEER_TYPE: return("MOAST_SUBMARINE_STEER_TYPE"); /* 3 */
+		case MOAST_UNKNOWN_STEER_TYPE: return("MOAST_UNKNOWN_STEER_TYPE"); /* 6 */
+		default:break;
+	}
+	return("!!UNDEFINED_SYMBOL!!");
+}
+
+static const struct cms_enum_info enum_moastSteerType_info_struct={
+	"moastSteerType",
+	(const char **)enum_moastSteerType_string_list,
+	enum_moastSteerType_int_list,
+	MAX_ENUM_MOASTSTEERTYPE_STRING_LENGTH,
+	ENUM_MOASTSTEERTYPE_LENGTH,
+	(cms_symbol_lookup_function_t)linkMonCtrl_enum_moastSteerType_symbol_lookup
+	};
+
+// RCS_ADMIN_STATE
+#ifndef MAX_ENUM_RCS_ADMIN_STATE_STRING_LENGTH
+#define MAX_ENUM_RCS_ADMIN_STATE_STRING_LENGTH 20
+#endif
+#ifndef ENUM_RCS_ADMIN_STATE_LENGTH
+#define ENUM_RCS_ADMIN_STATE_LENGTH 5
+#endif
+
+static const char enum_RCS_ADMIN_STATE_string_list[ENUM_RCS_ADMIN_STATE_LENGTH][MAX_ENUM_RCS_ADMIN_STATE_STRING_LENGTH]= {
+	"ADMIN_INITIALIZED", /* 0,2 */
+	"ADMIN_SHUT_DOWN", /* 1,3 */
+	"ADMIN_UNINITIALIZED", /* 2,1 */
+	"RCS_ADMIN_ZERO", /* 3,0 */
+	""};
+
+static const int enum_RCS_ADMIN_STATE_int_list[ENUM_RCS_ADMIN_STATE_LENGTH]= {
+	ADMIN_INITIALIZED, /* 0,2 */
+	ADMIN_SHUT_DOWN, /* 1,3 */
+	ADMIN_UNINITIALIZED, /* 2,1 */
+	RCS_ADMIN_ZERO, /* 3,0 */
+	};
+
+const char *linkMonCtrl_enum_RCS_ADMIN_STATE_symbol_lookup(long v)
+{
+	switch(v)
+	{
+		case ADMIN_INITIALIZED: return("ADMIN_INITIALIZED"); /* 2 */
+		case ADMIN_SHUT_DOWN: return("ADMIN_SHUT_DOWN"); /* 3 */
+		case ADMIN_UNINITIALIZED: return("ADMIN_UNINITIALIZED"); /* 1 */
+		case RCS_ADMIN_ZERO: return("RCS_ADMIN_ZERO"); /* 0 */
+		default:break;
+	}
+	return("!!UNDEFINED_SYMBOL!!");
+}
+
+static const struct cms_enum_info enum_RCS_ADMIN_STATE_info_struct={
+	"RCS_ADMIN_STATE",
+	(const char **)enum_RCS_ADMIN_STATE_string_list,
+	enum_RCS_ADMIN_STATE_int_list,
+	MAX_ENUM_RCS_ADMIN_STATE_STRING_LENGTH,
+	ENUM_RCS_ADMIN_STATE_LENGTH,
+	(cms_symbol_lookup_function_t)linkMonCtrl_enum_RCS_ADMIN_STATE_symbol_lookup
+	};
+
+// RCS_STATUS
+#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH
+#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21
+#endif
+#ifndef ENUM_RCS_STATUS_LENGTH
+#define ENUM_RCS_STATUS_LENGTH 5
+#endif
+
+static const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= {
+	"RCS_DONE", /* 0,1 */
+	"RCS_ERROR", /* 1,3 */
+	"RCS_EXEC", /* 2,2 */
+	"UNINITIALIZED_STATUS", /* 3,-1 */
+	""};
+
+static const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= {
+	RCS_DONE, /* 0,1 */
+	RCS_ERROR, /* 1,3 */
+	RCS_EXEC, /* 2,2 */
+	UNINITIALIZED_STATUS, /* 3,-1 */
+	};
+
+const char *linkMonCtrl_enum_RCS_STATUS_symbol_lookup(long v)
+{
+	switch(v)
+	{
+		case RCS_DONE: return("RCS_DONE"); /* 1 */
+		case RCS_ERROR: return("RCS_ERROR"); /* 3 */
+		case RCS_EXEC: return("RCS_EXEC"); /* 2 */
+		case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */
+		default:break;
+	}
+	return("!!UNDEFINED_SYMBOL!!");
+}
+
+static const struct cms_enum_info enum_RCS_STATUS_info_struct={
+	"RCS_STATUS",
+	(const char **)enum_RCS_STATUS_string_list,
+	enum_RCS_STATUS_int_list,
+	MAX_ENUM_RCS_STATUS_STRING_LENGTH,
+	ENUM_RCS_STATUS_LENGTH,
+	(cms_symbol_lookup_function_t)linkMonCtrl_enum_RCS_STATUS_symbol_lookup
+	};
+
+// moastFlipperType
+#ifndef MAX_ENUM_MOASTFLIPPERTYPE_STRING_LENGTH
+#define MAX_ENUM_MOASTFLIPPERTYPE_STRING_LENGTH 22
+#endif
+#ifndef ENUM_MOASTFLIPPERTYPE_LENGTH
+#define ENUM_MOASTFLIPPERTYPE_LENGTH 5
+#endif
+
+static const char enum_moastFlipperType_string_list[ENUM_MOASTFLIPPERTYPE_LENGTH][MAX_ENUM_MOASTFLIPPERTYPE_STRING_LENGTH]= {
+	"MOAST_FL_FLIPPER_TYPE", /* 0,1 */
+	"MOAST_FR_FLIPPER_TYPE", /* 1,0 */
+	"MOAST_RL_FLIPPER_TYPE", /* 2,3 */
+	"MOAST_RR_FLIPPER_TYPE", /* 3,2 */
+	""};
+
+static const int enum_moastFlipperType_int_list[ENUM_MOASTFLIPPERTYPE_LENGTH]= {
+	MOAST_FL_FLIPPER_TYPE, /* 0,1 */
+	MOAST_FR_FLIPPER_TYPE, /* 1,0 */
+	MOAST_RL_FLIPPER_TYPE, /* 2,3 */
+	MOAST_RR_FLIPPER_TYPE, /* 3,2 */
+	};
+
+const char *linkMonCtrl_enum_moastFlipperType_symbol_lookup(long v)
+{
+	switch(v)
+	{
+		case MOAST_FL_FLIPPER_TYPE: return("MOAST_FL_FLIPPER_TYPE"); /* 1 */
+		case MOAST_FR_FLIPPER_TYPE: return("MOAST_FR_FLIPPER_TYPE"); /* 0 */
+		case MOAST_RL_FLIPPER_TYPE: return("MOAST_RL_FLIPPER_TYPE"); /* 3 */
+		case MOAST_RR_FLIPPER_TYPE: return("MOAST_RR_FLIPPER_TYPE"); /* 2 */
+		default:break;
+	}
+	return("!!UNDEFINED_SYMBOL!!");
+}
+
+static const struct cms_enum_info enum_moastFlipperType_info_struct={
+	"moastFlipperType",
+	(const char **)enum_moastFlipperType_string_list,
+	enum_moastFlipperType_int_list,
+	MAX_ENUM_MOASTFLIPPERTYPE_STRING_LENGTH,
+	ENUM_MOASTFLIPPERTYPE_LENGTH,
+	(cms_symbol_lookup_function_t)linkMonCtrl_enum_moastFlipperType_symbol_lookup
+	};
+
+// moastRobotType
+#ifndef MAX_ENUM_MOASTROBOTTYPE_STRING_LENGTH
+#define MAX_ENUM_MOASTROBOTTYPE_STRING_LENGTH 26
+#endif
+#ifndef ENUM_MOASTROBOTTYPE_LENGTH
+#define ENUM_MOASTROBOTTYPE_LENGTH 7
+#endif
+
+static const char enum_moastRobotType_string_list[ENUM_MOASTROBOTTYPE_LENGTH][MAX_ENUM_MOASTROBOTTYPE_STRING_LENGTH]= {
+	"MOAST_AERIAL_ROBOT_TYPE", /* 0,2 */
+	"MOAST_GROUND_VEHICLE_TYPE", /* 1,0 */
+	"MOAST_INVALID_ROBOT_TYPE", /* 2,-1 */
+	"MOAST_LEGGED_ROBOT_TYPE", /* 3,3 */
+	"MOAST_NAUTIC_ROBOT_TYPE", /* 4,1 */
+	"MOAST_UNKNOWN_ROBOT_TYPE", /* 5,4 */
+	""};
+
+static const int enum_moastRobotType_int_list[ENUM_MOASTROBOTTYPE_LENGTH]= {
+	MOAST_AERIAL_ROBOT_TYPE, /* 0,2 */
+	MOAST_GROUND_VEHICLE_TYPE, /* 1,0 */
+	MOAST_INVALID_ROBOT_TYPE, /* 2,-1 */
+	MOAST_LEGGED_ROBOT_TYPE, /* 3,3 */
+	MOAST_NAUTIC_ROBOT_TYPE, /* 4,1 */
+	MOAST_UNKNOWN_ROBOT_TYPE, /* 5,4 */
+	};
+
+const char *linkMonCtrl_enum_moastRobotType_symbol_lookup(long v)
+{
+	switch(v)
+	{
+		case MOAST_AERIAL_ROBOT_TYPE: return("MOAST_AERIAL_ROBOT_TYPE"); /* 2 */
+		case MOAST_GROUND_VEHICLE_TYPE: return("MOAST_GROUND_VEHICLE_TYPE"); /* 0 */
+		case MOAST_INVALID_ROBOT_TYPE: return("MOAST_INVALID_ROBOT_TYPE"); /* -1 */
+		case MOAST_LEGGED_ROBOT_TYPE: return("MOAST_LEGGED_ROBOT_TYPE"); /* 3 */
+		case MOAST_NAUTIC_ROBOT_TYPE: return("MOAST_NAUTIC_ROBOT_TYPE"); /* 1 */
+		case MOAST_UNKNOWN_ROBOT_TYPE: return("MOAST_UNKNOWN_ROBOT_TYPE"); /* 4 */
+		default:break;
+	}
+	return("!!UNDEFINED_SYMBOL!!");
+}
+
+static const struct cms_enum_info enum_moastRobotType_info_struct={
+	"moastRobotType",
+	(const char **)enum_moastRobotType_string_list,
+	enum_moastRobotType_int_list,
+	MAX_ENUM_MOASTROBOTTYPE_STRING_LENGTH,
+	ENUM_MOASTROBOTTYPE_LENGTH,
+	(cms_symbol_lookup_function_t)linkMonCtrl_enum_moastRobotType_symbol_lookup
+	};
+
+// anonymous_enum_______include_moastTypes_hh_210
+#ifndef MAX_ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_STRING_LENGTH
+#define MAX_ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_STRING_LENGTH 17
+#endif
+#ifndef ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_LENGTH
+#define ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_LENGTH 3
+#endif
+
+static const char enum_anonymous_enum_______include_moastTypes_hh_210_string_list[ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_LENGTH][MAX_ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_STRING_LENGTH]= {
+	"MOAST_ROTATE_CCW", /* 0,1 */
+	"MOAST_ROTATE_CW", /* 1,0 */
+	""};
+
+static const int enum_anonymous_enum_______include_moastTypes_hh_210_int_list[ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_LENGTH]= {
+	MOAST_ROTATE_CCW, /* 0,1 */
+	MOAST_ROTATE_CW, /* 1,0 */
+	};
+
+const char *linkMonCtrl_enum_anonymous_enum_______include_moastTypes_hh_210_symbol_lookup(long v)
+{
+	switch(v)
+	{
+		case MOAST_ROTATE_CCW: return("MOAST_ROTATE_CCW"); /* 1 */
+		case MOAST_ROTATE_CW: return("MOAST_ROTATE_CW"); /* 0 */
+		default:break;
+	}
+	return("!!UNDEFINED_SYMBOL!!");
+}
+
+static const struct cms_enum_info enum_anonymous_enum_______include_moastTypes_hh_210_info_struct={
+	"anonymous_enum_______include_moastTypes_hh_210",
+	(const char **)enum_anonymous_enum_______include_moastTypes_hh_210_string_list,
+	enum_anonymous_enum_______include_moastTypes_hh_210_int_list,
+	MAX_ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_STRING_LENGTH,
+	ENUM_ANONYMOUS_ENUM_______INCLUDE_MOASTTYPES_HH_210_LENGTH,
+	(cms_symbol_lookup_function_t)linkMonCtrl_enum_anonymous_enum_______include_moastTypes_hh_210_symbol_lookup
+	};
+
+/*
+Estimated_size	LinkMonCmdAbort	24
+Estimated_size	LinkMonCmdHalt	24
+Estimated_size	LinkMonCmdInit	24
+Estimated_size	LinkMonCmdMonitor	24
+Estimated_size	LinkMonCmdNop	24
+Estimated_size	LinkMonCmdShutdown	24
+Estimated_size	LinkMonStat	8472
+Estimated_size	RadioRoute	816
+Estimated_size	linkMonCfgCycleTime	32
+Estimated_size	linkMonCfgDebug	32
+Estimated_size	linkMonCfgNop	24
+Estimated_size	linkMonSet	296
+Estimated_size	MAXIMUM	8472
+*/
+/*
+*	NML/CMS Format function : linkMonCtrl_format
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+int linkMonCtrl_format(NMLTYPE type, void *buffer, CMS *cms)
+{
+
+	type = cms->check_type_info(type,buffer,"linkMonCtrl",
+		(cms_symbol_lookup_function_t) linkMonCtrl_symbol_lookup,
+		(const char **)linkMonCtrl_name_list,
+		linkMonCtrl_id_list,linkMonCtrl_size_list,
+		LINKMONCTRL_NAME_LIST_LENGTH,
+		MAX_LINKMONCTRL_NAME_LENGTH);
+
+	switch(type)
+	{
+	case LINK_MON_CMD_ABORT_TYPE:
+		((LinkMonCmdAbort *) buffer)->update(cms);
+		break;
+	case LINK_MON_CMD_HALT_TYPE:
+		((LinkMonCmdHalt *) buffer)->update(cms);
+		break;
+	case LINK_MON_CMD_INIT_TYPE:
+		((LinkMonCmdInit *) buffer)->update(cms);
+		break;
+	case LINK_MON_CMD_MONITOR_TYPE:
+		((LinkMonCmdMonitor *) buffer)->update(cms);
+		break;
+	case LINK_MON_CMD_NOP_TYPE:
+		((LinkMonCmdNop *) buffer)->update(cms);
+		break;
+	case LINK_MON_CMD_SHUTDOWN_TYPE:
+		((LinkMonCmdShutdown *) buffer)->update(cms);
+		break;
+	case LINK_MON_STAT_TYPE:
+		((LinkMonStat *) buffer)->update(cms);
+		break;
+	case LINK_MON_CFG_CYCLE_TIME_TYPE:
+		((linkMonCfgCycleTime *) buffer)->update(cms);
+		break;
+	case LINK_MON_CFG_DEBUG_TYPE:
+		((linkMonCfgDebug *) buffer)->update(cms);
+		break;
+	case LINK_MON_CFG_NOP_TYPE:
+		((linkMonCfgNop *) buffer)->update(cms);
+		break;
+	case LINK_MON_SET_TYPE:
+		((linkMonSet *) buffer)->update(cms);
+		break;
+
+	default:
+		return(0);
+	}
+	return 1;
+}
+
+
+// NML Symbol Lookup Function
+const char *linkMonCtrl_symbol_lookup(long type)
+{
+	switch(type)
+	{
+	case LINK_MON_CMD_ABORT_TYPE:
+		return "LinkMonCmdAbort";
+	case LINK_MON_CMD_HALT_TYPE:
+		return "LinkMonCmdHalt";
+	case LINK_MON_CMD_INIT_TYPE:
+		return "LinkMonCmdInit";
+	case LINK_MON_CMD_MONITOR_TYPE:
+		return "LinkMonCmdMonitor";
+	case LINK_MON_CMD_NOP_TYPE:
+		return "LinkMonCmdNop";
+	case LINK_MON_CMD_SHUTDOWN_TYPE:
+		return "LinkMonCmdShutdown";
+	case LINK_MON_STAT_TYPE:
+		return "LinkMonStat";
+	case LINK_MON_CFG_CYCLE_TIME_TYPE:
+		return "linkMonCfgCycleTime";
+	case LINK_MON_CFG_DEBUG_TYPE:
+		return "linkMonCfgDebug";
+	case LINK_MON_CFG_NOP_TYPE:
+		return "linkMonCfgNop";
+	case LINK_MON_SET_TYPE:
+		return "linkMonSet";
+	default:
+		return"UNKNOWN";
+		break;
+	}
+	return(NULL);
+}
+
+/*
+*	NML/CMS Update function for LinkMonCmdAbort
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void LinkMonCmdAbort::update(CMS *cms)
+{
+
+	cms->beginClass("LinkMonCmdAbort","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+
+	cms->endClass("LinkMonCmdAbort","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for LinkMonCmdHalt
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void LinkMonCmdHalt::update(CMS *cms)
+{
+
+	cms->beginClass("LinkMonCmdHalt","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+
+	cms->endClass("LinkMonCmdHalt","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for LinkMonCmdInit
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void LinkMonCmdInit::update(CMS *cms)
+{
+
+	cms->beginClass("LinkMonCmdInit","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+
+	cms->endClass("LinkMonCmdInit","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for LinkMonCmdMonitor
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void LinkMonCmdMonitor::update(CMS *cms)
+{
+
+	cms->beginClass("LinkMonCmdMonitor","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+
+	cms->endClass("LinkMonCmdMonitor","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for LinkMonCmdNop
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void LinkMonCmdNop::update(CMS *cms)
+{
+
+	cms->beginClass("LinkMonCmdNop","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+
+	cms->endClass("LinkMonCmdNop","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for LinkMonCmdShutdown
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void LinkMonCmdShutdown::update(CMS *cms)
+{
+
+	cms->beginClass("LinkMonCmdShutdown","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+
+	cms->endClass("LinkMonCmdShutdown","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for LinkMonStat
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void LinkMonStat::update(CMS *cms)
+{
+
+	cms->beginClass("LinkMonStat","RCS_STAT_MSG_V2");
+
+	cms->beginBaseClass("RCS_STAT_MSG_V2");
+	RCS_STAT_MSG_V2::update(cms);
+	cms->endBaseClass("RCS_STAT_MSG_V2");
+
+	cms->update_dla_length_with_name("route_length",route_length);
+	cms->beginStructDynamicArray("route",route_length,10);
+	for(int i_route = 0;i_route < route_length ;i_route++)
+	{
+		cms->beginStructArrayElem("route",i_route);
+		nmlupdate(cms,&(route[i_route]));
+		cms->endStructArrayElem("route",i_route);
+	}
+	cms->endStructDynamicArray("route",route_length,10);
+
+	cms->endClass("LinkMonStat","RCS_STAT_MSG_V2");
+
+}
+
+
+/*
+*	NML/CMS Update function for RadioRoute
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void nmlupdate(CMS *cms,RadioRoute *x)
+{
+
+	cms->beginClass("RadioRoute",0);
+	cms->update_with_name("name",(char *) x->name,800);
+	cms->update_with_name("cost",x->cost);
+	cms->update_with_name("length",x->length);
+
+	cms->endClass("RadioRoute",0);
+
+}
+
+
+/*
+*	NML/CMS Update function for linkMonCfgCycleTime
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void linkMonCfgCycleTime::update(CMS *cms)
+{
+
+	cms->beginClass("linkMonCfgCycleTime","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+	cms->update_with_name("cycleTime",cycleTime);
+
+	cms->endClass("linkMonCfgCycleTime","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for linkMonCfgDebug
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void linkMonCfgDebug::update(CMS *cms)
+{
+
+	cms->beginClass("linkMonCfgDebug","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+	cms->update_with_name("debug",debug);
+
+	cms->endClass("linkMonCfgDebug","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for linkMonCfgNop
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void linkMonCfgNop::update(CMS *cms)
+{
+
+	cms->beginClass("linkMonCfgNop","RCS_CMD_MSG");
+	RCS_CMD_MSG::update_cmd_msg_base(cms);
+
+	cms->endClass("linkMonCfgNop","RCS_CMD_MSG");
+
+}
+
+
+/*
+*	NML/CMS Update function for linkMonSet
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Tue Sep 11 15:57:39 EDT 2007
+*/
+void linkMonSet::update(CMS *cms)
+{
+
+	cms->beginClass("linkMonSet","RCS_STAT_MSG_V2");
+
+	cms->beginBaseClass("RCS_STAT_MSG_V2");
+	RCS_STAT_MSG_V2::update(cms);
+	cms->endBaseClass("RCS_STAT_MSG_V2");
+
+
+	cms->endClass("linkMonSet","RCS_STAT_MSG_V2");
+
+}
+

Modified: trunk/moast-bth/moast/src/nml/moastTypes.cc
===================================================================
--- trunk/moast-bth/moast/src/nml/moastTypes.cc	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/src/nml/moastTypes.cc	2007-09-13 17:37:54 UTC (rev 742)
@@ -29,7 +29,7 @@
 /*
 *	Initializer for ArcSegment
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void initialize_ArcSegment(ArcSegment* x)
 {
@@ -43,7 +43,7 @@
 /*
 *	Initializer for Waypoint
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void initialize_Waypoint(Waypoint* x)
 {
@@ -56,7 +56,7 @@
 /*
 *	Initializer for constrainedDouble
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void initialize_constrainedDouble(constrainedDouble* x)
 {
@@ -69,7 +69,7 @@
 /*
 *	Initializer for constrainedFloat
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void initialize_constrainedFloat(constrainedFloat* x)
 {
@@ -82,7 +82,7 @@
 /*
 *	Initializer for constrainedInt
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void initialize_constrainedInt(constrainedInt* x)
 {
@@ -315,7 +315,7 @@
 /*
 *	NML/CMS Format function : moastTypes_format
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 int moastTypes_format(NMLTYPE type, void *buffer, CMS *cms)
 {
@@ -352,7 +352,7 @@
 /*
 *	NML/CMS Update function for ArcSegment
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,ArcSegment *x)
 {
@@ -374,7 +374,7 @@
 /*
 *	NML/CMS Update function for LineSegment
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,LineSegment *x)
 {
@@ -396,7 +396,7 @@
 /*
 *	NML/CMS Update function for Location2D
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,Location2D *x)
 {
@@ -413,7 +413,7 @@
 /*
 *	NML/CMS Update function for SensorPoint
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,SensorPoint *x)
 {
@@ -431,7 +431,7 @@
 /*
 *	NML/CMS Update function for Waypoint
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,Waypoint *x)
 {
@@ -450,7 +450,7 @@
 /*
 *	NML/CMS Update function for constrainedDouble
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,constrainedDouble *x)
 {
@@ -468,7 +468,7 @@
 /*
 *	NML/CMS Update function for constrainedFloat
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,constrainedFloat *x)
 {
@@ -486,7 +486,7 @@
 /*
 *	NML/CMS Update function for constrainedInt
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:40 EDT 2007
+*	on Thu Aug 30 11:36:44 EDT 2007
 */
 void nmlupdate(CMS *cms,constrainedInt *x)
 {

Modified: trunk/moast-bth/moast/src/nml/servoMobJA.cc
===================================================================
--- trunk/moast-bth/moast/src/nml/servoMobJA.cc	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/src/nml/servoMobJA.cc	2007-09-13 17:37:54 UTC (rev 742)
@@ -20,7 +20,7 @@
 /*
 *	Initializer for ServoMobJAFlipperMsg
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void initialize_ServoMobJAFlipperMsg(ServoMobJAFlipperMsg* x)
 {
@@ -32,7 +32,7 @@
 /*
 *	Initializer for ServoMobJAFlipperSet
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void initialize_ServoMobJAFlipperSet(ServoMobJAFlipperSet* x)
 {
@@ -425,7 +425,7 @@
 /*
 *	NML/CMS Format function : servoMobJA_format
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 int servoMobJA_format(NMLTYPE type, void *buffer, CMS *cms)
 {
@@ -557,7 +557,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACfgCycleTime
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACfgCycleTime::update(CMS *cms)
 {
@@ -574,7 +574,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACfgDebug
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACfgDebug::update(CMS *cms)
 {
@@ -591,7 +591,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACfgTeleport
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACfgTeleport::update(CMS *cms)
 {
@@ -608,7 +608,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdAbort
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdAbort::update(CMS *cms)
 {
@@ -624,7 +624,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdAckerman
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdAckerman::update(CMS *cms)
 {
@@ -643,7 +643,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdFlipSkid
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdFlipSkid::update(CMS *cms)
 {
@@ -670,7 +670,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdHalt
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdHalt::update(CMS *cms)
 {
@@ -686,7 +686,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdInit
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdInit::update(CMS *cms)
 {
@@ -702,7 +702,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdOmni
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdOmni::update(CMS *cms)
 {
@@ -721,7 +721,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdRotaryWing
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdRotaryWing::update(CMS *cms)
 {
@@ -741,7 +741,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdShutdown
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdShutdown::update(CMS *cms)
 {
@@ -757,7 +757,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdSkid
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdSkid::update(CMS *cms)
 {
@@ -775,7 +775,7 @@
 /*
 *	NML/CMS Update function for ServoMobJACmdSubmarine
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJACmdSubmarine::update(CMS *cms)
 {
@@ -794,7 +794,7 @@
 /*
 *	NML/CMS Update function for ServoMobJAFlipperMsg
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void nmlupdate(CMS *cms,ServoMobJAFlipperMsg *x)
 {
@@ -811,7 +811,7 @@
 /*
 *	NML/CMS Update function for ServoMobJAFlipperSet
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void nmlupdate(CMS *cms,ServoMobJAFlipperSet *x)
 {
@@ -833,7 +833,7 @@
 /*
 *	NML/CMS Update function for ServoMobJASet
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJASet::update(CMS *cms)
 {
@@ -860,7 +860,7 @@
 /*
 *	NML/CMS Update function for ServoMobJASetAirBot
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJASetAirBot::update(CMS *cms)
 {
@@ -884,7 +884,7 @@
 /*
 *	NML/CMS Update function for ServoMobJASetGrdVeh
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJASetGrdVeh::update(CMS *cms)
 {
@@ -921,7 +921,7 @@
 /*
 *	NML/CMS Update function for ServoMobJAStat
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJAStat::update(CMS *cms)
 {
@@ -947,7 +947,7 @@
 /*
 *	NML/CMS Update function for ServoMobJAStatAirBot
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJAStatAirBot::update(CMS *cms)
 {
@@ -971,7 +971,7 @@
 /*
 *	NML/CMS Update function for ServoMobJAStatGrdVeh
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Mon Aug 27 16:44:41 EDT 2007
+*	on Thu Aug 30 11:36:45 EDT 2007
 */
 void ServoMobJAStatGrdVeh::update(CMS *cms)
 {

Modified: trunk/moast-bth/moast/src/nml/trafficCtrl.cc
===================================================================
--- trunk/moast-bth/moast/src/nml/trafficCtrl.cc	2007-09-07 02:42:56 UTC (rev 741)
+++ trunk/moast-bth/moast/src/nml/trafficCtrl.cc	2007-09-13 17:37:54 UTC (rev 742)
@@ -12,6 +12,8 @@
 #include "trafficCtrl.hh"
 
 // Forward Function Prototypes
+void nmlupdate(CMS *cms, RobotInfo *x);
+void initialize_RobotInfo(RobotInfo *x);
 void nmlupdate(CMS *cms, TrafficCtrlRotary *x);
 void initialize_TrafficCtrlRotary(TrafficCtrlRotary *x);
 void nmlupdate(CMS *cms, TrafficCtrlSkid *x);
@@ -30,9 +32,24 @@
 void initialize_TrafficCtrlOmni(TrafficCtrlOmni *x);
 
 /*
+*	Initializer for RobotInfo
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Wed Sep 05 13:59:36 EDT 2007
+*/
+void initialize_RobotInfo(RobotInfo* x)
+{
+	x->steerType = (int) 0;
+	for(int i_robotName=0; i_robotName< 80; i_robotName++)
+	{
+		((char*) x->robotName)[i_robotName]  = (char) 0;
+	}
+
+}
+
+/*
 *	Initializer for TrafficCtrlAckerman
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void initialize_TrafficCtrlAckerman(TrafficCtrlAckerman* x)
 {
@@ -46,7 +63,7 @@
 /*
 *	Initializer for TrafficCtrlFlipperMsg
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void initialize_TrafficCtrlFlipperMsg(TrafficCtrlFlipperMsg* x)
 {
@@ -59,7 +76,7 @@
 /*
 *	Initializer for TrafficCtrlOmni
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void initialize_TrafficCtrlOmni(TrafficCtrlOmni* x)
 {
@@ -73,7 +90,7 @@
 /*
 *	Initializer for TrafficCtrlRotary
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void initialize_TrafficCtrlRotary(TrafficCtrlRotary* x)
 {
@@ -88,7 +105,7 @@
 /*
 *	Initializer for TrafficCtrlSkid
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void initialize_TrafficCtrlSkid(TrafficCtrlSkid* x)
 {
@@ -101,7 +118,7 @@
 /*
 *	Initializer for TrafficCtrlSubmarine
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void initialize_TrafficCtrlSubmarine(TrafficCtrlSubmarine* x)
 {
@@ -123,48 +140,48 @@
 
 /* This list must be in alphabetical order and the three lists must correspond. */
 const char trafficCtrl_name_list[TRAFFICCTRL_NAME_LIST_LENGTH][MAX_TRAFFICCTRL_NAME_LENGTH]= {
-	"TrafficCtrlCfgCycleTime", /* 1,16702 */
-	"TrafficCtrlCfgDebug", /* 2,16703 */
-	"TrafficCtrlCfgMove", /* 3,16704 */
-	"TrafficCtrlCfgNop", /* 4,16701 */
-	"TrafficCtrlCmdAbort", /* 5,16503 */
-	"TrafficCtrlCmdAckerman", /* 6,16509 */
-	"TrafficCtrlCmdFlipSkid", /* 7,16511 */
-	"TrafficCtrlCmdHalt", /* 8,16504 */
-	"TrafficCtrlCmdInit", /* 9,16502 */
-	"TrafficCtrlCmdMoveArcSegment", /* 10,16508 */
-	"TrafficCtrlCmdMoveWaypoint", /* 11,16506 */
-	"TrafficCtrlCmdNop", /* 12,16501 */
-	"TrafficCtrlCmdOmni", /* 13,16512 */
-	"TrafficCtrlCmdRotaryWing", /* 14,16514 */
-	"TrafficCtrlCmdShutdown", /* 15,16505 */
-	"TrafficCtrlCmdSkid", /* 16,16510 */
-	"TrafficCtrlCmdStop", /* 17,16507 */
-	"TrafficCtrlCmdSubmarine", /* 18,16513 */
-	"TrafficCtrlSet", /* 22,16801 */
-	"TrafficCtrlStat", /* 24,16601 */
+	"TrafficCtrlCfgCycleTime", /* 2,16702 */
+	"TrafficCtrlCfgDebug", /* 3,16703 */
+	"TrafficCtrlCfgMove", /* 4,16704 */
+	"TrafficCtrlCfgNop", /* 5,16701 */
+	"TrafficCtrlCmdAbort", /* 6,16503 */
+	"TrafficCtrlCmdAckerman", /* 7,16509 */
+	"TrafficCtrlCmdFlipSkid", /* 8,16511 */
+	"TrafficCtrlCmdHalt", /* 9,16504 */
+	"TrafficCtrlCmdInit", /* 10,16502 */
+	"TrafficCtrlCmdMoveArcSegment", /* 11,16508 */
+	"TrafficCtrlCmdMoveWaypoint", /* 12,16506 */
+	"TrafficCtrlCmdNop", /* 13,16501 */
+	"TrafficCtrlCmdOmni", /* 14,16512 */
+	"TrafficCtrlCmdRotaryWing", /* 15,16514 */
+	"TrafficCtrlCmdShutdown", /* 16,16505 */
+	"TrafficCtrlCmdSkid", /* 17,16510 */
+	"TrafficCtrlCmdStop", /* 18,16507 */
+	"TrafficCtrlCmdSubmarine", /* 19,16513 */
+	"TrafficCtrlSet", /* 23,16801 */
+	"TrafficCtrlStat", /* 25,16601 */
 	""};
 const NMLTYPE trafficCtrl_id_list[TRAFFICCTRL_NAME_LIST_LENGTH]= {
-	TRAFFIC_CTRL_CFG_CYCLE_TIME_TYPE, /* 1,16702 */
-	TRAFFIC_CTRL_CFG_DEBUG_TYPE, /* 2,16703 */
-	TRAFFIC_CTRL_CFG_MOVE_TYPE, /* 3,16704 */
-	TRAFFIC_CTRL_CFG_NOP_TYPE, /* 4,16701 */
-	TRAFFIC_CTRL_CMD_ABORT_TYPE, /* 5,16503 */
-	TRAFFIC_CTRL_CMD_ACKERMAN_TYPE, /* 6,16509 */
-	TRAFFIC_CTRL_CMD_FLIP_SKID_TYPE, /* 7,16511 */
-	TRAFFIC_CTRL_CMD_HALT_TYPE, /* 8,16504 */
-	TRAFFIC_CTRL_CMD_INIT_TYPE, /* 9,16502 */
-	TRAFFIC_CTRL_CMD_MOVE_ARC_SEGMENT_TYPE, /* 10,16508 */
-	TRAFFIC_CTRL_CMD_MOVE_WAYPOINT_TYPE, /* 11,16506 */
-	TRAFFIC_CTRL_CMD_NOP_TYPE, /* 12,16501 */
-	TRAFFIC_CTRL_CMD_OMNI_TYPE, /* 13,16512 */
-	TRAFFIC_CTRL_CMD_ROTARY_WING_TYPE, /* 14,16514 */
-	TRAFFIC_CTRL_CMD_SHUTDOWN_TYPE, /* 15,16505 */
-	TRAFFIC_CTRL_CMD_SKID_TYPE, /* 16,16510 */
-	TRAFFIC_CTRL_CMD_STOP_TYPE, /* 17,16507 */
-	TRAFFIC_CTRL_CMD_SUBMARINE_TYPE, /* 18,16513 */
-	TRAFFIC_CTRL_SET_TYPE, /* 22,16801 */
-	TRAFFIC_CTRL_STAT_TYPE, /* 24,16601 */
+	TRAFFIC_CTRL_CFG_CYCLE_TIME_TYPE, /* 2,16702 */
+	TRAFFIC_CTRL_CFG_DEBUG_TYPE, /* 3,16703 */
+	TRAFFIC_CTRL_CFG_MOVE_TYPE, /* 4,16704 */
+	TRAFFIC_CTRL_CFG_NOP_TYPE, /* 5,16701 */
+	TRAFFIC_CTRL_CMD_ABORT_TYPE, /* 6,16503 */
+	TRAFFIC_CTRL_CMD_ACKERMAN_TYPE, /* 7,16509 */
+	TRAFFIC_CTRL_CMD_FLIP_SKID_TYPE, /* 8,16511 */
+	TRAFFIC_CTRL_CMD_HALT_TYPE, /* 9,16504 */
+	TRAFFIC_CTRL_CMD_INIT_TYPE, /* 10,16502 */
+	TRAFFIC_CTRL_CMD_MOVE_ARC_SEGMENT_TYPE, /* 11,16508 */
+	TRAFFIC_CTRL_CMD_MOVE_WAYPOINT_TYPE, /* 12,16506 */
+	TRAFFIC_CTRL_CMD_NOP_TYPE, /* 13,16501 */
+	TRAFFIC_CTRL_CMD_OMNI_TYPE, /* 14,16512 */
+	TRAFFIC_CTRL_CMD_ROTARY_WING_TYPE, /* 15,16514 */
+	TRAFFIC_CTRL_CMD_SHUTDOWN_TYPE, /* 16,16505 */
+	TRAFFIC_CTRL_CMD_SKID_TYPE, /* 17,16510 */
+	TRAFFIC_CTRL_CMD_STOP_TYPE, /* 18,16507 */
+	TRAFFIC_CTRL_CMD_SUBMARINE_TYPE, /* 19,16513 */
+	TRAFFIC_CTRL_SET_TYPE, /* 23,16801 */
+	TRAFFIC_CTRL_STAT_TYPE, /* 25,16601 */
 	-1};
 const size_t trafficCtrl_size_list[TRAFFICCTRL_NAME_LIST_LENGTH]= {
 	sizeof(TrafficCtrlCfgCycleTime),
@@ -470,6 +487,7 @@
 	};
 
 /*
+Estimated_size	RobotInfo	88
 Estimated_size	TrafficCtrlAckerman	32
 Estimated_size	TrafficCtrlCfgCycleTime	32
 Estimated_size	TrafficCtrlCfgDebug	32
@@ -492,7 +510,7 @@
 Estimated_size	TrafficCtrlFlipperMsg	24
 Estimated_size	TrafficCtrlOmni	32
 Estimated_size	TrafficCtrlRotary	40
-Estimated_size	TrafficCtrlSet	288
+Estimated_size	TrafficCtrlSet	1088
 Estimated_size	TrafficCtrlSkid	24
 Estimated_size	TrafficCtrlStat	592
 Estimated_size	TrafficCtrlSubmarine	32
@@ -501,7 +519,7 @@
 /*
 *	NML/CMS Format function : trafficCtrl_format
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 int trafficCtrl_format(NMLTYPE type, void *buffer, CMS *cms)
 {
@@ -636,9 +654,26 @@
 }
 
 /*
+*	NML/CMS Update function for RobotInfo
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Wed Sep 05 13:59:36 EDT 2007
+*/
+void nmlupdate(CMS *cms,RobotInfo *x)
+{
+
+	cms->beginClass("RobotInfo",0);
+	cms->update_with_name("steerType",x->steerType);
+	cms->update_with_name("robotName",x->robotName,80);
+
+	cms->endClass("RobotInfo",0);
+
+}
+
+
+/*
 *	NML/CMS Update function for TrafficCtrlAckerman
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void nmlupdate(CMS *cms,TrafficCtrlAckerman *x)
 {
@@ -657,7 +692,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCfgCycleTime
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCfgCycleTime::update(CMS *cms)
 {
@@ -674,7 +709,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCfgDebug
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCfgDebug::update(CMS *cms)
 {
@@ -691,7 +726,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCfgMove
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCfgMove::update(CMS *cms)
 {
@@ -713,7 +748,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCfgNop
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCfgNop::update(CMS *cms)
 {
@@ -729,7 +764,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCmdAbort
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCmdAbort::update(CMS *cms)
 {
@@ -745,7 +780,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCmdAckerman
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCmdAckerman::update(CMS *cms)
 {
@@ -770,7 +805,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCmdFlipSkid
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCmdFlipSkid::update(CMS *cms)
 {
@@ -804,7 +839,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCmdHalt
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCmdHalt::update(CMS *cms)
 {
@@ -820,7 +855,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCmdInit
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCmdInit::update(CMS *cms)
 {
@@ -836,7 +871,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCmdMoveArcSegment
 *	Automatically generated by NML CodeGen Java Applet.
-*	on Wed Aug 29 13:18:44 EDT 2007
+*	on Wed Sep 05 13:59:36 EDT 2007
 */
 void TrafficCtrlCmdMoveArcSegment::update(CMS *cms)
 {
@@ -860,7 +895,7 @@
 /*
 *	NML/CMS Update function for TrafficCtrlCmdMoveWaypoint

@@ Diff output truncated at 60000 characters. @@


More information about the TeamTalk-developers mailing list