[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