[Tinyos-commits] CVS: tinyos-1.x/tos/lib/VM/languages/tinysql tsql-mica2.vmsf, NONE, 1.1 tsql-micaz.vmsf, NONE, 1.1 tsql-telosb-float.vmsf, NONE, 1.1 tsql-telosb.vmsf, NONE, 1.1 tinysql.txt, 1.6, 1.7 tsql.vmsf, 1.1, NONE

David Gay idgay at users.sourceforge.net
Tue Nov 29 14:50:18 PST 2005


Update of /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/tinysql
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15048

Modified Files:
	tinysql.txt 
Added Files:
	tsql-mica2.vmsf tsql-micaz.vmsf tsql-telosb-float.vmsf 
	tsql-telosb.vmsf 
Removed Files:
	tsql.vmsf 
Log Message:
per-platform vmsf files


--- NEW FILE: tsql-mica2.vmsf ---
<VM NAME="TSQLVM" DESC="A TinySQL VM with micasb sensor board support." DIR="../../../../../../apps/TSQLVM">
<OPTION CAPSULE_SIZE=1536>
<SEARCH PATH="../../opcodes">
<SEARCH PATH="../../contexts">
<SEARCH PATH="../motlle/mate">
<SEARCH PATH="../motlle/mate/rep-float">
<SEARCH PATH="../motlle/mate/runtime">
<SEARCH PATH="../motlle/mate/runtime/gen">
<SEARCH PATH="../motlle/matelib">
<SEARCH PATH="../motlle/matelib/gen">
<SEARCH PATH="../../../Util">
<SEARCH PATH="../../../MintRoute">

<LANGUAGE NAME="motlle">
<LOAD FILE="../motlle/mate/runtime/gen/floatfns.vmsf">

<FUNCTION NAME="led">
<FUNCTION name="id">
<CONTEXT NAME="Timer0">
<LOAD FILE="../../sensorboards/micasb.vmsf">
<LOAD FILE="../motlle/matelib/gen/commfns.vmsf">
<LOAD FILE="../motlle/matelib/gen/mhopfns.vmsf">
<LOAD FILE="../motlle/matelib/gen/queryfns.vmsf">

--- NEW FILE: tsql-micaz.vmsf ---
<VM NAME="TSQLVM" DESC="A TinySQL VM with micasb sensor board support." DIR="../../../../../../apps/TSQLVM">
<OPTION CAPSULE_SIZE=2048>
<SEARCH PATH="../../opcodes">
<SEARCH PATH="../../contexts">
<SEARCH PATH="../motlle/mate">
<SEARCH PATH="../motlle/mate/rep-float">
<SEARCH PATH="../motlle/mate/runtime">
<SEARCH PATH="../motlle/mate/runtime/gen">
<SEARCH PATH="../motlle/matelib">
<SEARCH PATH="../motlle/matelib/gen">
<SEARCH PATH="../../../Util">
<SEARCH PATH="../../../MultiHopLQI">

<LANGUAGE NAME="motlle">
<LOAD FILE="../motlle/mate/runtime/gen/floatfns.vmsf">

<FUNCTION NAME="led">
<FUNCTION name="id">
<CONTEXT NAME="Timer0">
<LOAD FILE="../../sensorboards/micasb.vmsf">
<LOAD FILE="../motlle/matelib/gen/commfns.vmsf">
<LOAD FILE="../motlle/matelib/gen/mhopfns.vmsf">
<LOAD FILE="../motlle/matelib/gen/queryfns.vmsf">

--- NEW FILE: tsql-telosb-float.vmsf ---
<VM NAME="TSQLVM" DESC="A TinySQL VM with telosb sensor support." DIR="../../../../../../apps/TSQLVM">
<OPTION CAPSULE_SIZE=7168>
<SEARCH PATH="../../opcodes">
<SEARCH PATH="../../contexts">
<SEARCH PATH="../motlle/mate">
<SEARCH PATH="../motlle/mate/rep-float">
<SEARCH PATH="../motlle/mate/runtime">
<SEARCH PATH="../motlle/mate/runtime/gen">
<SEARCH PATH="../motlle/matelib">
<SEARCH PATH="../motlle/matelib/gen">
<SEARCH PATH="../../../Util">
<SEARCH PATH="../../../MultiHopLQI">

<LANGUAGE NAME="motlle">

<FUNCTION NAME="led">
<FUNCTION name="id">
<CONTEXT NAME="Timer0">
<LOAD FILE="../../sensorboards/telosb.vmsf">
<LOAD FILE="../motlle/matelib/gen/commfns.vmsf">
<LOAD FILE="../motlle/matelib/gen/mhopfns.vmsf">
/* There isn't enough code space. So we cherry pick the available functions.
   Removed functions are simply commented out, uncomment them if you want
   them. If you do this, you will probably have to comment some other
   functions out instead. Note that to allow floating point support we had
   to remove essentially all built-in functions and the built-in global
   aggregates (avg, min, max).

   The following functions should NOT be removed as they are used
   in the generated motlle code: led, id, vector.
*/
//<LOAD FILE="../motlle/matelib/gen/queryfns.vmsf">
<FUNCTION name=mf_epoch>
<FUNCTION name=mf_next_epoch>
<FUNCTION name=mf_snoop_epoch>
<CONTEXT NAME="EpochChange">

