[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/wustl/apps/Agilla 3x3.nss, 1.1, 1.2 Agilla.nc, 1.23, 1.24 AgillaOpcodes.h, 1.17, 1.18 Example Makefile.Agilla, 1.34, 1.35 README, 1.21, 1.22 platforms.properties, 1.4, 1.5

Chien-Liang Fok chien-liang at users.sourceforge.net
Thu May 18 12:58:42 PDT 2006


Update of /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25569/contrib/wustl/apps/Agilla

Modified Files:
	3x3.nss Agilla.nc AgillaOpcodes.h Example Makefile.Agilla 
	README platforms.properties 
Log Message:


Index: 3x3.nss
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/3x3.nss,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** 3x3.nss	6 Jan 2006 19:52:11 -0000	1.1
--- 3x3.nss	18 May 2006 19:58:40 -0000	1.2
***************
*** 1,48 ****
! 0:1:0.0
! 0:3:0.0
! 0:4:0.0
! 
! 1:0:0.0
! 1:3:0.0
! 1:4:0.0
! 1:5:0.0
! 1:2:0.0
! 
! 2:1:0.0
! 2:4:0.0
! 2:5:0.0
! 
! 3:6:0.0
! 3:7:0.0
! 3:4:0.0
! 3:1:0.0
! 3:0:0.0
! 
! 4:6:0.0
! 4:7:0.0
! 4:8:0.0
! 4:3:0.0
! 4:5:0.0
! 4:0:0.0
! 4:1:0.0
! 4:2:0.0
! 
! 5:1:0.0
! 5:2:0.0
! 5:4:0.0
! 5:7:0.0
! 5:8:0.0
! 
! 6:3:0.0
! 6:4:0.0
! 6:7:0.0
! 
! 7:3:0.0
! 7:4:0.0
! 7:5:0.0
! 7:6:0.0
! 7:8:0.0
! 
! 8:7:0.0
! 8:4:0.0
  8:5:0.0
\ No newline at end of file
--- 1,48 ----
! 0:1:0.0
! 0:3:0.0
! 0:4:0.0
! 
! 1:0:0.0
! 1:3:0.0
! 1:4:0.0
! 1:5:0.0
! 1:2:0.0
! 
! 2:1:0.0
! 2:4:0.0
! 2:5:0.0
! 
! 3:6:0.0
! 3:7:0.0
! 3:4:0.0
! 3:1:0.0
! 3:0:0.0
! 
! 4:6:0.0
! 4:7:0.0
! 4:8:0.0
! 4:3:0.0
! 4:5:0.0
! 4:0:0.0
! 4:1:0.0
! 4:2:0.0
! 
! 5:1:0.0
! 5:2:0.0
! 5:4:0.0
! 5:7:0.0
! 5:8:0.0
! 
! 6:3:0.0
! 6:4:0.0
! 6:7:0.0
! 
! 7:3:0.0
! 7:4:0.0
! 7:5:0.0
! 7:6:0.0
! 7:8:0.0
! 
! 8:7:0.0
! 8:4:0.0
  8:5:0.0
\ No newline at end of file

Index: Agilla.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/Agilla.nc,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** Agilla.nc	6 May 2006 00:26:57 -0000	1.23
--- Agilla.nc	18 May 2006 19:58:40 -0000	1.24
***************
*** 85,92 ****
    components OPcistype,  OPloc, /*OPvicinity,*/ OPclear, OPnumnbrs;
    components OPrandnbr;
! 
!   #if !ENABLE_CLUSTERING
!     components OPwait;
!   #endif
  
    // One operand instructions
--- 85,89 ----
    components OPcistype,  OPloc, /*OPvicinity,*/ OPclear, OPnumnbrs;
    components OPrandnbr;
!   components OPwait;
  
    // One operand instructions
***************
*** 156,163 ****
    AgillaEngineC.BasicISA[IOPrandnbr] -> OPrandnbr;
  
! 
!   #if !ENABLE_CLUSTERING
!     AgillaEngineC.BasicISA[IOPwait] -> OPwait;
!   #endif
  
    // One operand instructions
--- 153,157 ----
    AgillaEngineC.BasicISA[IOPrandnbr] -> OPrandnbr;
  
!   AgillaEngineC.BasicISA[IOPwait] -> OPwait;
  
    // One operand instructions

Index: AgillaOpcodes.h
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/AgillaOpcodes.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** AgillaOpcodes.h	6 May 2006 00:26:57 -0000	1.17
--- AgillaOpcodes.h	18 May 2006 19:58:40 -0000	1.18
***************
*** 1,256 ****
! // $Id$
! 
! /* Agilla - A middleware for wireless sensor networks.
!  * Copyright (C) 2004, Washington University in Saint Louis
!  * By Chien-Liang Fok.
!  *
!  * Washington University states that Agilla is free software;
!  * you can redistribute it and/or modify it under the terms of
!  * the current version of the GNU Lesser General Public License
!  * as published by the Free Software Foundation.
!  *
!  * Agilla is distributed in the hope that it will be useful, but
!  * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
!  * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
!  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
!  *
!  * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
!  * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
!  * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
!  * INFRINGEMENT OF THIRD PARTY PATENT, CIOPYRIGHT, OR OTHER
!  * PRIOPRIETARY RIGHTS.  THERE ARE NO WARRANTIES THAT SOFTWARE IS
!  * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
!  * OR OTHER HARMFUL CODE.
!  *
!  * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
!  * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
!  * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
!  * indemnify, defend, and hold harmless WU, its employees, officers and
!  * agents from any and all claims, costs, or liabilities, including
!  * attorneys fees and court costs at both the trial and appellate levels
!  * for any loss, damage, or injury caused by your actions or actions of
!  * your officers, servants, agents or third parties acting on behalf or
!  * under authorization from you, as a result of using Agilla.
!  *
!  * See the GNU Lesser General Public License for more details, which can
!  * be found here: http://www.gnu.org/copyleft/lesser.html
!  */
! 
! /*                  tab:4
!  *
!  *
!  * "Copyright (c) 2000-2002 The Regents of the University  of California.
!  * All rights reserved.
!  *
!  * Permission to use, copy, modify, and distribute this software and its
!  * documentation for any purpose, without fee, and without written agreement is
!  * hereby granted, provided that the above copyright notice, the following
!  * two paragraphs and the author appear in all copies of this software.
!  *
!  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
!  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
!  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
!  * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!  *
!  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
!  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
!  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
!  * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
!  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
!  *
!  */
! 
! /*                  tab:4
!  *  IMPORTANT: READ BEFORE DOWNLOADING, CIOPYING, INSTALLING OR USING.  By
!  *  downloading, copying, installing or using the software you agree to
!  *  this license.  If you do not agree to this license, do not download,
!  *  install, copy or use the software.
!  *
!  *  Intel Open Source License
!  *
!  *  Copyright (c) 2002 Intel Corporation
!  *  All rights reserved.
!  *  Redistribution and use in source and binary forms, with or without
!  *  modification, are permitted provided that the following conditions are
!  *  met:
!  *
!  *  Redistributions of source code must retain the above copyright
!  *  notice, this list of conditions and the following disclaimer.
!  *  Redistributions in binary form must reproduce the above copyright
!  *  notice, this list of conditions and the following disclaimer in the
!  *  documentation and/or other materials provided with the distribution.
!  *      Neither the name of the Intel Corporation nor the names of its
!  *  contributors may be used to endorse or promote products derived from
!  *  this software without specific prior written permission.
!  *
!  *  THIS SOFTWARE IS PROVIDED BY THE CIOPYRIGHT HOLDERS AND CONTRIBUTORS
!  *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
!  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
!  *  PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INTEL OR ITS
!  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
!  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
!  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
!  *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
!  *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
!  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
!  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!  *
!  *
!  */
! 
! /**
!  * Authors:   Neil Patel
!  * History:   created 6/20/2003
!  */
! 
! /**
!  * @author Neil Patel
!  * @author Chien-Liang Fok
!  */
! 
! 
! #ifndef AGILLA_CONSTANTS_H_INCLUDED
! #define AGILLA_CONSTANTS_H_INCLUDED
! 
! typedef enum {
! 
! /* B-class instructions */
! 
!   // zero operand instructions
!   IOPhalt      = 0x00,
!   IOPaddr      = 0x01,
!   IOPaid       = 0x02,
!   IOPrand      = 0x03,
!   IOPcpush     = 0x04,
!   IOPloc       = 0x05,
!   IOPvicinity  = 0x06,
!   IOPclear     = 0x07,
!   IOPnumnbrs   = 0x08,
!   IOPrandnbr   = 0x09,
!   IOPwait      = 0x0a,
! 
!   // One operand instructions
!   IOPinc       = 0x0b,
!   IOPclearvar  = 0x0c,
!   IOPinv       = 0x0d,
!   IOPnot       = 0x0e,
!   IOPlnot      = 0x0f,
!   IOPcopy      = 0x10,
!   IOPpop       = 0x11,
!   IOPcpull     = 0x12,
!   IOPsleep     = 0x13,
!   IOPjumpc     = 0x14,
!   IOPjumps     = 0x15,
!   IOPputled    = 0x16,
!   IOPsmove     = 0x17,
!   IOPwmove     = 0x18,
!   IOPsclone    = 0x19,
!   IOPwclone    = 0x1a,
!   IOPgetvars   = 0x1b,
!   IOPsetvars   = 0x1c,
!   IOPgetnbr    = 0x1d,
!   IOPcisnbr    = 0x1e,
!   IOPsense     = 0x1f,
!   IOPdec       = 0x20,
! 
!   // Two and three operand-instructions
!   IOPdist      = 0x21,
!   IOPswap      = 0x22,
!   IOPland      = 0x23,
!   IOPlor       = 0x24,
!   IOPand       = 0x25,
!   IOPor        = 0x26,
!   IOPmul       = 0x27,
!   IOPdiv       = 0x28,
!   IOPadd       = 0x29,
!   IOPmod       = 0x2a,
!   IOPceq       = 0x2b, // LSB = 1
!   IOPcneq      = 0x2c, // LSB = 0
!   IOPclt       = 0x2d,
!   IOPcgt       = 0x2e,
!   IOPclte      = 0x2f,
!   IOPcgte      = 0x30,
!   IOPceqtype   = 0x31,
!   IOPcistype   = 0x32,
! 
!   IOPout       = 0x33,
!   IOPinp       = 0x34,
!   IOPrdp       = 0x35,
!   IOPin        = 0x36,
!   IOPrd        = 0x37,
!   IOPendrxn    = 0x38,
! 
!   IOProut      = 0x39,
!   IOPrinp      = 0x3a,
!   IOPrrdp      = 0x3b,
!   IOProutg     = 0x3c,
!   IOPrrdpg     = 0x3d,
!   IOPregrxn    = 0x3e,
!   IOPderegrxn  = 0x3f,
! 
! /*  T class  Instruction format: 0100 ixxx*/
!   IOPpushrt    = 0x40,
!   IOPpusht     = 0x48,
! 
! /*   E-Class Instruction, format: 0101 ixxx yyyy yyyy yyyy yyyy]*/
!   IOPpushn     = 0x50,
!   IOPpushcl    = 0x51,
!   IOPpushloc   = 0x52,
! 
!   IOPextend1   = 0x53, // put the mote into extended ISA 1
!   IOPextend2   = 0x54, // put the mote into extended ISA 2
!   IOPextend3   = 0x55, // put the mote into extended ISA 3
!   IOPextend4   = 0x56, // put the mote into extended ISA 4
!   IOPextend5   = 0x57, // put the mote into extended ISA 5
!   IOPextend6   = 0x58, // put the mote into extended ISA 6
!   IOPextend7   = 0x59, // put the mote into extended ISA 7
!   IOPextend8   = 0x5a, // put the mote into extended ISA 8
!   IOPextend9   = 0x5b, // put the mote into extended ISA 9
!   IOPextend10   = 0x5c, // put the mote into extended ISA 10
!   IOPextend11   = 0x5d, // put the mote into extended ISA 11
!   IOPextend12   = 0x5e, // put the mote into extended ISA 12
!   IOPextend13   = 0x5f, // put the mote into extended ISA 13
! 
! /*   V-Class Instruction, format:  011i xxxx */
!   IOPgetvar    = 0x60,  // 5th bit must = 1
!   IOPsetvar    = 0x70,  // 5th bit must = 0
! 
! /*   J class   Instruction format:  10ix xxxx */
!   IOPrjumpc    = 0x80,  // 100x xxxx conditional relative jump
!   IOPrjump     = 0xa0,  // 101x xxxx unconditional relative jump
! 
! /*   xclass   Instruction format:  11xx xxxx*/
!   IOPpushc     = 0xc0   // push a constant onto op stack
! } BasicInstruction;
! 
! typedef enum {
!   IOPshiftr    = 0x00,
!   IOPshiftl    = 0x01,
!   IOPdepth     = 0x02,
!   IOPerr       = 0x03,
!   IOPtcount    = 0x04,
!   IOProutgs    = 0x05,
!   IOPremove    = 0x06,
!   IOPhid       = 0x07,
!   IOPlocToValue = 0x08,
!   IOPrrdpgs    = 0x09,
!   IOPsub       = 0x0a,
! 
!   IOPgetAgents       = 0x10,
!   IOPgetLocation     = 0x11,
!   IOPgetNumAgents    = 0x12,
!   IOPgetClosestAgent = 0x13,
! 
!   IOPtoAgentID       = 0x14,
! 
!   IOPsetdesc         = 0x1a,
!   IOPgetdesc         = 0x1b,
!   
!   IOPfindMatch       = 0x1c,
! 
!   IOPegetvar = 0x80,  // 10xx xxxx 
!   IOPesetvar = 0xc0,  // 11xx xxxx
! 
! } ExtendedISA1;
! 
! #endif
--- 1,256 ----
! // $Id$
! 
! /* Agilla - A middleware for wireless sensor networks.
!  * Copyright (C) 2004, Washington University in Saint Louis
!  * By Chien-Liang Fok.
!  *
!  * Washington University states that Agilla is free software;
!  * you can redistribute it and/or modify it under the terms of
!  * the current version of the GNU Lesser General Public License
!  * as published by the Free Software Foundation.
!  *
!  * Agilla is distributed in the hope that it will be useful, but
!  * THERE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR
!  * IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
!  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
!  *
!  * YOU UNDERSTAND THAT AGILLA IS PROVIDED "AS IS" FOR WHICH NO
!  * WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. THERE ARE NO
!  * WARRANTIES AND NO REPRESENTATION THAT AGILLA IS FREE OF
!  * INFRINGEMENT OF THIRD PARTY PATENT, CIOPYRIGHT, OR OTHER
!  * PRIOPRIETARY RIGHTS.  THERE ARE NO WARRANTIES THAT SOFTWARE IS
!  * FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS",
!  * OR OTHER HARMFUL CODE.
!  *
!  * YOU ASSUME THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR
!  * ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF
!  * INFORMATION GENERATED USING SOFTWARE. By using Agilla you agree to
!  * indemnify, defend, and hold harmless WU, its employees, officers and
!  * agents from any and all claims, costs, or liabilities, including
!  * attorneys fees and court costs at both the trial and appellate levels
!  * for any loss, damage, or injury caused by your actions or actions of
!  * your officers, servants, agents or third parties acting on behalf or
!  * under authorization from you, as a result of using Agilla.
!  *
!  * See the GNU Lesser General Public License for more details, which can
!  * be found here: http://www.gnu.org/copyleft/lesser.html
!  */
! 
! /*                  tab:4
!  *
!  *
!  * "Copyright (c) 2000-2002 The Regents of the University  of California.
!  * All rights reserved.
!  *
!  * Permission to use, copy, modify, and distribute this software and its
!  * documentation for any purpose, without fee, and without written agreement is
!  * hereby granted, provided that the above copyright notice, the following
!  * two paragraphs and the author appear in all copies of this software.
!  *
!  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
!  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
!  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
!  * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!  *
!  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
!  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
!  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
!  * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
!  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
!  *
!  */
! 
! /*                  tab:4
!  *  IMPORTANT: READ BEFORE DOWNLOADING, CIOPYING, INSTALLING OR USING.  By
!  *  downloading, copying, installing or using the software you agree to
!  *  this license.  If you do not agree to this license, do not download,
!  *  install, copy or use the software.
!  *
!  *  Intel Open Source License
!  *
!  *  Copyright (c) 2002 Intel Corporation
!  *  All rights reserved.
!  *  Redistribution and use in source and binary forms, with or without
!  *  modification, are permitted provided that the following conditions are
!  *  met:
!  *
!  *  Redistributions of source code must retain the above copyright
!  *  notice, this list of conditions and the following disclaimer.
!  *  Redistributions in binary form must reproduce the above copyright
!  *  notice, this list of conditions and the following disclaimer in the
!  *  documentation and/or other materials provided with the distribution.
!  *      Neither the name of the Intel Corporation nor the names of its
!  *  contributors may be used to endorse or promote products derived from
!  *  this software without specific prior written permission.
!  *
!  *  THIS SOFTWARE IS PROVIDED BY THE CIOPYRIGHT HOLDERS AND CONTRIBUTORS
!  *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
!  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
!  *  PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INTEL OR ITS
!  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
!  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
!  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
!  *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
!  *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
!  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
!  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!  *
!  *
!  */
! 
! /**
!  * Authors:   Neil Patel
!  * History:   created 6/20/2003
!  */
! 
! /**
!  * @author Neil Patel
!  * @author Chien-Liang Fok
!  */
! 
! 
! #ifndef AGILLA_CONSTANTS_H_INCLUDED
! #define AGILLA_CONSTANTS_H_INCLUDED
! 
! typedef enum {
! 
! /* B-class instructions */
! 
!   // zero operand instructions
!   IOPhalt      = 0x00,
!   IOPaddr      = 0x01,
!   IOPaid       = 0x02,
!   IOPrand      = 0x03,
!   IOPcpush     = 0x04,
!   IOPloc       = 0x05,
!   IOPvicinity  = 0x06,
!   IOPclear     = 0x07,
!   IOPnumnbrs   = 0x08,
!   IOPrandnbr   = 0x09,
!   IOPwait      = 0x0a,
! 
!   // One operand instructions
!   IOPinc       = 0x0b,
!   IOPclearvar  = 0x0c,
!   IOPinv       = 0x0d,
!   IOPnot       = 0x0e,
!   IOPlnot      = 0x0f,
!   IOPcopy      = 0x10,
!   IOPpop       = 0x11,
!   IOPcpull     = 0x12,
!   IOPsleep     = 0x13,
!   IOPjumpc     = 0x14,
!   IOPjumps     = 0x15,
!   IOPputled    = 0x16,
!   IOPsmove     = 0x17,
!   IOPwmove     = 0x18,
!   IOPsclone    = 0x19,
!   IOPwclone    = 0x1a,
!   IOPgetvars   = 0x1b,
!   IOPsetvars   = 0x1c,
!   IOPgetnbr    = 0x1d,
!   IOPcisnbr    = 0x1e,
!   IOPsense     = 0x1f,
!   IOPdec       = 0x20,
! 
!   // Two and three operand-instructions
!   IOPdist      = 0x21,
!   IOPswap      = 0x22,
!   IOPland      = 0x23,
!   IOPlor       = 0x24,
!   IOPand       = 0x25,
!   IOPor        = 0x26,
!   IOPmul       = 0x27,
!   IOPdiv       = 0x28,
!   IOPadd       = 0x29,
!   IOPmod       = 0x2a,
!   IOPceq       = 0x2b, // LSB = 1
!   IOPcneq      = 0x2c, // LSB = 0
!   IOPclt       = 0x2d,
!   IOPcgt       = 0x2e,
!   IOPclte      = 0x2f,
!   IOPcgte      = 0x30,
!   IOPceqtype   = 0x31,
!   IOPcistype   = 0x32,
! 
!   IOPout       = 0x33,
!   IOPinp       = 0x34,
!   IOPrdp       = 0x35,
!   IOPin        = 0x36,
!   IOPrd        = 0x37,
!   IOPendrxn    = 0x38,
! 
!   IOProut      = 0x39,
!   IOPrinp      = 0x3a,
!   IOPrrdp      = 0x3b,
!   IOProutg     = 0x3c,
!   IOPrrdpg     = 0x3d,
!   IOPregrxn    = 0x3e,
!   IOPderegrxn  = 0x3f,
! 
! /*  T class  Instruction format: 0100 ixxx*/
!   IOPpushrt    = 0x40,
!   IOPpusht     = 0x48,
! 
! /*   E-Class Instruction, format: 0101 ixxx yyyy yyyy yyyy yyyy]*/
!   IOPpushn     = 0x50,
!   IOPpushcl    = 0x51,
!   IOPpushloc   = 0x52,
! 
!   IOPextend1   = 0x53, // put the mote into extended ISA 1
!   IOPextend2   = 0x54, // put the mote into extended ISA 2
!   IOPextend3   = 0x55, // put the mote into extended ISA 3
!   IOPextend4   = 0x56, // put the mote into extended ISA 4
!   IOPextend5   = 0x57, // put the mote into extended ISA 5
!   IOPextend6   = 0x58, // put the mote into extended ISA 6
!   IOPextend7   = 0x59, // put the mote into extended ISA 7
!   IOPextend8   = 0x5a, // put the mote into extended ISA 8
!   IOPextend9   = 0x5b, // put the mote into extended ISA 9
!   IOPextend10   = 0x5c, // put the mote into extended ISA 10
!   IOPextend11   = 0x5d, // put the mote into extended ISA 11
!   IOPextend12   = 0x5e, // put the mote into extended ISA 12
!   IOPextend13   = 0x5f, // put the mote into extended ISA 13
! 
! /*   V-Class Instruction, format:  011i xxxx */
!   IOPgetvar    = 0x60,  // 5th bit must = 1
!   IOPsetvar    = 0x70,  // 5th bit must = 0
! 
! /*   J class   Instruction format:  10ix xxxx */
!   IOPrjumpc    = 0x80,  // 100x xxxx conditional relative jump
!   IOPrjump     = 0xa0,  // 101x xxxx unconditional relative jump
! 
! /*   xclass   Instruction format:  11xx xxxx*/
!   IOPpushc     = 0xc0   // push a constant onto op stack
! } BasicInstruction;
! 
! typedef enum {
!   IOPshiftr    = 0x00,
!   IOPshiftl    = 0x01,
!   IOPdepth     = 0x02,
!   IOPerr       = 0x03,
!   IOPtcount    = 0x04,
!   IOProutgs    = 0x05,
!   IOPremove    = 0x06,
!   IOPhid       = 0x07,
!   IOPlocToValue = 0x08,
!   IOPrrdpgs    = 0x09,
!   IOPsub       = 0x0a,
! 
!   IOPgetAgents       = 0x10,
!   IOPgetLocation     = 0x11,
!   IOPgetNumAgents    = 0x12,
!   IOPgetClosestAgent = 0x13,
! 
!   IOPtoAgentID       = 0x14,
! 
!   IOPsetdesc         = 0x1a,
!   IOPgetdesc         = 0x1b,
!   
!   IOPfindMatch       = 0x1c,
! 
!   IOPegetvar = 0x80,  // 10xx xxxx 
!   IOPesetvar = 0xc0,  // 11xx xxxx
! 
! } ExtendedISA1;
! 
! #endif

Index: Example Makefile.Agilla
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/Example Makefile.Agilla,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** Example Makefile.Agilla	27 Apr 2006 23:53:18 -0000	1.34
--- Example Makefile.Agilla	18 May 2006 19:58:40 -0000	1.35
***************
*** 73,75 ****
--- 73,76 ----
                -DDEBUG_OP_GETNUMAGENTS=0 \
                -DDEBUG_OP_RTS=0 \
+               -DDEBUG_OP_FIND_MATCH=0 \
                -DNBR_LIST_PRINT_CHANGES=0

Index: README
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/README,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** README	20 Mar 2006 20:06:40 -0000	1.21
--- README	18 May 2006 19:58:40 -0000	1.22
***************
*** 1,444 ****
! $Id$
! 
! Agilla: a mobile agent middleware for wireless sensor networks.  Agilla enables
! users to inject mobile agents into a wireless sensor network.  Agents are 
! autonomous computational entities that can migrate or clone across nodes in a 
! wireless sensor network.  Two types of migration and clone instructions are 
! provided: "strong" in which both code and state is maintained, and "weak" in which
! only the code is maintained.
! 
! Agilla facilitates inter-agent coordination via localized tuple spaces, 
! remote tuple space operations, and a neighbor list.
! 
! This document can be found in the TinyOS CVS repository under module
! tinyos-1.x/contrib/wustl/apps/Agilla.
! 
! Author: Chien-Liang Fok <liangfok at wustl.edu>
! Website: http://mobilab.wustl.edu/projects/agilla/index.html
! 
! DOWNLOADING AGILLA
! -------------------------------------------------------------------------------
! The latest version of Agilla can be downloaded off the TinyOS CVS server.  
! Instructions for downloading it are available here:  
! http://sourceforge.net/cvs/?group_id=28656
! 
! Checkout module tinyos-1.x/contrib/wustl.  You can use the following command:
! 
!   cvs -z3 -d:pserver:anonymous at cvs.sourceforge.net:/cvsroot/tinyos co \
!   -P tinyos-1.x/contrib/wustl
! 
! Once downloaded, Agilla's firmware will be in tinyos-1.x/contrib/wustl/apps/Agilla, 
! and the AgentInjector will be in tinyos-1.x/contrib/wustl/tools/java/.
! 
! PREREQUISITE CHANGES TO TINYOS
! -------------------------------------------------------------------------------
! Agilla interfaces with the SpaceLocalizer (module 
! tinyos-1.x/contrib/wustl/apps/SpaceLocalizer) to gain spatial information.  
! SpaceLocalizer requires that the mote's UART port be set to 115200bps, which is
! by default 57600.  To change it to 115200, open 
! tinyos-1.x/tos/platforms/<platform>/UPLUART0M.nc and change "outp(15, UBRR0L);" 
! to "outp(7, UBRR0L);".
! 
! 
! HARDWARE REQUIREMENTS
! -------------------------------------------------------------------------------
! This version of Agilla has been tested with Mica2 and MicaZ motes.  Note that
! currently SpaceLocalizer must be disabled when using MicaZ motes.  
! 
! 
! DEPENDENCIES
! -------------------------------------------------------------------------------
! Agilla relies on the following modules within TinyOS's CVS repository:
!  1) tinyos-1.x/contrib/wustl/apps/AgillaAgents
!       -This contains numerous sample Agilla agents.
!  2) tinyos-1.x/contrib/wustl/apps/LEDBlinker
!       -A utility that blinks the LEDs in various patterns.  Only uses
!          a single timer.  Used primarily for debugging purposes.
!  3) tinyos-1.x/contrib/wustl/apps/SpaceLocalizer
!       -Interfaces with a Cricket mote for location-aware applications
!  4) tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla
!       -The Java-based AgentInjector application.
!  
! 
! MAKEFILE FLAGS
! -------------------------------------------------------------------------------
! Agilla's makefile system requires that you create a "Makefile.Agilla" file 
! within tinyos-1.x/contrib/wustl/apps/Agilla/.  The contents of this file must
! look like:
! 
! PFLAGS_AGILLA=-DAGILLA_NUM_AGENTS=3 \
!               -DAGILLA_NUM_CODE_BLOCKS=12 \
!               -DAGILLA_NETWORK_INTERFACE_RECEIVE_QUEUE_SIZE=4 \
!               -DAGILLA_NETWORK_INTERFACE_SEND_QUEUE_SIZE=4 \
!               -DAGILLA_SNDR_BUFF_SIZE=1 \
!               -DAGILLA_SNDR_RETRY_TIMER=512 \
!               -DAGILLA_SNDR_MAX_RETRIES=2 \
!               -DAGILLA_SNDR_RXMIT_TIMER=290 \
!               -DAGILLA_SNDR_MAX_RETRANSMITS=4 \
!               -DAGILLA_SNDR_ABORT_TIMER=1536 \
!               -DAGILLA_RCVR_ABORT_TIMER=1000 \
!               -DAGILLA_RCVR_FIN_TIMER=300 \
!               -DAGILLA_MAX_NUM_NEIGHBORS=20 \
!               -DDEFAULT_NUM_COLUMNS=4 \
!               -DAGILLA_REMOTE_TS_OP_Q_SIZE=3 \
!               -DAGILLA_TS_SIZE=100 \
!               -DAGILLA_RTS_TIMEOUT=256 \
!               -DAGILLA_RTS_MAX_NUM_TRIES=4 \
!               -DAGILLA_TS_BOUNCEQ_SIZE=2 \
!               -DAGILLA_TS_NO_DUPLICATE=0 \
!               -DREACTION_MGR_BUFFER_SIZE=5 \
!               -DBEACON_PERIOD=2048 \
!               -DBEACON_RAND=1024 \
!               -DBEACON_TIMEOUT=9216 \
!               -DTIMEOUT_GET_LOCATION=1024 \
!               -DENABLE_SPACE_LOCALIZER=1 \
!               -DENABLE_NEIGHBOR_LIST_FILTER=0 \
!               -DOMIT_AGENT_SENDER=0 \
!               -DOMIT_AGENT_RECEIVER=0 \
!               -DOMIT_CONTEXT_DISCOVERY=0 \
!               -DINCLUDE_DEFAULT_AGENT=0 \
!               -DPRINT_RXN_FIRED=0 \
!               -DDEBUG_AGENT_RECEIVER=0 \
!               -DDEBUG_AGENT_SENDER=0 \
!               -DDEBUG_OPSTACK=0 \
!               -DDEBUG_HEAPMGR=0 \
!               -DDEBUG_AGENT_MGR=0 \
!               -DDEBUG_CODEMGR=0 \
!               -DDEBUG_REMOTE_TS_OP_MGR=0 \
!               -DDEBUG_RXNMGR=0 \
!               -DDEBUG_TS=0 \
!               -DDEBUG_TUPLE_UTIL=0 \
!               -DDEBUG_NEIGHBORLIST=0 \
!               -DDEBUG_AGILLA_ENGINE=0 \
!               -DDEBUG_OP_SLEEP=0 \
!               -DDEBUG_OP_RXN=0 \
!               -DDEBUG_OPCOMPARE=0 \
!               -DDEBUG_ADDRESS_MGR=0 \
!               -DNBR_LIST_PRINT_CHANGES=0
! 
! 
! Details on each of these flags is described below. Default values are in 
! parenthesis.
! 
! -DAGILLA_NUM_AGENTS=<num> (3)
!    The maximum number of agents per node.  This value depends on 
!    the amount of memory available.  Try to keep RAM usage below 3.5K.
! 
! -DAGILLA_NUM_CODE_BLOCKS=<num> (12)
!    The number of code blocks within the CodeMgr.  Each code block is 22 bytes.
!    The CodeMgr allocates the minimum number of blocks necessary to hold an
!    agent's code.
! 
! -DAGILLA_NETWORK_INTERFACE_RECEIVE_QUEUE_SIZE=<num> (3)
!    The maximum number of incoming messages Agilla should enqueue.
!    A higher value makes communication more reliable, but increases
!    memory usage.
!    
! -DAGILLA_NETWORK_INTERFACE_SEND_QUEUE_SIZE=<num> (3)
!    The maximum number of outgoing messages Agilla should enqueue.
!    A higher value makes communication more reliable, but increases
!    memory usage.
!    
! -DDEBUG_NETWORK_INTERFACE=<0/1> (0)
!   Prints out debug messages generated from within the NetworkInterface 
!   components.  The NetworkInterface manages the send and receive buffers.
! 
! -DAGILLA_SNDR_BUFF_SIZE=<num> (1)
!    The maximum number of simultaneous outgoing agents.
!    
! -DAGILLA_SNDR_RETRY_TIMER=<num> (512)
!    The amount of time in binary milliseconds before the agent sender 
!    aborts the migration process and retries from the beginning.
!    
! -DAGILLA_SNDR_MAX_RETRIES=<num> (2)
!    The maximum number of times the agent sender will retry migrating an
!    agent before permanently aborting.
!    
! -DAGILLA_SNDR_MAX_RETRANSMITS=<num> (4)
!    The maximum number of times the agent sender will retransmit a message
!    before aborting.
! 
! -DAGILLA_SNDR_RXMIT_TIMER=<num> (256)
!    The amount of time in binary milliseconds before the agent sender 
!    retransmits a message.  If an acknowledgement is received within this
!    time, the message is not retransmitted.
!    
! -DAGILLA_SNDR_ABORT_TIMER=<num> (1536)
!    The amount of time the sender pauses before aborting an agent.  This
!    ensures that the destination node times out the receive process and 
!    frees up the memory.  This must be higher than -DAGILLA_RCVR_ABORT_TIMER.
!    
! -DAGILLA_RCVR_BUFF_SIZE=<num> (1)
!    The number of simultaneous incoming agents.  This value is limited
!    by memory availability.  NOTE: THIS OPTION IS NO LONGER AVAILABLE
!    
! -DAGILLA_RCVR_ABORT_TIMER=<num> (1000)
!    The amount of time without receiving messages that the agent receiver 
!    abort the migration process.
!    
! -DAGILLA_RCVR_FIN_TIMER=<num> (300)
!    The amount of time that the receiver waits after receiving an agent to make
!    sure no duplicate messages for the agent arrive.  The main purpose of this
!    is to prevent duplicate agents.
!    
! -DAGILLA_MAX_NUM_NEIGHBORS=<num> (20)
!    The size of the neighbor list.
! 
! -DDEFAULT_NUM_COLUMNS=<num> (20)
!    Specifies the default number of columns.  This is used when 
!    DENABLE_NEIGHBOR_LIST_FILTER=1.  It creates a virtual multi-hop network
!    by limiting the neighbor list to contain only nodes within 1 hop as defined
!    within a grid topology.
!    
! -DAGILLA_REMOTE_TS_OP_Q_SIZE=<num> (3)
!    The maximum number of remote tuple space operations.
!    
! -DAGILLA_TS_SIZE=<num> (100)
!    The size of the tuple space in bytes.  Note that this consumes RAM.
! 
! -DAGILLA_TS_NO_DUPLICATE=<num> (0)
!    Determines whether duplicate tuples should be allowed in the tuple space.
!    This is useful when performing rout operations.  If the ACK is lost, the
!    initiating node will retransmit.  This may result in duplicate tuples
!    in the destination's tuple space.
!    
! -DAGILLA_RTS_TIMEOUT=<num> (1024)
!    The maximum amount of time a node waits for an acknowledgement when 
!    performing a remove tuple space operation.
! 
! -DTIMEOUT_GET_LOCATION=<num> (1024)
!     The amount of time Agilla waits before cancelling a getAgentLocation 
!     operation.
!     
! -DAGILLA_RTS_MAX_NUM_TRIES=<num> (4)
!    The maximum number of times a node will retry transmitting a tuple space 
!    operation before trimming out.
!    
! -DAGILLA_TS_BOUNCEQ_SIZE=<num> (1)
!    The maximum number of pending remote tuple space operations.
!    
! -DREACTION_MGR_BUFFER_SIZE=<num> (5
!    The maximum number of reactions that can be registered.
! 
! -DBEACON_PERIOD=<num> (2048)
!    The minimum beacon period.  Used for maintaining the neighbor list.
!    
! -DBEACON_RAND=<num> (1024)
!    The randomized part of the beacon period.  The actual beacon period is 
!    between BEACON_PERIOD and BEACON_PERIOD+BEACON_RAND.
!    
! -DBEACON_TIMEOUT=<num> (9216)
!    The amount of time over which no beacon from a particular neighbor is
!    received before removing that neighbor from the neighbor list.
!    
! -DENABLE_SPACE_LOCALIZER=<1/0> (1)   
!    Specifies whether Agilla should use the SpaceLocalizer to change 
!    radio frequencies when the mote's location changes.  To configure the 
!    possible location spaces, and what radio frequencies are used for each
!    space, edit event "SpaceLocalizerI.moved(...)" within 
!    <agilla>/components/LocationMgrM.nc.  By default, there are two spaces
!    defined: "DOCK" and "SHIP".  DOCK uses CC1000_CHANNEL_2 while SHIP uses
!    CC1000_CHANNEL_4.  The CC1000 channel frequencies are defined within
!    module tinyos-1.x/contrib/wustl/SpaceLocalizer/SpaceLocalizer.h.
! 
! -DENABLE_NEIGHBOR_LIST_FILTER=<1/0> (0)
!    Specifies whether the neighbor list filter is enabled.  If enabled, the 
!    filter will block adding any neighbors that are not immdiate neighbors
!    based on the grid topology from being added to the neighbor list.  This
!    is used to simulate a multi-hop network.
! 
! -DINCLUDE_DEFAULT_AGENT=<1/0> (0)
!    Sets whether an agent is hard-coded into the middleware and automatically 
!    started when the mote boots.  This is useful for running Agilla without 
!    an AgentInjector.
! 
! -DOMIT_AGENT_SENDER=<1/0> (0)
!    Specifies whether the agent sender should be included.  This is use for
!    isolating bugs.  When set to 1, the agent sender components will not be
!    compiled.
! 
! -DOMIT_AGENT_RECEIVER=<1/0> (0)
!    Specifies whether the agent receiver should be included.  This is use for
!    isolating bugs.  When set to 1, the agent receiver components will not be
!    compiled.
!    
! -DOMIT_CONTEXT_DISCOVERY=<1/0> (0)
!    Specifies whether the context discovery components should be included.  This 
!    is use for isolating bugs.  When set to 1, the context discovery components 
!    will not be compiled.
! 
! -DINCLUDE_DEFAULT_AGENT=<1/0> (0) 
!    Whether to include a default agent within the firmware.  If a default agent 
!    is included, it will be started automatically when the mote is turned on.
!    
! -DDEBUG_AGENT_RECEIVER=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
! 
! -DDEBUG_AGENT_SENDER=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_OPSTACK=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_HEAPMGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_AGENT_MGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_CODEMGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_REMOTE_TS_OP_MGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_RXNMGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_TS=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_TUPLE_UTIL=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_NEIGHBORLIST=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".   
!     
! -DDEBUG_AGILLA_ENGINE=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".   
! 
! -DNBR_LIST_PRINT_CHANGES=<1/0> (0)   
!     A flag that controls whether to print statements to the screen that 
!     indicate changes to the neighbor list.
! 
! 
! STARTING THE AGENT INJECTOR
! -------------------------------------------------------------------------------
! Agilla uses a Java-based AgentInjector to inject agents into a wireless sensor
! network.  The AgentInjector is located in module
! tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla.
! 
! To compile the AgentInjector, go into its directory and type "make".
! 
! Start the AgentInjector using the following command:
! 
!   $ java -Djava.security.policy=java.policy edu.wustl.mobilab.agilla.AgentInjector 
!     -comm COM1:115200 -d &
! 
! Make sure /opt/tinyos-1.x/contrib/wustl/tools/java/ is in the CLASSPATH.
! 
!    
! REMOTE TUPLE SPACE OPERATIONS   
! -------------------------------------------------------------------------------
! 
! The following diagram shows the sequence of messages that are passed during a
! remote tuple space operation where the initiator is the PC, and the destination 
! is a node not directly connected to it.
! 
!  ----    (1)    --------    (2)    --------
! |    |  ---->  |        |  ---->  |        |
! | PC |         | Mote 1 |         | Mote 2 |
! |    |  <----  |        |  <----  |        |
!  ----    (4)    --------    (3)    --------
!  
!  
!  (1) dest=mote2, reply=null
!  (2) dest=mote2, reply=mote1*
!  (3) dest=mote1
!  (4) dest=uart**
!  
!  *  When mote 1 receives a request destined for a remote node, it assumes it came 
!     from the base station, and forwards the request to the destination after 
!     setting the reply address to be itself.
!  ** When mote 1 receives an unexpected results message from mote2, it assumes its 
!     for the base station and forwards it to the uart.  A possible race condition 
!     will occur if an agent on Mote 1 issues a remote operation using the same 
!     template while still waiting for a base station operation's results to arrive.
!     The probability of this occurring is minimal.
! 
! The following diagram shows the sequence of messages that are passed during a
! remote tuple space operation where the initiator is a node not connected to a 
! programming board, and the destination is the PC.  Note that no address renaming
! occurs.
! 
!  ----    (2)    --------    (1)    --------
! |    |  <----  |        |  <----  |        |
! | PC |         | Mote 1 |         | Mote 2 |
! |    |  ---->  |        |  ---->  |        |
!  ----    (3)    --------    (4)    --------
!  
!  
!  (1) dest=uart, reply=mote2
!  (2) dest=uart, reply=mote2 
!  (3) dest=mote2
!  (4) dest=mote2 
!  
!  Note that in stage (3), if no match was found, the original template is saved as
!  the results, and the success field is set to 0.  This allows mote 1 to determine
!  whether it should forward the results to mote 2, or keep it for itself.
! 
! 
! GET NEIGHBOR LIST OPERATION
! -------------------------------------------------------------------------------
! The AgentInjector provides the following public method:
! 
!   public Vector queryNbrList(int addr);
! 
! This method allows a user to query the neighbor list of a mote.  The mote's 
! neighbor list is maintained using periodic beacons by 
! components/ContextDiscovery/NeighborListM.nc.  A user can query the neighbor
! list of a mote assuming it is physically one hop away from the base station.  
! Note that if DENABLE_NEIGHBOR_LIST_FILTER=1, a mote may be multiple virtual
! hops away from the base station.  This does not matter.  So long as the mote is 
! one physical hop away from the base station, the neighbor list can be queries.
! 
! Query neighbor list works as follows.  Suppose you want to query the neighbor list
! of mote 2 in a network with the following topology:
! 
!  ----    (1)    --------    (2)    --------
! |    |  ---->  |        |  ---->  |        |
! | PC |         | Mote 1 |         | Mote 2 |
! |    |  <----  |        |  <----  |        |
!  ----    (4)    --------    (3)    --------
! 
! 
! (1) The query is issued and passed over a serial link to Mote 1.
! (2) The query is bounced off Mote 1 to Mote 2.  The reply address of the query is
!     changed to be mote 1.
! (3) Mote 2 responds with its neighbor list.  Note that this may be more than
!     one message
! (4) Mote 1 receives a response, and forwards it to the PC.  Mote 1 will only 
!     forward it to the PC if it is a base station.  Mote 1 knows its a base 
!     station if it receives a heart beat from the PC.
! 
! 
! FUTURE IMPROVEMENTS
! -------------------------------------------------------------------------------
! 1) Error reporting mechanism will offer more details on what went wrong.  The 
!    current error message only includes up to 2 bytes of data and the total 
!    message size is only 13 bytes.
! 2) regrxn should update condition codes
! 3) If the CodeMgr fails to allocate enough code blocks for an agent, send an
!    error back to the node from which the agent is arriving instead of going into
!    an AGILLA_ERROR_GET_FREE_BLOCK error mode.
! 4) Use the flash memory for the tuple space.  Offer persistent tuple space.
! 5) Port Agilla to Telos.
! 6) High-level language.
! 7) Policies for determining which agent should run when the mote cannot support  
!    any more agents.
! 8) Middlware cognizant of global priority level; kill agents that are below current
!    priority.
! 9) Reactions sensitive to thresholds, e.g., react when the temperature is above a certain value...
  10)Remote reactions.
\ No newline at end of file
--- 1,444 ----
! $Id$
! 
! Agilla: a mobile agent middleware for wireless sensor networks.  Agilla enables
! users to inject mobile agents into a wireless sensor network.  Agents are 
! autonomous computational entities that can migrate or clone across nodes in a 
! wireless sensor network.  Two types of migration and clone instructions are 
! provided: "strong" in which both code and state is maintained, and "weak" in which
! only the code is maintained.
! 
! Agilla facilitates inter-agent coordination via localized tuple spaces, 
! remote tuple space operations, and a neighbor list.
! 
! This document can be found in the TinyOS CVS repository under module
! tinyos-1.x/contrib/wustl/apps/Agilla.
! 
! Author: Chien-Liang Fok <liangfok at wustl.edu>
! Website: http://mobilab.wustl.edu/projects/agilla/index.html
! 
! DOWNLOADING AGILLA
! -------------------------------------------------------------------------------
! The latest version of Agilla can be downloaded off the TinyOS CVS server.  
! Instructions for downloading it are available here:  
! http://sourceforge.net/cvs/?group_id=28656
! 
! Checkout module tinyos-1.x/contrib/wustl.  You can use the following command:
! 
!   cvs -z3 -d:pserver:anonymous at cvs.sourceforge.net:/cvsroot/tinyos co \
!   -P tinyos-1.x/contrib/wustl
! 
! Once downloaded, Agilla's firmware will be in tinyos-1.x/contrib/wustl/apps/Agilla, 
! and the AgentInjector will be in tinyos-1.x/contrib/wustl/tools/java/.
! 
! PREREQUISITE CHANGES TO TINYOS
! -------------------------------------------------------------------------------
! Agilla interfaces with the SpaceLocalizer (module 
! tinyos-1.x/contrib/wustl/apps/SpaceLocalizer) to gain spatial information.  
! SpaceLocalizer requires that the mote's UART port be set to 115200bps, which is
! by default 57600.  To change it to 115200, open 
! tinyos-1.x/tos/platforms/<platform>/UPLUART0M.nc and change "outp(15, UBRR0L);" 
! to "outp(7, UBRR0L);".
! 
! 
! HARDWARE REQUIREMENTS
! -------------------------------------------------------------------------------
! This version of Agilla has been tested with Mica2 and MicaZ motes.  Note that
! currently SpaceLocalizer must be disabled when using MicaZ motes.  
! 
! 
! DEPENDENCIES
! -------------------------------------------------------------------------------
! Agilla relies on the following modules within TinyOS's CVS repository:
!  1) tinyos-1.x/contrib/wustl/apps/AgillaAgents
!       -This contains numerous sample Agilla agents.
!  2) tinyos-1.x/contrib/wustl/apps/LEDBlinker
!       -A utility that blinks the LEDs in various patterns.  Only uses
!          a single timer.  Used primarily for debugging purposes.
!  3) tinyos-1.x/contrib/wustl/apps/SpaceLocalizer
!       -Interfaces with a Cricket mote for location-aware applications
!  4) tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla
!       -The Java-based AgentInjector application.
!  
! 
! MAKEFILE FLAGS
! -------------------------------------------------------------------------------
! Agilla's makefile system requires that you create a "Makefile.Agilla" file 
! within tinyos-1.x/contrib/wustl/apps/Agilla/.  The contents of this file must
! look like:
! 
! PFLAGS_AGILLA=-DAGILLA_NUM_AGENTS=3 \
!               -DAGILLA_NUM_CODE_BLOCKS=12 \
!               -DAGILLA_NETWORK_INTERFACE_RECEIVE_QUEUE_SIZE=4 \
!               -DAGILLA_NETWORK_INTERFACE_SEND_QUEUE_SIZE=4 \
!               -DAGILLA_SNDR_BUFF_SIZE=1 \
!               -DAGILLA_SNDR_RETRY_TIMER=512 \
!               -DAGILLA_SNDR_MAX_RETRIES=2 \
!               -DAGILLA_SNDR_RXMIT_TIMER=290 \
!               -DAGILLA_SNDR_MAX_RETRANSMITS=4 \
!               -DAGILLA_SNDR_ABORT_TIMER=1536 \
!               -DAGILLA_RCVR_ABORT_TIMER=1000 \
!               -DAGILLA_RCVR_FIN_TIMER=300 \
!               -DAGILLA_MAX_NUM_NEIGHBORS=20 \
!               -DDEFAULT_NUM_COLUMNS=4 \
!               -DAGILLA_REMOTE_TS_OP_Q_SIZE=3 \
!               -DAGILLA_TS_SIZE=100 \
!               -DAGILLA_RTS_TIMEOUT=256 \
!               -DAGILLA_RTS_MAX_NUM_TRIES=4 \
!               -DAGILLA_TS_BOUNCEQ_SIZE=2 \
!               -DAGILLA_TS_NO_DUPLICATE=0 \
!               -DREACTION_MGR_BUFFER_SIZE=5 \
!               -DBEACON_PERIOD=2048 \
!               -DBEACON_RAND=1024 \
!               -DBEACON_TIMEOUT=9216 \
!               -DTIMEOUT_GET_LOCATION=1024 \
!               -DENABLE_SPACE_LOCALIZER=1 \
!               -DENABLE_NEIGHBOR_LIST_FILTER=0 \
!               -DOMIT_AGENT_SENDER=0 \
!               -DOMIT_AGENT_RECEIVER=0 \
!               -DOMIT_CONTEXT_DISCOVERY=0 \
!               -DINCLUDE_DEFAULT_AGENT=0 \
!               -DPRINT_RXN_FIRED=0 \
!               -DDEBUG_AGENT_RECEIVER=0 \
!               -DDEBUG_AGENT_SENDER=0 \
!               -DDEBUG_OPSTACK=0 \
!               -DDEBUG_HEAPMGR=0 \
!               -DDEBUG_AGENT_MGR=0 \
!               -DDEBUG_CODEMGR=0 \
!               -DDEBUG_REMOTE_TS_OP_MGR=0 \
!               -DDEBUG_RXNMGR=0 \
!               -DDEBUG_TS=0 \
!               -DDEBUG_TUPLE_UTIL=0 \
!               -DDEBUG_NEIGHBORLIST=0 \
!               -DDEBUG_AGILLA_ENGINE=0 \
!               -DDEBUG_OP_SLEEP=0 \
!               -DDEBUG_OP_RXN=0 \
!               -DDEBUG_OPCOMPARE=0 \
!               -DDEBUG_ADDRESS_MGR=0 \
!               -DNBR_LIST_PRINT_CHANGES=0
! 
! 
! Details on each of these flags is described below. Default values are in 
! parenthesis.
! 
! -DAGILLA_NUM_AGENTS=<num> (3)
!    The maximum number of agents per node.  This value depends on 
!    the amount of memory available.  Try to keep RAM usage below 3.5K.
! 
! -DAGILLA_NUM_CODE_BLOCKS=<num> (12)
!    The number of code blocks within the CodeMgr.  Each code block is 22 bytes.
!    The CodeMgr allocates the minimum number of blocks necessary to hold an
!    agent's code.
! 
! -DAGILLA_NETWORK_INTERFACE_RECEIVE_QUEUE_SIZE=<num> (3)
!    The maximum number of incoming messages Agilla should enqueue.
!    A higher value makes communication more reliable, but increases
!    memory usage.
!    
! -DAGILLA_NETWORK_INTERFACE_SEND_QUEUE_SIZE=<num> (3)
!    The maximum number of outgoing messages Agilla should enqueue.
!    A higher value makes communication more reliable, but increases
!    memory usage.
!    
! -DDEBUG_NETWORK_INTERFACE=<0/1> (0)
!   Prints out debug messages generated from within the NetworkInterface 
!   components.  The NetworkInterface manages the send and receive buffers.
! 
! -DAGILLA_SNDR_BUFF_SIZE=<num> (1)
!    The maximum number of simultaneous outgoing agents.
!    
! -DAGILLA_SNDR_RETRY_TIMER=<num> (512)
!    The amount of time in binary milliseconds before the agent sender 
!    aborts the migration process and retries from the beginning.
!    
! -DAGILLA_SNDR_MAX_RETRIES=<num> (2)
!    The maximum number of times the agent sender will retry migrating an
!    agent before permanently aborting.
!    
! -DAGILLA_SNDR_MAX_RETRANSMITS=<num> (4)
!    The maximum number of times the agent sender will retransmit a message
!    before aborting.
! 
! -DAGILLA_SNDR_RXMIT_TIMER=<num> (256)
!    The amount of time in binary milliseconds before the agent sender 
!    retransmits a message.  If an acknowledgement is received within this
!    time, the message is not retransmitted.
!    
! -DAGILLA_SNDR_ABORT_TIMER=<num> (1536)
!    The amount of time the sender pauses before aborting an agent.  This
!    ensures that the destination node times out the receive process and 
!    frees up the memory.  This must be higher than -DAGILLA_RCVR_ABORT_TIMER.
!    
! -DAGILLA_RCVR_BUFF_SIZE=<num> (1)
!    The number of simultaneous incoming agents.  This value is limited
!    by memory availability.  NOTE: THIS OPTION IS NO LONGER AVAILABLE
!    
! -DAGILLA_RCVR_ABORT_TIMER=<num> (1000)
!    The amount of time without receiving messages that the agent receiver 
!    abort the migration process.
!    
! -DAGILLA_RCVR_FIN_TIMER=<num> (300)
!    The amount of time that the receiver waits after receiving an agent to make
!    sure no duplicate messages for the agent arrive.  The main purpose of this
!    is to prevent duplicate agents.
!    
! -DAGILLA_MAX_NUM_NEIGHBORS=<num> (20)
!    The size of the neighbor list.
! 
! -DDEFAULT_NUM_COLUMNS=<num> (20)
!    Specifies the default number of columns.  This is used when 
!    DENABLE_NEIGHBOR_LIST_FILTER=1.  It creates a virtual multi-hop network
!    by limiting the neighbor list to contain only nodes within 1 hop as defined
!    within a grid topology.
!    
! -DAGILLA_REMOTE_TS_OP_Q_SIZE=<num> (3)
!    The maximum number of remote tuple space operations.
!    
! -DAGILLA_TS_SIZE=<num> (100)
!    The size of the tuple space in bytes.  Note that this consumes RAM.
! 
! -DAGILLA_TS_NO_DUPLICATE=<num> (0)
!    Determines whether duplicate tuples should be allowed in the tuple space.
!    This is useful when performing rout operations.  If the ACK is lost, the
!    initiating node will retransmit.  This may result in duplicate tuples
!    in the destination's tuple space.
!    
! -DAGILLA_RTS_TIMEOUT=<num> (1024)
!    The maximum amount of time a node waits for an acknowledgement when 
!    performing a remove tuple space operation.
! 
! -DTIMEOUT_GET_LOCATION=<num> (1024)
!     The amount of time Agilla waits before cancelling a getAgentLocation 
!     operation.
!     
! -DAGILLA_RTS_MAX_NUM_TRIES=<num> (4)
!    The maximum number of times a node will retry transmitting a tuple space 
!    operation before trimming out.
!    
! -DAGILLA_TS_BOUNCEQ_SIZE=<num> (1)
!    The maximum number of pending remote tuple space operations.
!    
! -DREACTION_MGR_BUFFER_SIZE=<num> (5
!    The maximum number of reactions that can be registered.
! 
! -DBEACON_PERIOD=<num> (2048)
!    The minimum beacon period.  Used for maintaining the neighbor list.
!    
! -DBEACON_RAND=<num> (1024)
!    The randomized part of the beacon period.  The actual beacon period is 
!    between BEACON_PERIOD and BEACON_PERIOD+BEACON_RAND.
!    
! -DBEACON_TIMEOUT=<num> (9216)
!    The amount of time over which no beacon from a particular neighbor is
!    received before removing that neighbor from the neighbor list.
!    
! -DENABLE_SPACE_LOCALIZER=<1/0> (1)   
!    Specifies whether Agilla should use the SpaceLocalizer to change 
!    radio frequencies when the mote's location changes.  To configure the 
!    possible location spaces, and what radio frequencies are used for each
!    space, edit event "SpaceLocalizerI.moved(...)" within 
!    <agilla>/components/LocationMgrM.nc.  By default, there are two spaces
!    defined: "DOCK" and "SHIP".  DOCK uses CC1000_CHANNEL_2 while SHIP uses
!    CC1000_CHANNEL_4.  The CC1000 channel frequencies are defined within
!    module tinyos-1.x/contrib/wustl/SpaceLocalizer/SpaceLocalizer.h.
! 
! -DENABLE_NEIGHBOR_LIST_FILTER=<1/0> (0)
!    Specifies whether the neighbor list filter is enabled.  If enabled, the 
!    filter will block adding any neighbors that are not immdiate neighbors
!    based on the grid topology from being added to the neighbor list.  This
!    is used to simulate a multi-hop network.
! 
! -DINCLUDE_DEFAULT_AGENT=<1/0> (0)
!    Sets whether an agent is hard-coded into the middleware and automatically 
!    started when the mote boots.  This is useful for running Agilla without 
!    an AgentInjector.
! 
! -DOMIT_AGENT_SENDER=<1/0> (0)
!    Specifies whether the agent sender should be included.  This is use for
!    isolating bugs.  When set to 1, the agent sender components will not be
!    compiled.
! 
! -DOMIT_AGENT_RECEIVER=<1/0> (0)
!    Specifies whether the agent receiver should be included.  This is use for
!    isolating bugs.  When set to 1, the agent receiver components will not be
!    compiled.
!    
! -DOMIT_CONTEXT_DISCOVERY=<1/0> (0)
!    Specifies whether the context discovery components should be included.  This 
!    is use for isolating bugs.  When set to 1, the context discovery components 
!    will not be compiled.
! 
! -DINCLUDE_DEFAULT_AGENT=<1/0> (0) 
!    Whether to include a default agent within the firmware.  If a default agent 
!    is included, it will be started automatically when the mote is turned on.
!    
! -DDEBUG_AGENT_RECEIVER=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
! 
! -DDEBUG_AGENT_SENDER=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_OPSTACK=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_HEAPMGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_AGENT_MGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_CODEMGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_REMOTE_TS_OP_MGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_RXNMGR=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_TS=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_TUPLE_UTIL=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".
!     
! -DDEBUG_NEIGHBORLIST=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".   
!     
! -DDEBUG_AGILLA_ENGINE=<1/0> (0) 
!     A flag that controls whether to print debug statements to the screen under
!     mode "usr1".   
! 
! -DNBR_LIST_PRINT_CHANGES=<1/0> (0)   
!     A flag that controls whether to print statements to the screen that 
!     indicate changes to the neighbor list.
! 
! 
! STARTING THE AGENT INJECTOR
! -------------------------------------------------------------------------------
! Agilla uses a Java-based AgentInjector to inject agents into a wireless sensor
! network.  The AgentInjector is located in module
! tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla.
! 
! To compile the AgentInjector, go into its directory and type "make".
! 
! Start the AgentInjector using the following command:
! 
!   $ java -Djava.security.policy=java.policy edu.wustl.mobilab.agilla.AgentInjector 
!     -comm COM1:115200 -d &
! 
! Make sure /opt/tinyos-1.x/contrib/wustl/tools/java/ is in the CLASSPATH.
! 
!    
! REMOTE TUPLE SPACE OPERATIONS   
! -------------------------------------------------------------------------------
! 
! The following diagram shows the sequence of messages that are passed during a
! remote tuple space operation where the initiator is the PC, and the destination 
! is a node not directly connected to it.
! 
!  ----    (1)    --------    (2)    --------
! |    |  ---->  |        |  ---->  |        |
! | PC |         | Mote 1 |         | Mote 2 |
! |    |  <----  |        |  <----  |        |
!  ----    (4)    --------    (3)    --------
!  
!  
!  (1) dest=mote2, reply=null
!  (2) dest=mote2, reply=mote1*
!  (3) dest=mote1
!  (4) dest=uart**
!  
!  *  When mote 1 receives a request destined for a remote node, it assumes it came 
!     from the base station, and forwards the request to the destination after 
!     setting the reply address to be itself.
!  ** When mote 1 receives an unexpected results message from mote2, it assumes its 
!     for the base station and forwards it to the uart.  A possible race condition 
!     will occur if an agent on Mote 1 issues a remote operation using the same 
!     template while still waiting for a base station operation's results to arrive.
!     The probability of this occurring is minimal.
! 
! The following diagram shows the sequence of messages that are passed during a
! remote tuple space operation where the initiator is a node not connected to a 
! programming board, and the destination is the PC.  Note that no address renaming
! occurs.
! 
!  ----    (2)    --------    (1)    --------
! |    |  <----  |        |  <----  |        |
! | PC |         | Mote 1 |         | Mote 2 |
! |    |  ---->  |        |  ---->  |        |
!  ----    (3)    --------    (4)    --------
!  
!  
!  (1) dest=uart, reply=mote2
!  (2) dest=uart, reply=mote2 
!  (3) dest=mote2
!  (4) dest=mote2 
!  
!  Note that in stage (3), if no match was found, the original template is saved as
!  the results, and the success field is set to 0.  This allows mote 1 to determine
!  whether it should forward the results to mote 2, or keep it for itself.
! 
! 
! GET NEIGHBOR LIST OPERATION
! -------------------------------------------------------------------------------
! The AgentInjector provides the following public method:
! 
!   public Vector queryNbrList(int addr);
! 
! This method allows a user to query the neighbor list of a mote.  The mote's 
! neighbor list is maintained using periodic beacons by 
! components/ContextDiscovery/NeighborListM.nc.  A user can query the neighbor
! list of a mote assuming it is physically one hop away from the base station.  
! Note that if DENABLE_NEIGHBOR_LIST_FILTER=1, a mote may be multiple virtual
! hops away from the base station.  This does not matter.  So long as the mote is 
! one physical hop away from the base station, the neighbor list can be queries.
! 
! Query neighbor list works as follows.  Suppose you want to query the neighbor list
! of mote 2 in a network with the following topology:
! 
!  ----    (1)    --------    (2)    --------
! |    |  ---->  |        |  ---->  |        |
! | PC |         | Mote 1 |         | Mote 2 |
! |    |  <----  |        |  <----  |        |
!  ----    (4)    --------    (3)    --------
! 
! 
! (1) The query is issued and passed over a serial link to Mote 1.
! (2) The query is bounced off Mote 1 to Mote 2.  The reply address of the query is
!     changed to be mote 1.
! (3) Mote 2 responds with its neighbor list.  Note that this may be more than
!     one message
! (4) Mote 1 receives a response, and forwards it to the PC.  Mote 1 will only 
!     forward it to the PC if it is a base station.  Mote 1 knows its a base 
!     station if it receives a heart beat from the PC.
! 
! 
! FUTURE IMPROVEMENTS
! -------------------------------------------------------------------------------
! 1) Error reporting mechanism will offer more details on what went wrong.  The 
!    current error message only includes up to 2 bytes of data and the total 
!    message size is only 13 bytes.
! 2) regrxn should update condition codes
! 3) If the CodeMgr fails to allocate enough code blocks for an agent, send an
!    error back to the node from which the agent is arriving instead of going into
!    an AGILLA_ERROR_GET_FREE_BLOCK error mode.
! 4) Use the flash memory for the tuple space.  Offer persistent tuple space.
! 5) Port Agilla to Telos.
! 6) High-level language.
! 7) Policies for determining which agent should run when the mote cannot support  
!    any more agents.
! 8) Middlware cognizant of global priority level; kill agents that are below current
!    priority.
! 9) Reactions sensitive to thresholds, e.g., react when the temperature is above a certain value...
  10)Remote reactions.