//<LOAD FILE="../motlle/mate/runtime/gen/floatfns.vmsf">
<CONTEXT NAME="Once">
//<FUNCTION name=mf_floor>
//<FUNCTION name=mf_ceiling>
<FUNCTION name=mf_truncate>
//<FUNCTION name=mf_floatp>
//<FUNCTION name=mf_max>
//<FUNCTION name=mf_min>
//<FUNCTION name=mf_abs>
//<FUNCTION name=mf_numberp>
//<FUNCTION name=mf_integerp>
//<FUNCTION name=mf_realp>
//<FUNCTION name=mf_error>
//<FUNCTION name=mf_apply>
//<FUNCTION name=mf_procedurep>
//<FUNCTION name=mf_symbolp>
//<FUNCTION name=mf_garbage_collect>
//<FUNCTION name=mf_cons>
//<FUNCTION name=mf_pairp>
//<FUNCTION name=mf_listp>
//<FUNCTION name=mf_nullp>
//<FUNCTION name=mf_set_carb>
//<FUNCTION name=mf_set_cdrb>
//<FUNCTION name=mf_list>
//<FUNCTION name=mf_list_tail>
//<FUNCTION name=mf_list_ref>
//<FUNCTION name=mf_car>
//<FUNCTION name=mf_cdr>
//<FUNCTION name=mf_caar>
//<FUNCTION name=mf_cadr>
//<FUNCTION name=mf_cdar>
//<FUNCTION name=mf_cddr>
//<FUNCTION name=mf_caaar>
//<FUNCTION name=mf_caadr>
//<FUNCTION name=mf_cadar>
//<FUNCTION name=mf_caddr>
//<FUNCTION name=mf_cdaar>
//<FUNCTION name=mf_cdadr>
//<FUNCTION name=mf_cddar>
//<FUNCTION name=mf_cdddr>
//<FUNCTION name=mf_stringp>
<FUNCTION name=mf_make_string>
<FUNCTION name=mf_string_length>
<FUNCTION name=mf_string_fillb>
//<FUNCTION name=mf_string>
//<FUNCTION name=mf_vectorp>
<FUNCTION name=mf_make_vector>
<FUNCTION name=mf_vector_length>
<FUNCTION name=mf_vector_fillb>
<FUNCTION name=mf_vector>
//<FUNCTION name=mf_vector2list>
//<FUNCTION name=mf_string2list>
//<FUNCTION name=mf_list2vector>
//<FUNCTION name=mf_list2string>
//<FUNCTION name=mf_length>
//<FUNCTION name=mf_assq>
//<FUNCTION name=mf_assv>
//<FUNCTION name=mf_memq>
//<FUNCTION name=mf_memv>
//<FUNCTION name=mf_reverse>
//<FUNCTION name=mf_append>
//<FUNCTION name=mf_for_each>
//<FUNCTION name=mf_map>

--- NEW FILE: tsql-telosb.vmsf ---
<VM NAME="TSQLVM" DESC="A TinySQL VM with telosb sensor support." DIR="../../../../../../apps/TSQLVM">
<OPTION CAPSULE_SIZE=7168>
<SEARCH PATH="../../opcodes">
<SEARCH PATH="../../contexts">
<SEARCH PATH="../motlle/mate">
<SEARCH PATH="../motlle/mate/rep-16">
<SEARCH PATH="../motlle/mate/runtime">
<SEARCH PATH="../motlle/mate/runtime/gen">
<SEARCH PATH="../motlle/matelib">
<SEARCH PATH="../motlle/matelib/gen">
<SEARCH PATH="../../../Util">
<SEARCH PATH="../../../MultiHopLQI">

<LANGUAGE NAME="motlle">

<FUNCTION NAME="led">
<FUNCTION name="id">
<CONTEXT NAME="Timer0">
<LOAD FILE="../../sensorboards/telosb.vmsf">
<LOAD FILE="../motlle/matelib/gen/commfns.vmsf">
<LOAD FILE="../motlle/matelib/gen/mhopfns.vmsf">
<LOAD FILE="../motlle/matelib/gen/queryfns.vmsf">