\ No newline at end of file

Index: platforms.properties
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/apps/Agilla/platforms.properties,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** platforms.properties	7 Apr 2006 01:14:32 -0000	1.4
--- platforms.properties	18 May 2006 19:58:40 -0000	1.5
***************
*** 1,20 ****
! ##Initial properties for the known platforms
! #This property file is used to associate the platforms specified in the comm
! #ID string (e.g. serial at COM1:mica) with various plaftorm-specific parameters
! #The entry format is as follows: 
! #	<platform>=<platform package>, <integer ID>, <baudrate>
! #	where
! #<platform> -- that's the platform we compile for (i.e. valid nesc target
! #<platform package> -- name of the common package family that uses the same AM format (e.g. avrmote)
! #<integer ID> -- unique integer that is used by serial forwarder to identify the platform across the network
! #<baudrate> -- default serial port datarate used to communicate with the mote
! 
! #Thu Nov 04 18:44:39 PST 2004
! telos=telos,1,57600
! tmote=tmote,1,57600
! mica=avrmote,2,19200
! eyes=eyes,4,19200
! micaz=micaz,3,57600
! mica2=avrmote,2,57600
! mica2dot=avrmote,2,19200
  
--- 1,20 ----
! ##Initial properties for the known platforms
! #This property file is used to associate the platforms specified in the comm
! #ID string (e.g. serial at COM1:mica) with various plaftorm-specific parameters
! #The entry format is as follows: 
! #	<platform>=<platform package>, <integer ID>, <baudrate>
! #	where
! #<platform> -- that's the platform we compile for (i.e. valid nesc target
! #<platform package> -- name of the common package family that uses the same AM format (e.g. avrmote)
! #<integer ID> -- unique integer that is used by serial forwarder to identify the platform across the network
! #<baudrate> -- default serial port datarate used to communicate with the mote
! 
! #Thu Nov 04 18:44:39 PST 2004
! telos=telos,1,57600
! tmote=tmote,1,57600
! mica=avrmote,2,19200
! eyes=eyes,4,19200
! micaz=micaz,3,57600
! mica2=avrmote,2,57600
! mica2dot=avrmote,2,19200
  



More information about the Tinyos-contrib-commits mailing list