/* There isn't enough code space. So we cherry pick the available functions.
   Removed functions are simply commented out, uncomment them if you want
   them. If you do this, you will probably have to comment some other
   functions out instead. You may also need to comment out some functions
   if you add support for different sensors.

   The following functions should NOT be removed as they are used
   in the generated motlle code: led, id, vector.
*/
//<LOAD FILE="../motlle/mate/runtime/gen/intfns.vmsf">
<CONTEXT NAME="Once">
<FUNCTION name=mf_max>
<FUNCTION name=mf_min>
<FUNCTION name=mf_abs>
<FUNCTION name=mf_numberp>
<FUNCTION name=mf_integerp>
<FUNCTION name=mf_realp>
//<FUNCTION name=mf_error>
<FUNCTION name=mf_apply>
<FUNCTION name=mf_procedurep>
<FUNCTION name=mf_symbolp>
//<FUNCTION name=mf_garbage_collect>
<FUNCTION name=mf_cons>
<FUNCTION name=mf_pairp>
<FUNCTION name=mf_listp>
<FUNCTION name=mf_nullp>
<FUNCTION name=mf_set_carb>
<FUNCTION name=mf_set_cdrb>
<FUNCTION name=mf_list>
<FUNCTION name=mf_list_tail>
<FUNCTION name=mf_list_ref>
<FUNCTION name=mf_car>
<FUNCTION name=mf_cdr>
//<FUNCTION name=mf_caar>
//<FUNCTION name=mf_cadr>
//<FUNCTION name=mf_cdar>
//<FUNCTION name=mf_cddr>
//<FUNCTION name=mf_caaar>
//<FUNCTION name=mf_caadr>
//<FUNCTION name=mf_cadar>
//<FUNCTION name=mf_caddr>
//<FUNCTION name=mf_cdaar>
//<FUNCTION name=mf_cdadr>
//<FUNCTION name=mf_cddar>
//<FUNCTION name=mf_cdddr>
<FUNCTION name=mf_stringp>
<FUNCTION name=mf_make_string>
<FUNCTION name=mf_string_length>
<FUNCTION name=mf_string_fillb>
<FUNCTION name=mf_string>
<FUNCTION name=mf_vectorp>
<FUNCTION name=mf_make_vector>
<FUNCTION name=mf_vector_length>
<FUNCTION name=mf_vector_fillb>
<FUNCTION name=mf_vector>
<FUNCTION name=mf_vector2list>
<FUNCTION name=mf_string2list>
<FUNCTION name=mf_list2vector>
<FUNCTION name=mf_list2string>
<FUNCTION name=mf_length>
<FUNCTION name=mf_assq>
<FUNCTION name=mf_assv>
<FUNCTION name=mf_memq>
<FUNCTION name=mf_memv>
<FUNCTION name=mf_reverse>
<FUNCTION name=mf_append>
<FUNCTION name=mf_for_each>
<FUNCTION name=mf_map>


Index: tinysql.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/tos/lib/VM/languages/tinysql/tinysql.txt,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** tinysql.txt	18 Nov 2005 00:04:44 -0000	1.6
--- tinysql.txt	29 Nov 2005 22:50:16 -0000	1.7
***************
*** 27,31 ****
  configured motlle VM on your motes. Do this as follows:
    cd $(TOSDIR)/lib/VM/languages/tinysql
!   motlle-vmbuild tsql.vmsf # create TinySQL VM
    cd $(TOSDIR)/../apps/TSQLVM
    make mica2
--- 27,34 ----
  configured motlle VM on your motes. Do this as follows:
    cd $(TOSDIR)/lib/VM/languages/tinysql
! if you have a mica2 or micaz: 
!   motlle-vmbuild tsql-mica.vmsf # create TinySQL VM 
! if you have a telosb (tmote sky):
!   motlle-vmbuild tsql-telosb-int.vmsf # create TinySQL VM 
    cd $(TOSDIR)/../apps/TSQLVM
    make mica2
***************
*** 227,230 ****
--- 230,241 ----
  in tinyos-1.x/tos/lib/VM/languages/motlle/doc/motlle.txt.
  
+ Depending on the vmsf file you used to generate your TinySQL VM, you may
+ or may not be able to use floating-point computations in your motlle
+ functions. For the provided VM specifications:
+ - tsql-mica.vmsf: includes floating-point support
+ - tsql-telosb-int.vmsf: no floating-point support
+ - tsql-telosb-float.vmsf: includes floating-point support (but very few
+   built-in motlle functions, and no agg, min, max global aggregates)
+ 
  5.1 Adding attributes
  ---------------------
***************
*** 405,409 ****
  ===========================
  
! A TinySQL VM configuration file (.vmsf) should look like the following:
  # Pick a name and a directory for your TinySQL VM
  <VM NAME="TSQLVM" DESC="A TinySQL VM with micasb sensor board support." DIR="../../../../../../apps/TSQLVM">
--- 416,420 ----
  ===========================
  
! A TinySQL VM configuration file (.vmsf) typically looks like the following:
  # Pick a name and a directory for your TinySQL VM
  <VM NAME="TSQLVM" DESC="A TinySQL VM with micasb sensor board support." DIR="../../../../../../apps/TSQLVM">
***************
*** 436,438 ****
  
  Normally, you should only need to change the first (VM name and directory)
! and last (sensor board support) lines.
--- 447,453 ----
  
  Normally, you should only need to change the first (VM name and directory)
! and last (sensor board support) lines. Note however that, because of a lack
! of code space, the telosb vmsf files are more complicated (they exclude
! some of the motlle built-in functions to make code space available). It is
! probably easiest to use an existing telosb vmsf file (tsql-telosb-int.vmsf
! and tsql-telosb-float.vmsf) as a starting point.

--- tsql.vmsf DELETED ---



More information about the Tinyos-commits mailing list