firebug-cvs Mailing List for FireBug: wireless wildfire monitoring (Page 27)
Brought to you by:
doolin
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(36) |
Jun
(45) |
Jul
(108) |
Aug
(31) |
Sep
(2) |
Oct
(4) |
Nov
(113) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(63) |
Feb
(37) |
Mar
(24) |
Apr
(6) |
May
(5) |
Jun
(5) |
Jul
(71) |
Aug
(42) |
Sep
(7) |
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(64) |
Jun
(71) |
Jul
(51) |
Aug
(89) |
Sep
(24) |
Oct
(1) |
Nov
(1) |
Dec
(2) |
2006 |
Jan
|
Feb
|
Mar
(3) |
Apr
(2) |
May
|
Jun
|
Jul
(21) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: <do...@us...> - 2003-11-20 19:12:32
|
Update of /cvsroot/firebug/firebug/doc/spie2004/figs In directory sc8-pr-cvs1:/tmp/cvs-serv7297 Modified Files: Makefile Added Files: sysarch.dia sysarch.fig turfrange.dat turfrange.gnu Log Message: Generated a real, publishable figure from the mote rf field experiments. --- NEW FILE: sysarch.dia --- (This appears to be a binary file; contents omitted.) --- NEW FILE: sysarch.fig --- #FIG 3.2 Portrait Center Metric A4 100.00 Single -2 1200 2 6 3060 3715 3915 4815 2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 11 3060 3715 3573 4106 3378 4179 3768 4424 3573 4497 3915 4815 3353 4448 3573 4399 3182 4131 3378 4057 3060 3715 -6 6 5715 3805 6570 4905 2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 11 5715 3805 6228 4196 6033 4269 6423 4514 6228 4587 6570 4905 6008 4538 6228 4489 5837 4221 6033 4147 5715 3805 -6 6 1890 7515 8055 7650 4 0 0 50 0 0 12 0.0000 4 135 750 4140 7650 Controller\001 4 0 0 50 0 0 12 0.0000 4 135 1185 6840 7650 Sensor network\001 4 0 0 50 0 0 12 0.0000 4 135 1305 1890 7650 Command Center\001 -6 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 1125 1890 3330 1890 3330 7335 1125 7335 1125 1890 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 3690 1890 5895 1890 5895 7335 3690 7335 3690 1890 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 6435 1890 8640 1890 8640 7335 6435 7335 6435 1890 --- NEW FILE: turfrange.dat --- # This data records the number of motes with # a maximum range recorded from the sender # and receiver placed on the ground. The data # is from experiments 8-11. ## Max. range, No. of motes 25 3 40 1 --- NEW FILE: turfrange.gnu --- set term postscript eps enhanced color set xrange [0:50] set yrange [0:5] set xlabel "Distance (m)" set ylabel "Number of motes" set size .45 set output "turfrange.eps" # Try with impulses, histeps. plot "turfrange.dat" with impulses Index: Makefile =================================================================== RCS file: /cvsroot/firebug/firebug/doc/spie2004/figs/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 20 Nov 2003 18:11:59 -0000 1.2 --- Makefile 20 Nov 2003 19:12:12 -0000 1.3 *************** *** 3,8 **** .SUFFIXES : .gnu .eps .dia .fig ! EPSPLOTS = tempfig.eps \ ! sysarch.eps all: $(EPSPLOTS) --- 3,8 ---- .SUFFIXES : .gnu .eps .dia .fig ! EPSPLOTS = sysarch.eps \ ! turfrange.eps all: $(EPSPLOTS) |
Update of /cvsroot/firebug/firebug/web In directory sc8-pr-cvs1:/tmp/cvs-serv647 Modified Files: Makefile index.html Removed Files: spie.bib spie.cls spie_2004.tex spie_reviews.tex spiebib.bst tempfig.gnu Log Message: Removing old spie files. Index: Makefile =================================================================== RCS file: /cvsroot/firebug/firebug/web/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Makefile 29 Aug 2003 15:51:06 -0000 1.4 --- Makefile 20 Nov 2003 18:33:54 -0000 1.5 *************** *** 19,21 **** clean: ! rm -rf tempfig.eps *~ --- 19,22 ---- clean: ! rm -rf tempfig.eps *~ *.aux *.log *.toc *.dvi *.bbl *.blg ! rm -rf spie_2004.ps spie_2004.pdf Index: index.html =================================================================== RCS file: /cvsroot/firebug/firebug/web/index.html,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** index.html 24 Jun 2003 00:07:20 -0000 1.18 --- index.html 20 Nov 2003 18:33:54 -0000 1.19 *************** *** 11,17 **** </head> - <frameset rows="10%,90%" cols="100%"> - - <frame frameborder="0" src="./header.html" noresize /> <frameset cols="190,90%"> <frame frameborder="0" src="./menu.html" noresize /> --- 11,14 ---- *************** *** 19,24 **** </frameset> - </frameset> - - </html> --- 16,18 ---- --- spie.bib DELETED --- --- spie.cls DELETED --- --- spie_2004.tex DELETED --- --- spie_reviews.tex DELETED --- --- spiebib.bst DELETED --- --- tempfig.gnu DELETED --- |
From: <do...@us...> - 2003-11-20 18:12:29
|
Update of /cvsroot/firebug/firebug/doc/spie2004/figs In directory sc8-pr-cvs1:/tmp/cvs-serv28715 Modified Files: Makefile Added Files: .cvsignore 2003_7_16.txt Log Message: Each of the data files has to be committed one at a time because sourceforge has a 40k limit. --- NEW FILE: .cvsignore --- *~ *.bbl *.blg *.dvi *.aux *.log *.eps --- NEW FILE: 2003_7_16.txt --- FireBug web client for mote activity Mote ID Time Temp Rel. Hum. Baro. Pres. cnt 2003_7_16cumulative 3 9999999.999 72.1 98.3 29.1 20 3 9999999.999 72.1 98.3 29.1 21 3 9999999.999 72.1 98.3 29.1 22 3 9999999.999 72.1 98.3 29.1 23 3 9999999.999 72.1 98.3 29.1 24 3 9999999.999 72.1 98.3 29.1 25 3 9999999.999 72.1 98.3 29.1 26 3 9999999.999 72.1 98.3 29.1 27 3 9999999.999 72.1 98.3 29.1 28 3 9999999.999 72.1 98.3 29.1 29 3 9999999.999 72.1 98.3 29.1 30 3 9999999.999 72.1 98.3 29.1 31 3 9999999.999 72.1 98.3 29.1 32 3 9999999.999 72.1 98.3 29.1 33 3 9999999.999 72.1 98.3 29.1 34 3 9999999.999 72.1 98.3 29.1 35 3 9999999.999 72.1 98.3 29.1 36 3 9999999.999 72.1 98.3 29.1 37 3 9999999.999 72.1 98.3 29.1 38 3 9999999.999 72.1 98.3 29.1 39 3 9999999.999 72.1 98.3 29.1 40 3 9999999.999 72.1 98.3 29.1 41 3 9999999.999 72.1 98.3 29.1 42 3 9999999.999 72.1 98.3 29.1 43 3 9999999.999 72.1 98.3 29.1 44 3 9999999.999 72.1 98.3 29.1 45 3 9999999.999 72.1 98.3 29.1 46 3 9999999.999 72.1 98.3 29.1 47 3 9999999.999 72.1 98.3 29.1 48 3 9999999.999 72.1 98.3 29.1 49 3 9999999.999 72.1 98.3 29.1 50 3 9999999.999 72.1 98.3 29.1 51 3 9999999.999 72.1 98.3 29.1 52 3 9999999.999 72.1 98.3 29.1 53 3 9999999.999 72.1 98.3 29.1 54 3 9999999.999 72.1 98.3 29.1 55 3 9999999.999 72.1 98.3 29.1 56 3 9999999.999 72.1 98.3 29.1 57 3 9999999.999 72.1 98.3 29.1 58 3 9999999.999 72.1 98.3 29.1 59 3 9999999.999 72.1 98.3 29.1 60 3 9999999.999 72.1 98.3 29.1 61 3 9999999.999 72.1 98.3 29.1 62 3 9999999.999 72.1 98.3 29.1 63 3 9999999.999 72.1 98.3 29.1 64 3 9999999.999 72.1 98.3 29.1 65 3 9999999.999 72.1 98.3 29.1 66 3 9999999.999 72.1 98.3 29.1 67 3 9999999.999 72.1 98.3 29.1 68 3 9999999.999 72.1 98.3 29.1 69 3 9999999.999 72.1 98.3 29.1 70 3 9999999.999 72.1 98.3 29.1 71 3 9999999.999 72.1 98.3 29.1 72 3 9999999.999 72.1 98.3 29.1 73 3 9999999.999 72.1 98.3 29.1 74 3 9999999.999 72.1 98.3 29.1 75 3 9999999.999 72.1 98.3 29.1 76 3 9999999.999 72.1 98.3 29.1 77 3 9999999.999 72.1 98.3 29.1 78 3 9999999.999 72.1 98.3 29.1 79 3 9999999.999 72.1 98.3 29.1 80 3 9999999.999 72.1 98.3 29.1 81 3 9999999.999 72.1 98.3 29.1 82 3 9999999.999 72.1 98.3 29.1 83 3 9999999.999 72.1 98.3 29.1 84 3 9999999.999 72.1 98.3 29.1 85 3 9999999.999 72.1 98.3 29.1 86 3 9999999.999 72.1 98.3 29.1 87 3 9999999.999 72.1 98.3 29.1 88 3 9999999.999 72.1 98.3 29.1 89 3 9999999.999 72.1 98.3 29.1 90 3 9999999.999 72.1 98.3 29.1 91 3 9999999.999 72.1 98.3 29.1 92 3 9999999.999 72.1 98.3 29.1 93 3 9999999.999 72.1 98.3 29.1 94 3 9999999.999 72.1 98.3 29.1 95 3 9999999.999 72.1 98.3 29.1 96 3 9999999.999 72.1 98.3 29.1 97 3 9999999.999 72.1 98.3 29.1 98 3 9999999.999 72.1 98.3 29.1 99 3 9999999.999 72.1 98.3 29.1 100 3 9999999.999 72.1 98.3 29.1 101 3 9999999.999 72.1 98.3 29.1 102 3 9999999.999 72.1 98.3 29.1 103 3 9999999.999 72.1 98.3 29.1 104 3 9999999.999 72.1 98.3 29.1 105 3 9999999.999 72.1 98.3 29.1 106 3 9999999.999 72.1 98.3 29.1 107 3 9999999.999 72.1 98.3 29.1 108 3 9999999.999 72.1 98.3 29.1 109 3 9999999.999 72.1 98.3 29.1 110 3 9999999.999 72.1 98.3 29.1 111 3 9999999.999 72.1 98.3 29.1 112 3 9999999.999 72.1 98.3 29.1 113 3 9999999.999 72.1 98.3 29.1 114 3 9999999.999 72.1 98.3 29.1 115 3 9999999.999 72.1 98.3 29.1 116 3 9999999.999 72.1 98.3 29.1 117 3 9999999.999 72.1 98.3 29.1 118 3 9999999.999 72.1 98.3 29.1 119 3 9999999.999 72.1 98.3 29.1 120 3 9999999.999 72.1 98.3 29.1 121 3 9999999.999 72.1 98.3 29.1 122 3 9999999.999 72.1 98.3 29.1 123 3 9999999.999 72.1 98.3 29.1 124 3 9999999.999 72.1 98.3 29.1 125 3 9999999.999 72.1 98.3 29.1 126 3 9999999.999 72.1 98.3 29.1 127 3 9999999.999 72.1 98.3 29.1 128 3 9999999.999 72.1 98.3 29.1 129 3 9999999.999 72.1 98.3 29.1 130 3 9999999.999 72.1 98.3 29.1 131 3 9999999.999 72.1 98.3 29.1 132 3 9999999.999 72.1 98.3 29.1 133 3 9999999.999 72.1 98.3 29.1 134 3 9999999.999 72.1 98.3 29.1 135 3 9999999.999 72.1 98.3 29.1 136 3 9999999.999 72.1 98.3 29.1 137 3 9999999.999 72.1 98.3 29.1 138 3 9999999.999 72.1 98.3 29.1 139 3 9999999.999 72.1 98.3 29.1 140 3 9999999.999 72.1 98.3 29.1 141 3 9999999.999 72.1 98.3 29.1 142 3 9999999.999 72.1 98.3 29.1 143 3 9999999.999 72.1 98.3 29.1 144 3 9999999.999 72.1 98.3 29.1 145 3 9999999.999 72.1 98.3 29.1 146 3 9999999.999 72.1 98.3 29.1 147 3 9999999.999 72.1 98.3 29.1 148 3 9999999.999 72.1 98.3 29.1 149 3 9999999.999 72.1 98.3 29.1 150 3 9999999.999 72.1 98.3 29.1 151 3 9999999.999 72.1 98.3 29.1 152 4 9999999.999 72.1 98.3 29.1 20 4 9999999.999 72.1 98.3 29.1 21 4 9999999.999 72.1 98.3 29.1 22 4 9999999.999 72.1 98.3 29.1 23 4 9999999.999 72.1 98.3 29.1 24 4 9999999.999 72.1 98.3 29.1 25 4 9999999.999 72.1 98.3 29.1 26 4 9999999.999 72.1 98.3 29.1 27 4 9999999.999 72.1 98.3 29.1 28 4 9999999.999 72.1 98.3 29.1 29 4 9999999.999 72.1 98.3 29.1 30 4 9999999.999 72.1 98.3 29.1 31 4 9999999.999 72.1 98.3 29.1 32 4 9999999.999 72.1 98.3 29.1 33 4 9999999.999 72.1 98.3 29.1 34 4 9999999.999 72.1 98.3 29.1 35 4 9999999.999 72.1 98.3 29.1 36 4 9999999.999 72.1 98.3 29.1 37 4 9999999.999 72.1 98.3 29.1 38 4 9999999.999 72.1 98.3 29.1 39 4 9999999.999 72.1 98.3 29.1 40 4 9999999.999 72.1 98.3 29.1 41 4 9999999.999 72.1 98.3 29.1 42 4 9999999.999 72.1 98.3 29.1 43 4 9999999.999 72.1 98.3 29.1 44 4 9999999.999 72.1 98.3 29.1 45 4 9999999.999 72.1 98.3 29.1 46 4 9999999.999 72.1 98.3 29.1 47 4 9999999.999 72.1 98.3 29.1 48 4 9999999.999 72.1 98.3 29.1 49 4 9999999.999 72.1 98.3 29.1 50 4 9999999.999 72.1 98.3 29.1 51 4 9999999.999 72.1 98.3 29.1 52 4 9999999.999 72.1 98.3 29.1 53 4 9999999.999 72.1 98.3 29.1 54 4 9999999.999 72.1 98.3 29.1 55 4 9999999.999 72.1 98.3 29.1 56 4 9999999.999 72.1 98.3 29.1 57 4 9999999.999 72.1 98.3 29.1 58 4 9999999.999 72.1 98.3 29.1 59 4 9999999.999 72.1 98.3 29.1 60 4 9999999.999 72.1 98.3 29.1 61 4 9999999.999 72.1 98.3 29.1 62 4 9999999.999 72.1 98.3 29.1 63 4 9999999.999 72.1 98.3 29.1 64 4 9999999.999 72.1 98.3 29.1 65 4 9999999.999 72.1 98.3 29.1 66 4 9999999.999 72.1 98.3 29.1 67 4 9999999.999 72.1 98.3 29.1 68 4 9999999.999 72.1 98.3 29.1 69 4 9999999.999 72.1 98.3 29.1 70 4 9999999.999 72.1 98.3 29.1 71 4 9999999.999 72.1 98.3 29.1 72 4 9999999.999 72.1 98.3 29.1 73 4 9999999.999 72.1 98.3 29.1 74 4 9999999.999 72.1 98.3 29.1 75 4 9999999.999 72.1 98.3 29.1 76 4 9999999.999 72.1 98.3 29.1 77 4 9999999.999 72.1 98.3 29.1 78 4 9999999.999 72.1 98.3 29.1 79 4 9999999.999 72.1 98.3 29.1 80 4 9999999.999 72.1 98.3 29.1 81 4 9999999.999 72.1 98.3 29.1 82 4 9999999.999 72.1 98.3 29.1 83 4 9999999.999 72.1 98.3 29.1 84 4 9999999.999 72.1 98.3 29.1 85 4 9999999.999 72.1 98.3 29.1 86 4 9999999.999 72.1 98.3 29.1 87 4 9999999.999 72.1 98.3 29.1 88 4 9999999.999 72.1 98.3 29.1 89 4 9999999.999 72.1 98.3 29.1 90 4 9999999.999 72.1 98.3 29.1 91 4 9999999.999 72.1 98.3 29.1 92 4 9999999.999 72.1 98.3 29.1 93 4 9999999.999 72.1 98.3 29.1 94 4 9999999.999 72.1 98.3 29.1 95 4 9999999.999 72.1 98.3 29.1 96 4 9999999.999 72.1 98.3 29.1 97 4 9999999.999 72.1 98.3 29.1 98 4 9999999.999 72.1 98.3 29.1 99 4 9999999.999 72.1 98.3 29.1 100 4 9999999.999 72.1 98.3 29.1 101 4 9999999.999 72.1 98.3 29.1 102 4 9999999.999 72.1 98.3 29.1 103 4 9999999.999 72.1 98.3 29.1 104 4 9999999.999 72.1 98.3 29.1 105 4 9999999.999 72.1 98.3 29.1 106 4 9999999.999 72.1 98.3 29.1 107 4 9999999.999 72.1 98.3 29.1 108 4 9999999.999 72.1 98.3 29.1 109 4 9999999.999 72.1 98.3 29.1 110 4 9999999.999 72.1 98.3 29.1 111 4 9999999.999 72.1 98.3 29.1 112 4 9999999.999 72.1 98.3 29.1 113 4 9999999.999 72.1 98.3 29.1 114 4 9999999.999 72.1 98.3 29.1 115 4 9999999.999 72.1 98.3 29.1 116 4 9999999.999 72.1 98.3 29.1 117 4 9999999.999 72.1 98.3 29.1 118 4 9999999.999 72.1 98.3 29.1 119 4 9999999.999 72.1 98.3 29.1 120 4 9999999.999 72.1 98.3 29.1 121 4 9999999.999 72.1 98.3 29.1 122 4 9999999.999 72.1 98.3 29.1 123 4 9999999.999 72.1 98.3 29.1 124 2 9999999.999 72.1 98.3 29.1 19 2 9999999.999 72.1 98.3 29.1 20 2 9999999.999 72.1 98.3 29.1 21 2 9999999.999 72.1 98.3 29.1 22 2 9999999.999 72.1 98.3 29.1 23 2 9999999.999 72.1 98.3 29.1 24 2 9999999.999 72.1 98.3 29.1 25 2 9999999.999 72.1 98.3 29.1 26 2 9999999.999 72.1 98.3 29.1 27 2 9999999.999 72.1 98.3 29.1 28 2 9999999.999 72.1 98.3 29.1 29 2 9999999.999 72.1 98.3 29.1 30 2 9999999.999 72.1 98.3 29.1 31 2 9999999.999 72.1 98.3 29.1 32 2 9999999.999 72.1 98.3 29.1 33 2 9999999.999 72.1 98.3 29.1 34 2 9999999.999 72.1 98.3 29.1 35 2 9999999.999 72.1 98.3 29.1 36 2 9999999.999 72.1 98.3 29.1 37 2 9999999.999 72.1 98.3 29.1 38 2 9999999.999 72.1 98.3 29.1 39 2 9999999.999 72.1 98.3 29.1 40 2 9999999.999 72.1 98.3 29.1 41 2 9999999.999 72.1 98.3 29.1 42 2 9999999.999 72.1 98.3 29.1 43 2 9999999.999 72.1 98.3 29.1 44 2 9999999.999 72.1 98.3 29.1 45 2 9999999.999 72.1 98.3 29.1 46 2 9999999.999 72.1 98.3 29.1 47 2 9999999.999 72.1 98.3 29.1 48 2 9999999.999 72.1 98.3 29.1 49 2 9999999.999 72.1 98.3 29.1 50 2 9999999.999 72.1 98.3 29.1 51 2 9999999.999 72.1 98.3 29.1 52 2 9999999.999 72.1 98.3 29.1 53 2 9999999.999 72.1 98.3 29.1 54 2 9999999.999 72.1 98.3 29.1 55 2 9999999.999 72.1 98.3 29.1 56 2 9999999.999 72.1 98.3 29.1 57 2 9999999.999 72.1 98.3 29.1 58 2 9999999.999 72.1 98.3 29.1 59 2 9999999.999 72.1 98.3 29.1 60 2 9999999.999 72.1 98.3 29.1 61 2 9999999.999 72.1 98.3 29.1 62 2 9999999.999 72.1 98.3 29.1 63 2 9999999.999 72.1 98.3 29.1 64 2 9999999.999 72.1 98.3 29.1 65 2 9999999.999 72.1 98.3 29.1 66 2 9999999.999 72.1 98.3 29.1 67 2 9999999.999 72.1 98.3 29.1 68 2 9999999.999 72.1 98.3 29.1 69 2 9999999.999 72.1 98.3 29.1 70 2 9999999.999 72.1 98.3 29.1 71 2 9999999.999 72.1 98.3 29.1 72 2 9999999.999 72.1 98.3 29.1 73 2 9999999.999 72.1 98.3 29.1 74 2 9999999.999 72.1 98.3 29.1 75 2 9999999.999 72.1 98.3 29.1 76 2 9999999.999 72.1 98.3 29.1 77 2 9999999.999 72.1 98.3 29.1 78 2 9999999.999 72.1 98.3 29.1 79 2 9999999.999 72.1 98.3 29.1 80 2 9999999.999 72.1 98.3 29.1 81 2 9999999.999 72.1 98.3 29.1 82 2 9999999.999 72.1 98.3 29.1 83 2 9999999.999 72.1 98.3 29.1 84 2 9999999.999 72.1 98.3 29.1 85 2 9999999.999 72.1 98.3 29.1 86 2 9999999.999 72.1 98.3 29.1 87 2 9999999.999 72.1 98.3 29.1 88 2 9999999.999 72.1 98.3 29.1 89 2 9999999.999 72.1 98.3 29.1 90 2 9999999.999 72.1 98.3 29.1 91 2 9999999.999 72.1 98.3 29.1 92 2 9999999.999 72.1 98.3 29.1 93 2 9999999.999 72.1 98.3 29.1 94 2 9999999.999 72.1 98.3 29.1 95 2 9999999.999 72.1 98.3 29.1 96 2 9999999.999 72.1 98.3 29.1 97 2 9999999.999 72.1 98.3 29.1 98 2 9999999.999 72.1 98.3 29.1 99 2 9999999.999 72.1 98.3 29.1 100 2 9999999.999 72.1 98.3 29.1 101 2 9999999.999 72.1 98.3 29.1 102 2 9999999.999 72.1 98.3 29.1 103 2 9999999.999 72.1 98.3 29.1 104 2 9999999.999 72.1 98.3 29.1 105 2 9999999.999 72.1 98.3 29.1 106 2 9999999.999 72.1 98.3 29.1 107 2 9999999.999 72.1 98.3 29.1 108 2 9999999.999 72.1 98.3 29.1 109 2 9999999.999 72.1 98.3 29.1 110 2 9999999.999 72.1 98.3 29.1 111 2 9999999.999 72.1 98.3 29.1 112 2 9999999.999 72.1 98.3 29.1 113 2 9999999.999 72.1 98.3 29.1 114 2 9999999.999 72.1 98.3 29.1 115 2 9999999.999 72.1 98.3 29.1 116 2 9999999.999 72.1 98.3 29.1 117 2 9999999.999 72.1 98.3 29.1 118 2 9999999.999 72.1 98.3 29.1 119 2 9999999.999 72.1 98.3 29.1 120 2 9999999.999 72.1 98.3 29.1 121 2 9999999.999 72.1 98.3 29.1 122 2 9999999.999 72.1 98.3 29.1 123 2 9999999.999 72.1 98.3 29.1 124 2 9999999.999 72.1 98.3 29.1 125 2 9999999.999 72.1 98.3 29.1 126 2 9999999.999 72.1 98.3 29.1 127 2 9999999.999 72.1 98.3 29.1 128 2 9999999.999 72.1 98.3 29.1 129 2 9999999.999 72.1 98.3 29.1 130 2 9999999.999 72.1 98.3 29.1 131 2 9999999.999 72.1 98.3 29.1 132 2 9999999.999 72.1 98.3 29.1 133 2 9999999.999 72.1 98.3 29.1 134 2 9999999.999 72.1 98.3 29.1 135 2 9999999.999 72.1 98.3 29.1 136 2 9999999.999 72.1 98.3 29.1 137 2 9999999.999 72.1 98.3 29.1 138 2 9999999.999 72.1 98.3 29.1 139 2 9999999.999 72.1 98.3 29.1 140 2 9999999.999 72.1 98.3 29.1 141 2 9999999.999 72.1 98.3 29.1 142 2 9999999.999 72.1 98.3 29.1 143 2 9999999.999 72.1 98.3 29.1 144 2 9999999.999 72.1 98.3 29.1 145 2 9999999.999 72.1 98.3 29.1 146 2 9999999.999 72.1 98.3 29.1 147 2 9999999.999 72.1 98.3 29.1 148 2 9999999.999 72.1 98.3 29.1 149 2 9999999.999 72.1 98.3 29.1 150 2 9999999.999 72.1 98.3 29.1 151 2 9999999.999 72.1 98.3 29.1 152 2 9999999.999 72.1 98.3 29.1 153 2 9999999.999 72.1 98.3 29.1 154 2 9999999.999 72.1 98.3 29.1 155 2 9999999.999 72.1 98.3 29.1 156 2 9999999.999 72.1 98.3 29.1 157 2 9999999.999 72.1 98.3 29.1 158 2 9999999.999 72.1 98.3 29.1 159 2 9999999.999 72.1 98.3 29.1 160 2 9999999.999 72.1 98.3 29.1 161 2 9999999.999 72.1 98.3 29.1 162 2 9999999.999 72.1 98.3 29.1 163 2 9999999.999 72.1 98.3 29.1 164 2 9999999.999 72.1 98.3 29.1 165 2 9999999.999 72.1 98.3 29.1 166 2 9999999.999 72.1 98.3 29.1 167 2 9999999.999 72.1 98.3 29.1 168 2 9999999.999 72.1 98.3 29.1 169 2 9999999.999 72.1 98.3 29.1 170 2 9999999.999 72.1 98.3 29.1 171 3 9999999.999 72.1 98.3 29.1 21 3 9999999.999 72.1 98.3 29.1 22 3 9999999.999 72.1 98.3 29.1 23 3 9999999.999 72.1 98.3 29.1 24 3 9999999.999 72.1 98.3 29.1 25 3 9999999.999 72.1 98.3 29.1 26 3 9999999.999 72.1 98.3 29.1 27 3 9999999.999 72.1 98.3 29.1 28 3 9999999.999 72.1 98.3 29.1 29 3 9999999.999 72.1 98.3 29.1 30 3 9999999.999 72.1 98.3 29.1 31 3 9999999.999 72.1 98.3 29.1 32 3 9999999.999 72.1 98.3 29.1 33 3 9999999.999 72.1 98.3 29.1 34 3 9999999.999 72.1 98.3 29.1 35 3 9999999.999 72.1 98.3 29.1 36 3 9999999.999 72.1 98.3 29.1 37 3 9999999.999 72.1 98.3 29.1 38 3 9999999.999 72.1 98.3 29.1 39 3 9999999.999 72.1 98.3 29.1 40 3 9999999.999 72.1 98.3 29.1 41 3 9999999.999 72.1 98.3 29.1 42 3 9999999.999 72.1 98.3 29.1 43 3 9999999.999 72.1 98.3 29.1 44 3 9999999.999 72.1 98.3 29.1 45 3 9999999.999 72.1 98.3 29.1 46 3 9999999.999 72.1 98.3 29.1 47 3 9999999.999 72.1 98.3 29.1 48 3 9999999.999 72.1 98.3 29.1 49 3 9999999.999 72.1 98.3 29.1 50 3 9999999.999 72.1 98.3 29.1 51 3 9999999.999 72.1 98.3 29.1 52 3 9999999.999 72.1 98.3 29.1 53 3 9999999.999 72.1 98.3 29.1 54 3 9999999.999 72.1 98.3 29.1 55 3 9999999.999 72.1 98.3 29.1 56 3 9999999.999 72.1 98.3 29.1 57 3 9999999.999 72.1 98.3 29.1 58 3 9999999.999 72.1 98.3 29.1 59 3 9999999.999 72.1 98.3 29.1 60 3 9999999.999 72.1 98.3 29.1 61 3 9999999.999 72.1 98.3 29.1 62 3 9999999.999 72.1 98.3 29.1 63 3 9999999.999 72.1 98.3 29.1 64 3 9999999.999 72.1 98.3 29.1 65 3 9999999.999 72.1 98.3 29.1 66 3 9999999.999 72.1 98.3 29.1 67 3 9999999.999 72.1 98.3 29.1 68 3 9999999.999 72.1 98.3 29.1 69 3 9999999.999 72.1 98.3 29.1 70 3 9999999.999 72.1 98.3 29.1 71 3 9999999.999 72.1 98.3 29.1 72 3 9999999.999 72.1 98.3 29.1 73 3 9999999.999 72.1 98.3 29.1 74 3 9999999.999 72.1 98.3 29.1 75 3 9999999.999 72.1 98.3 29.1 76 3 9999999.999 72.1 98.3 29.1 77 3 9999999.999 72.1 98.3 29.1 78 3 9999999.999 72.1 98.3 29.1 79 3 9999999.999 72.1 98.3 29.1 80 3 9999999.999 72.1 98.3 29.1 81 3 9999999.999 72.1 98.3 29.1 82 3 9999999.999 72.1 98.3 29.1 83 3 9999999.999 72.1 98.3 29.1 84 3 9999999.999 72.1 98.3 29.1 85 3 9999999.999 72.1 98.3 29.1 86 3 9999999.999 72.1 98.3 29.1 87 3 9999999.999 72.1 98.3 29.1 88 3 9999999.999 72.1 98.3 29.1 89 3 9999999.999 72.1 98.3 29.1 90 3 9999999.999 72.1 98.3 29.1 91 3 9999999.999 72.1 98.3 29.1 92 3 9999999.999 72.1 98.3 29.1 93 3 9999999.999 72.1 98.3 29.1 94 3 9999999.999 72.1 98.3 29.1 95 3 9999999.999 72.1 98.3 29.1 96 3 9999999.999 72.1 98.3 29.1 97 3 9999999.999 72.1 98.3 29.1 98 3 9999999.999 72.1 98.3 29.1 99 3 9999999.999 72.1 98.3 29.1 100 3 9999999.999 72.1 98.3 29.1 101 3 9999999.999 72.1 98.3 29.1 102 3 9999999.999 72.1 98.3 29.1 103 3 9999999.999 72.1 98.3 29.1 104 3 9999999.999 72.1 98.3 29.1 105 3 9999999.999 72.1 98.3 29.1 106 3 9999999.999 72.1 98.3 29.1 107 3 9999999.999 72.1 98.3 29.1 108 3 9999999.999 72.1 98.3 29.1 109 3 9999999.999 72.1 98.3 29.1 110 3 9999999.999 72.1 98.3 29.1 111 3 9999999.999 72.1 98.3 29.1 112 3 9999999.999 72.1 98.3 29.1 113 3 9999999.999 72.1 98.3 29.1 114 3 9999999.999 72.1 98.3 29.1 115 3 9999999.999 72.1 98.3 29.1 116 3 9999999.999 72.1 98.3 29.1 117 3 9999999.999 72.1 98.3 29.1 118 3 9999999.999 72.1 98.3 29.1 119 3 9999999.999 72.1 98.3 29.1 120 3 9999999.999 72.1 98.3 29.1 121 3 9999999.999 72.1 98.3 29.1 122 3 9999999.999 72.1 98.3 29.1 123 3 9999999.999 72.1 98.3 29.1 124 3 9999999.999 72.1 98.3 29.1 125 3 9999999.999 72.1 98.3 29.1 126 3 9999999.999 72.1 98.3 29.1 127 3 9999999.999 72.1 98.3 29.1 128 3 9999999.999 72.1 98.3 29.1 129 3 9999999.999 72.1 98.3 29.1 130 3 9999999.999 72.1 98.3 29.1 131 3 9999999.999 72.1 98.3 29.1 132 3 9999999.999 72.1 98.3 29.1 133 3 9999999.999 72.1 98.3 29.1 134 3 9999999.999 72.1 98.3 29.1 135 3 9999999.999 72.1 98.3 29.1 136 3 9999999.999 72.1 98.3 29.1 137 3 9999999.999 72.1 98.3 29.1 138 3 9999999.999 72.1 98.3 29.1 139 3 9999999.999 72.1 98.3 29.1 140 3 9999999.999 72.1 98.3 29.1 141 3 9999999.999 72.1 98.3 29.1 142 3 9999999.999 72.1 98.3 29.1 143 3 9999999.999 72.1 98.3 29.1 144 3 9999999.999 72.1 98.3 29.1 145 3 9999999.999 72.1 98.3 29.1 146 3 9999999.999 72.1 98.3 29.1 147 3 9999999.999 72.1 98.3 29.1 148 3 9999999.999 72.1 98.3 29.1 149 3 9999999.999 72.1 98.3 29.1 150 3 9999999.999 72.1 98.3 29.1 151 3 9999999.999 72.1 98.3 29.1 152 3 9999999.999 72.1 98.3 29.1 153 3 9999999.999 72.1 98.3 29.1 154 3 9999999.999 72.1 98.3 29.1 155 3 9999999.999 72.1 98.3 29.1 156 3 9999999.999 72.1 98.3 29.1 157 3 9999999.999 72.1 98.3 29.1 158 3 9999999.999 72.1 98.3 29.1 159 3 9999999.999 72.1 98.3 29.1 160 4 9999999.999 72.1 98.3 29.1 21 4 9999999.999 72.1 98.3 29.1 22 4 9999999.999 72.1 98.3 29.1 23 4 9999999.999 72.1 98.3 29.1 24 4 9999999.999 72.1 98.3 29.1 25 4 9999999.999 72.1 98.3 29.1 26 4 9999999.999 72.1 98.3 29.1 27 4 9999999.999 72.1 98.3 29.1 28 4 9999999.999 72.1 98.3 29.1 29 4 9999999.999 72.1 98.3 29.1 30 4 9999999.999 72.1 98.3 29.1 31 4 9999999.999 72.1 98.3 29.1 32 4 9999999.999 72.1 98.3 29.1 33 4 9999999.999 72.1 98.3 29.1 34 4 9999999.999 72.1 98.3 29.1 35 4 9999999.999 72.1 98.3 29.1 36 4 9999999.999 72.1 98.3 29.1 37 4 9999999.999 72.1 98.3 29.1 38 4 9999999.999 72.1 98.3 29.1 39 4 9999999.999 72.1 98.3 29.1 40 4 9999999.999 72.1 98.3 29.1 41 4 9999999.999 72.1 98.3 29.1 42 4 9999999.999 72.1 98.3 29.1 43 4 9999999.999 72.1 98.3 29.1 44 4 9999999.999 72.1 98.3 29.1 45 4 9999999.999 72.1 98.3 29.1 46 4 9999999.999 72.1 98.3 29.1 47 4 9999999.999 72.1 98.3 29.1 48 4 9999999.999 72.1 98.3 29.1 49 4 9999999.999 72.1 98.3 29.1 50 4 9999999.999 72.1 98.3 29.1 51 4 9999999.999 72.1 98.3 29.1 52 4 9999999.999 72.1 98.3 29.1 53 4 9999999.999 72.1 98.3 29.1 54 4 9999999.999 72.1 98.3 29.1 55 4 9999999.999 72.1 98.3 29.1 56 4 9999999.999 72.1 98.3 29.1 57 4 9999999.999 72.1 98.3 29.1 58 4 9999999.999 72.1 98.3 29.1 59 4 9999999.999 72.1 98.3 29.1 60 4 9999999.999 72.1 98.3 29.1 61 4 9999999.999 72.1 98.3 29.1 62 4 9999999.999 72.1 98.3 29.1 63 4 9999999.999 72.1 98.3 29.1 64 4 9999999.999 72.1 98.3 29.1 65 4 9999999.999 72.1 98.3 29.1 66 4 9999999.999 72.1 98.3 29.1 67 4 9999999.999 72.1 98.3 29.1 68 4 9999999.999 72.1 98.3 29.1 69 4 9999999.999 72.1 98.3 29.1 70 4 9999999.999 72.1 98.3 29.1 71 4 9999999.999 72.1 98.3 29.1 72 4 9999999.999 72.1 98.3 29.1 73 4 9999999.999 72.1 98.3 29.1 74 4 9999999.999 72.1 98.3 29.1 75 4 9999999.999 72.1 98.3 29.1 76 4 9999999.999 72.1 98.3 29.1 77 4 9999999.999 72.1 98.3 29.1 78 4 9999999.999 72.1 98.3 29.1 79 4 9999999.999 72.1 98.3 29.1 80 4 9999999.999 72.1 98.3 29.1 81 4 9999999.999 72.1 98.3 29.1 82 4 9999999.999 72.1 98.3 29.1 83 4 9999999.999 72.1 98.3 29.1 84 4 9999999.999 72.1 98.3 29.1 85 4 9999999.999 72.1 98.3 29.1 86 4 9999999.999 72.1 98.3 29.1 87 4 9999999.999 72.1 98.3 29.1 88 4 9999999.999 72.1 98.3 29.1 89 4 9999999.999 72.1 98.3 29.1 90 4 9999999.999 72.1 98.3 29.1 91 4 9999999.999 72.1 98.3 29.1 92 4 9999999.999 72.1 98.3 29.1 93 4 9999999.999 72.1 98.3 29.1 94 4 9999999.999 72.1 98.3 29.1 95 4 9999999.999 72.1 98.3 29.1 96 4 9999999.999 72.1 98.3 29.1 97 4 9999999.999 72.1 98.3 29.1 98 4 9999999.999 72.1 98.3 29.1 99 4 9999999.999 72.1 98.3 29.1 100 4 9999999.999 72.1 98.3 29.1 101 4 9999999.999 72.1 98.3 29.1 102 4 9999999.999 72.1 98.3 29.1 103 4 9999999.999 72.1 98.3 29.1 104 4 9999999.999 72.1 98.3 29.1 105 4 9999999.999 72.1 98.3 29.1 106 4 9999999.999 72.1 98.3 29.1 107 4 9999999.999 72.1 98.3 29.1 108 4 9999999.999 72.1 98.3 29.1 109 4 9999999.999 72.1 98.3 29.1 110 4 9999999.999 72.1 98.3 29.1 111 4 9999999.999 72.1 98.3 29.1 112 4 9999999.999 72.1 98.3 29.1 113 4 9999999.999 72.1 98.3 29.1 114 4 9999999.999 72.1 98.3 29.1 115 4 9999999.999 72.1 98.3 29.1 116 4 9999999.999 72.1 98.3 29.1 117 4 9999999.999 72.1 98.3 29.1 118 4 9999999.999 72.1 98.3 29.1 119 4 9999999.999 72.1 98.3 29.1 120 4 9999999.999 72.1 98.3 29.1 121 4 9999999.999 72.1 98.3 29.1 122 4 9999999.999 72.1 98.3 29.1 123 4 9999999.999 72.1 98.3 29.1 124 4 9999999.999 72.1 98.3 29.1 125 4 9999999.999 72.1 98.3 29.1 126 4 9999999.999 72.1 98.3 29.1 127 4 9999999.999 72.1 98.3 29.1 128 4 9999999.999 72.1 98.3 29.1 129 4 9999999.999 72.1 98.3 29.1 130 4 9999999.999 72.1 98.3 29.1 131 4 9999999.999 72.1 98.3 29.1 132 4 9999999.999 72.1 98.3 29.1 133 4 9999999.999 72.1 98.3 29.1 134 4 9999999.999 72.1 98.3 29.1 135 4 9999999.999 72.1 98.3 29.1 136 4 9999999.999 72.1 98.3 29.1 137 4 9999999.999 72.1 98.3 29.1 138 4 9999999.999 72.1 98.3 29.1 139 4 9999999.999 72.1 98.3 29.1 140 4 9999999.999 72.1 98.3 29.1 141 4 9999999.999 72.1 98.3 29.1 142 4 9999999.999 72.1 98.3 29.1 143 4 9999999.999 72.1 98.3 29.1 144 4 9999999.999 72.1 98.3 29.1 145 4 9999999.999 72.1 98.3 29.1 146 4 9999999.999 72.1 98.3 29.1 147 4 9999999.999 72.1 98.3 29.1 148 4 9999999.999 72.1 98.3 29.1 149 4 9999999.999 72.1 98.3 29.1 150 4 9999999.999 72.1 98.3 29.1 151 4 9999999.999 72.1 98.3 29.1 152 4 9999999.999 72.1 98.3 29.1 153 4 9999999.999 72.1 98.3 29.1 154 4 9999999.999 72.1 98.3 29.1 155 4 9999999.999 72.1 98.3 29.1 156 4 9999999.999 72.1 98.3 29.1 157 4 9999999.999 72.1 98.3 29.1 158 4 9999999.999 72.1 98.3 29.1 159 4 9999999.999 72.1 98.3 29.1 160 4 9999999.999 72.1 98.3 29.1 161 4 9999999.999 72.1 98.3 29.1 162 4 9999999.999 72.1 98.3 29.1 163 4 9999999.999 72.1 98.3 29.1 164 4 9999999.999 72.1 98.3 29.1 165 4 9999999.999 72.1 98.3 29.1 166 4 9999999.999 72.1 98.3 29.1 167 4 9999999.999 72.1 98.3 29.1 168 4 9999999.999 72.1 98.3 29.1 169 4 9999999.999 72.1 98.3 29.1 170 4 9999999.999 72.1 98.3 29.1 171 4 9999999.999 72.1 98.3 29.1 172 4 9999999.999 72.1 98.3 29.1 173 4 9999999.999 72.1 98.3 29.1 174 4 9999999.999 72.1 98.3 29.1 175 4 9999999.999 72.1 98.3 29.1 176 4 9999999.999 72.1 98.3 29.1 177 4 9999999.999 72.1 98.3 29.1 178 4 9999999.999 72.1 98.3 29.1 179 4 9999999.999 72.1 98.3 29.1 180 4 9999999.999 72.1 98.3 29.1 181 4 9999999.999 72.1 98.3 29.1 183 4 9999999.999 72.1 98.3 29.1 184 4 9999999.999 72.1 98.3 29.1 185 4 9999999.999 72.1 98.3 29.1 186 4 9999999.999 72.1 98.3 29.1 187 4 9999999.999 72.1 98.3 29.1 188 4 9999999.999 72.1 98.3 29.1 189 4 9999999.999 72.1 98.3 29.1 190 4 9999999.999 72.1 98.3 29.1 191 4 9999999.999 72.1 98.3 29.1 192 4 9999999.999 72.1 98.3 29.1 193 4 9999999.999 72.1 98.3 29.1 194 4 9999999.999 72.1 98.3 29.1 195 4 9999999.999 72.1 98.3 29.1 196 4 9999999.999 72.1 98.3 29.1 197 4 9999999.999 72.1 98.3 29.1 198 4 9999999.999 72.1 98.3 29.1 199 4 9999999.999 72.1 98.3 29.1 200 4 9999999.999 72.1 98.3 29.1 201 4 9999999.999 72.1 98.3 29.1 202 2 9999999.999 72.1 98.3 29.1 65 2 9999999.999 72.1 98.3 29.1 66 2 9999999.999 72.1 98.3 29.1 91 2 9999999.999 72.1 98.3 29.1 92 2 9999999.999 72.1 98.3 29.1 169 2 9999999.999 72.1 98.3 29.1 174 2 9999999.999 72.1 98.3 29.1 175 2 9999999.999 72.1 98.3 29.1 176 2 9999999.999 72.1 98.3 29.1 177 2 9999999.999 72.1 98.3 29.1 178 2 9999999.999 72.1 98.3 29.1 179 2 9999999.999 72.1 98.3 29.1 180 2 9999999.999 72.1 98.3 29.1 181 2 9999999.999 72.1 98.3 29.1 185 2 9999999.999 72.1 98.3 29.1 186 2 9999999.999 72.1 98.3 29.1 187 2 9999999.999 72.1 98.3 29.1 188 2 9999999.999 72.1 98.3 29.1 189 2 9999999.999 72.1 98.3 29.1 190 2 9999999.999 72.1 98.3 29.1 192 2 9999999.999 72.1 98.3 29.1 193 2 9999999.999 72.1 98.3 29.1 194 2 9999999.999 72.1 98.3 29.1 195 2 9999999.999 72.1 98.3 29.1 198 2 9999999.999 72.1 98.3 29.1 199 2 9999999.999 72.1 98.3 29.1 200 2 9999999.999 72.1 98.3 29.1 202 2 9999999.999 72.1 98.3 29.1 203 2 9999999.999 72.1 98.3 29.1 204 2 9999999.999 72.1 98.3 29.1 205 2 9999999.999 72.1 98.3 29.1 206 2 9999999.999 72.1 98.3 29.1 207 2 9999999.999 72.1 98.3 29.1 208 2 9999999.999 72.1 98.3 29.1 209 2 9999999.999 72.1 98.3 29.1 210 2 9999999.999 72.1 98.3 29.1 211 2 9999999.999 72.1 98.3 29.1 212 2 9999999.999 72.1 98.3 29.1 216 2 9999999.999 72.1 98.3 29.1 217 2 9999999.999 72.1 98.3 29.1 218 2 9999999.999 72.1 98.3 29.1 219 2 9999999.999 72.1 98.3 29.1 220 2 9999999.999 72.1 98.3 29.1 221 2 9999999.999 72.1 98.3 29.1 222 2 9999999.999 72.1 98.3 29.1 223 2 9999999.999 72.1 98.3 29.1 224 2 9999999.999 72.1 98.3 29.1 225 2 9999999.999 72.1 98.3 29.1 226 2 9999999.999 72.1 98.3 29.1 231 2 9999999.999 72.1 98.3 29.1 232 2 9999999.999 72.1 98.3 29.1 237 2 9999999.999 72.1 98.3 29.1 245 2 9999999.999 72.1 98.3 29.1 246 2 9999999.999 72.1 98.3 29.1 247 2 9999999.999 72.1 98.3 29.1 248 2 9999999.999 72.1 98.3 29.1 249 2 9999999.999 72.1 98.3 29.1 256 2 9999999.999 72.1 98.3 29.1 257 2 9999999.999 72.1 98.3 29.1 273 2 9999999.999 72.1 98.3 29.1 274 2 9999999.999 72.1 98.3 29.1 278 2 9999999.999 72.1 98.3 29.1 279 2 9999999.999 72.1 98.3 29.1 280 2 9999999.999 72.1 98.3 29.1 281 2 9999999.999 72.1 98.3 29.1 282 2 9999999.999 72.1 98.3 29.1 283 2 9999999.999 72.1 98.3 29.1 284 2 9999999.999 72.1 98.3 29.1 285 2 9999999.999 72.1 98.3 29.1 286 2 9999999.999 72.1 98.3 29.1 287 2 9999999.999 72.1 98.3 29.1 288 2 9999999.999 72.1 98.3 29.1 289 2 9999999.999 72.1 98.3 29.1 290 2 9999999.999 72.1 98.3 29.1 291 2 9999999.999 72.1 98.3 29.1 292 2 9999999.999 72.1 98.3 29.1 294 2 9999999.999 72.1 98.3 29.1 295 2 9999999.999 72.1 98.3 29.1 296 2 9999999.999 72.1 98.3 29.1 297 2 9999999.999 72.1 98.3 29.1 298 2 9999999.999 72.1 98.3 29.1 299 2 9999999.999 72.1 98.3 29.1 300 2 9999999.999 72.1 98.3 29.1 301 2 9999999.999 72.1 98.3 29.1 302 2 9999999.999 72.1 98.3 29.1 303 2 9999999.999 72.1 98.3 29.1 304 2 9999999.999 72.1 98.3 29.1 306 2 9999999.999 72.1 98.3 29.1 307 2 9999999.999 72.1 98.3 29.1 308 2 9999999.999 72.1 98.3 29.1 309 2 9999999.999 72.1 98.3 29.1 310 2 9999999.999 72.1 98.3 29.1 311 2 9999999.999 72.1 98.3 29.1 312 2 9999999.999 72.1 98.3 29.1 313 2 9999999.999 72.1 98.3 29.1 314 2 9999999.999 72.1 98.3 29.1 315 2 9999999.999 72.1 98.3 29.1 317 2 9999999.999 72.1 98.3 29.1 318 2 9999999.999 72.1 98.3 29.1 319 2 9999999.999 72.1 98.3 29.1 320 2 9999999.999 72.1 98.3 29.1 322 2 9999999.999 72.1 98.3 29.1 324 2 9999999.999 72.1 98.3 29.1 325 2 9999999.999 72.1 98.3 29.1 326 2 9999999.999 72.1 98.3 29.1 327 2 9999999.999 72.1 98.3 29.1 328 2 9999999.999 72.1 98.3 29.1 329 2 9999999.999 72.1 98.3 29.1 330 2 9999999.999 72.1 98.3 29.1 331 2 9999999.999 72.1 98.3 29.1 333 2 9999999.999 72.1 98.3 29.1 335 2 9999999.999 72.1 98.3 29.1 336 2 9999999.999 72.1 98.3 29.1 337 2 9999999.999 72.1 98.3 29.1 338 2 9999999.999 72.1 98.3 29.1 339 2 9999999.999 72.1 98.3 29.1 343 2 9999999.999 72.1 98.3 29.1 344 2 9999999.999 72.1 98.3 29.1 345 2 9999999.999 72.1 98.3 29.1 346 2 9999999.999 72.1 98.3 29.1 348 2 9999999.999 72.1 98.3 29.1 349 2 9999999.999 72.1 98.3 29.1 351 2 9999999.999 72.1 98.3 29.1 357 2 9999999.999 72.1 98.3 29.1 363 2 9999999.999 72.1 98.3 29.1 364 2 9999999.999 72.1 98.3 29.1 383 2 9999999.999 72.1 98.3 29.1 384 2 9999999.999 72.1 98.3 29.1 385 2 9999999.999 72.1 98.3 29.1 386 2 9999999.999 72.1 98.3 29.1 387 Index: Makefile =================================================================== RCS file: /cvsroot/firebug/firebug/doc/spie2004/figs/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile 20 Nov 2003 18:08:48 -0000 1.1 --- Makefile 20 Nov 2003 18:11:59 -0000 1.2 *************** *** 15,17 **** clean: ! rm -rf $(EPSPLOTS) --- 15,17 ---- clean: ! rm -rf $(EPSPLOTS) *~ |
From: <do...@us...> - 2003-11-20 18:09:04
|
Update of /cvsroot/firebug/firebug/doc/spie2004/figs In directory sc8-pr-cvs1:/tmp/cvs-serv27980/spie2004/figs Added Files: Makefile tempfig.gnu Log Message: spie paper now moved. --- NEW FILE: Makefile --- .SUFFIXES : .gnu .eps .dia .fig EPSPLOTS = tempfig.eps \ sysarch.eps all: $(EPSPLOTS) .gnu.eps: pgnuplot < $*.gnu .fig.eps: fig2dev -L eps $*.fig > $*.eps clean: rm -rf $(EPSPLOTS) --- NEW FILE: tempfig.gnu --- set term postscript eps set output "tempfig.eps" set size 0.6 set ylabel "Reception success rate" set xlabel "Distance (m)" plot sin(x) |
From: <do...@us...> - 2003-11-20 18:09:03
|
Update of /cvsroot/firebug/firebug/doc/spie2004 In directory sc8-pr-cvs1:/tmp/cvs-serv27980/spie2004 Modified Files: spie_2004.tex Log Message: spie paper now moved. Index: spie_2004.tex =================================================================== RCS file: /cvsroot/firebug/firebug/doc/spie2004/spie_2004.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** spie_2004.tex 20 Nov 2003 17:56:36 -0000 1.1 --- spie_2004.tex 20 Nov 2003 18:08:48 -0000 1.2 *************** *** 324,328 **** \begin{figure} \begin{center} ! \includegraphics{images/sysarch.eps} \caption{Schematic of Firebug system architecture. This is a placeholder figure, change to reflect current --- 324,328 ---- \begin{figure} \begin{center} ! \includegraphics{figs/sysarch.eps} \caption{Schematic of Firebug system architecture. This is a placeholder figure, change to reflect current *************** *** 468,472 **** \begin{figure} \begin{center} ! \includegraphics[width=3.5in]{tempfig.eps} \caption{Reception probability of links in a network of line topology.} --- 468,472 ---- \begin{figure} \begin{center} ! \includegraphics[width=3.5in]{figs/tempfig.eps} \caption{Reception probability of links in a network of line topology.} |
From: <do...@us...> - 2003-11-20 17:52:39
|
Update of /cvsroot/firebug/firebug/doc/spie2004/figs In directory sc8-pr-cvs1:/tmp/cvs-serv25311/figs Log Message: Directory /cvsroot/firebug/firebug/doc/spie2004/figs added to the repository |
From: <do...@us...> - 2003-11-20 17:48:41
|
Update of /cvsroot/firebug/firebug/doc/spie2004 In directory sc8-pr-cvs1:/tmp/cvs-serv24523/spie2004 Log Message: Directory /cvsroot/firebug/firebug/doc/spie2004 added to the repository |
From: <do...@us...> - 2003-11-20 17:48:14
|
Update of /cvsroot/firebug/firebug/doc In directory sc8-pr-cvs1:/tmp/cvs-serv24430/doc Log Message: Directory /cvsroot/firebug/firebug/doc added to the repository |
From: <do...@us...> - 2003-11-20 01:36:22
|
Update of /cvsroot/firebug/firebug/web In directory sc8-pr-cvs1:/tmp/cvs-serv435 Modified Files: spie_2004.tex Log Message: Some web page updates. Index: spie_2004.tex =================================================================== RCS file: /cvsroot/firebug/firebug/web/spie_2004.tex,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** spie_2004.tex 12 Nov 2003 22:09:56 -0000 1.14 --- spie_2004.tex 20 Nov 2003 01:35:39 -0000 1.15 *************** *** 765,768 **** ! \end{document} ! --- 765,767 ---- ! \end{document} \ No newline at end of file |
From: <do...@us...> - 2003-11-19 01:36:55
|
Update of /cvsroot/firebug/firebug/web In directory sc8-pr-cvs1:/tmp/cvs-serv25039/web Modified Files: gps.html Log Message: more work on gps driver, still have a problem with the debugging output. Index: gps.html =================================================================== RCS file: /cvsroot/firebug/firebug/web/gps.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** gps.html 12 Nov 2003 02:05:37 -0000 1.11 --- gps.html 19 Nov 2003 01:36:51 -0000 1.12 *************** *** 17,21 **** <h1>FireBug GPS</h1> ! <p>Each wireless sensor is equipped with a Leadtek GPS receiver for localization. Each receiver has an external antenna and is mounted on the sensorboard. The schematic below represents the --- 17,21 ---- <h1>FireBug GPS</h1> ! <p>Each wireless sensor is equipped with a Leadtek 9546 GPS receiver for localization. Each receiver has an external antenna and is mounted on the sensorboard. The schematic below represents the *************** *** 55,58 **** --- 55,68 ---- </li> </ul> + + <p>Information for the LeadTek 9546 is available from the + LeadTek website:</p> + <ul> + <li><a href="http://www.leadtek.com/gps/gps_9546_2.html">GPS 9546 overview</a>.</li> + <li><a href="http://www.leadtek.com.tw/support/download.asp?pronameid=280">Product specification</a>.</li> + <li><a href="ftp://198.64.149.232/gps/9546/9546_product_guide.pdf">Product guide</a>.</li> + </ul> + + <h2>NMEA Data Format</h2> |
From: <do...@us...> - 2003-11-19 01:36:54
|
Update of /cvsroot/firebug/mts400/interfaces In directory sc8-pr-cvs1:/tmp/cvs-serv25039/mts400/interfaces Modified Files: Sensor.nc Log Message: more work on gps driver, still have a problem with the debugging output. Index: Sensor.nc =================================================================== RCS file: /cvsroot/firebug/mts400/interfaces/Sensor.nc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Sensor.nc 18 Nov 2003 22:42:49 -0000 1.1 --- Sensor.nc 19 Nov 2003 01:36:51 -0000 1.2 *************** *** 64,67 **** --- 64,72 ---- event result_t powerOnDone(); + /** init() might be used to send a default + * programming string to the sensor. + */ + command result_t init(); + /** * Stop the component cleanly, without leaving |
From: <do...@us...> - 2003-11-19 01:36:54
|
Update of /cvsroot/firebug/dave In directory sc8-pr-cvs1:/tmp/cvs-serv25039/dave Modified Files: switch.c Log Message: more work on gps driver, still have a problem with the debugging output. Index: switch.c =================================================================== RCS file: /cvsroot/firebug/dave/switch.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** switch.c 15 Nov 2003 22:28:35 -0000 1.1 --- switch.c 19 Nov 2003 01:36:51 -0000 1.2 *************** *** 28,32 **** --- 28,51 ---- + uint8_t foo; + + void + bit_print_uchar(uint8_t value) { + int i; + uint8_t mask; + + mask = 1 << 7; + + for (i=1; i<=8; i++) { + putchar(((value & mask) == 0) ? '0' : '1'); + value <<= 1; + if (i % 4 == 0 && i != 8) { + putchar(' '); + } + } + + putchar('\n'); + } *************** *** 315,322 **** { int length = 0; /** Garbage value to get it to compile. */ char data[] = {"asdfsg"}; ! I2CSwitch1_readPacketDone(length, data); return 0; } --- 334,349 ---- { int length = 0; + + + /** Garbage value to get it to compile. */ char data[] = {"asdfsg"}; ! printf("8: %b\n",8); ! ! bit_print_uchar(128); ! ! I2CSwitch1_readPacketDone(length, data); return 0; + } |
From: <che...@us...> - 2003-11-19 00:54:03
|
Update of /cvsroot/firebug/firebug/project/java/src/org/firebug In directory sc8-pr-cvs1:/tmp/cvs-serv18428/src/org/firebug Modified Files: DBLogger.java ListenFB.java SensorMsg.java SensorPacket.java Log Message: datalogger format changed for gps Index: DBLogger.java =================================================================== RCS file: /cvsroot/firebug/firebug/project/java/src/org/firebug/DBLogger.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** DBLogger.java 30 Jul 2003 22:17:41 -0000 1.22 --- DBLogger.java 19 Nov 2003 00:53:59 -0000 1.23 *************** *** 60,64 **** // message. ! SensorMsg msg = new SensorMsg(packet,5,23); Connection conn = dbh.getConnection(); --- 60,64 ---- // message. ! SensorMsg msg = new SensorMsg(packet,5,32); Connection conn = dbh.getConnection(); *************** *** 80,87 **** int cnt=msg.get_cnt(); float temp = msg.get_temp(); float rel_hum = msg.get_rel_hum(); float baro_pres = msg.get_baro_pres(); - int rss=msg.get_rss(); if (get_packet_type(packet) != 1){ --- 80,94 ---- int cnt=msg.get_cnt(); + int hours=msg.get_hours(); + int minutes=msg.get_minutes(); + int dec_sec=msg.get_dec_sec(); + int Lat_deg=msg.get_Lat_deg(); + int Lat_dec_min=msg.get_Lat_dec_min(); + int Long_deg=msg.get_Long_deg(); + int Long_dec_min=msg.get_Long_dec_min(); + int NSEWind = msg.get_NSEWind(); float temp = msg.get_temp(); float rel_hum = msg.get_rel_hum(); float baro_pres = msg.get_baro_pres(); if (get_packet_type(packet) != 1){ *************** *** 119,126 **** //+ "time=" + time + ", " + "cnt=" + cnt + "," + "rel_hum=" + rel_hum + ", " + "baro_pres=" + baro_pres + ", " ! + "temp=" + temp + ", " ! + "rss=" + rss + " WHERE mote_id=" + mote_id; String insertquery = "INSERT INTO cumulative VALUES (" --- 126,140 ---- //+ "time=" + time + ", " + "cnt=" + cnt + "," + + "hours=" + hours + "," + + "minutes=" + minutes + "," + + "dec_sec=" + dec_sec + "," + + "Lat_deg=" + Lat_deg + "," + + "Lat_dec_min=" + Lat_dec_min + "," + + "Long_deg=" + Long_deg + "," + + "Long_dec_min=" + Long_dec_min + "," + + "NSEWind=" + NSEWind + "," + "rel_hum=" + rel_hum + ", " + "baro_pres=" + baro_pres + ", " ! + "temp=" + temp + " WHERE mote_id=" + mote_id; String insertquery = "INSERT INTO cumulative VALUES (" *************** *** 131,135 **** + baro_pres + ", " + cnt + ", " ! + rss + ")"; --- 145,156 ---- + baro_pres + ", " + cnt + ", " ! + hours + ", " ! + minutes + ", " ! + dec_sec + ", " ! + Lat_deg + ", " ! + Lat_dec_min + ", " ! + Long_deg + ", " ! + Long_dec_min + ", " ! + NSEWind + ")"; Index: ListenFB.java =================================================================== RCS file: /cvsroot/firebug/firebug/project/java/src/org/firebug/ListenFB.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** ListenFB.java 30 Jul 2003 21:43:21 -0000 1.12 --- ListenFB.java 19 Nov 2003 00:53:59 -0000 1.13 *************** *** 39,42 **** --- 39,43 ---- private static final int MAX_MSG_SIZE = 36; private static final int PORT_SPEED = 19200; + //private static final int PORT_SPEED = 57600; private static final int LENGTH_OFFSET = 4; private int packetLength; *************** *** 75,78 **** --- 76,80 ---- static final int MAX_MSG_SIZE = 36; static final int PORT_SPEED = 19200; + //static final int PORT_SPEED = 57600; static final int LENGTH_OFFSET = 4; Index: SensorMsg.java =================================================================== RCS file: /cvsroot/firebug/firebug/project/java/src/org/firebug/SensorMsg.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SensorMsg.java 30 Jul 2003 22:17:41 -0000 1.5 --- SensorMsg.java 19 Nov 2003 00:53:59 -0000 1.6 *************** *** 10,19 **** /** The default size of this message type in bytes. */ ! public static final int DEFAULT_MESSAGE_SIZE = 18; /** The Active Message type associated with this message. */ public static final int AM_TYPE = 128; ! /** Create a new SensorMsg of size 18. */ public SensorMsg() { super(DEFAULT_MESSAGE_SIZE); --- 10,19 ---- /** The default size of this message type in bytes. */ ! public static final int DEFAULT_MESSAGE_SIZE = 26; /** The Active Message type associated with this message. */ public static final int AM_TYPE = 128; ! /** Create a new SensorMsg of size 26. */ public SensorMsg() { super(DEFAULT_MESSAGE_SIZE); *************** *** 94,97 **** --- 94,121 ---- } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } try { + s += " [hours=0x"+Long.toHexString(get_hours())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { + s += " [minutes=0x"+Long.toHexString(get_minutes())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { + s += " [dec_sec=0x"+Long.toHexString(get_dec_sec())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { + s += " [Lat_deg=0x"+Long.toHexString(get_Lat_deg())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { + s += " [Lat_dec_min=0x"+Long.toHexString(get_Lat_dec_min())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { + s += " [Long_deg=0x"+Long.toHexString(get_Long_deg())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { + s += " [Long_dec_min=0x"+Long.toHexString(get_Long_dec_min())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { + s += " [NSEWind=0x"+Long.toHexString(get_NSEWind())+"]\n"; + } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } + try { s += " [temp="+Float.toString(get_temp())+"]\n"; } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } *************** *** 102,108 **** s += " [baro_pres="+Float.toString(get_baro_pres())+"]\n"; } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } - try { - s += " [rss=0x"+Long.toHexString(get_rss())+"]\n"; - } catch (ArrayIndexOutOfBoundsException aioobe) { /* Skip field */ } return s; } --- 126,129 ---- *************** *** 112,116 **** ///////////////////////////////////////////////////////// // Accessor methods for field: addr ! // Field type: int, unsigned // Offset (bits): 0 // Size (bits): 16 --- 133,137 ---- ///////////////////////////////////////////////////////// // Accessor methods for field: addr ! // Field type: int // Offset (bits): 0 // Size (bits): 16 *************** *** 118,125 **** /** ! * Return whether the field 'addr' is signed (false). */ public static boolean isSigned_addr() { ! return false; } --- 139,146 ---- /** ! * Return whether the field 'addr' is signed (true). */ public static boolean isSigned_addr() { ! return true; } *************** *** 175,179 **** ///////////////////////////////////////////////////////// // Accessor methods for field: cnt ! // Field type: int, unsigned // Offset (bits): 16 // Size (bits): 16 --- 196,200 ---- ///////////////////////////////////////////////////////// // Accessor methods for field: cnt ! // Field type: int // Offset (bits): 16 // Size (bits): 16 *************** *** 181,188 **** /** ! * Return whether the field 'cnt' is signed (false). */ public static boolean isSigned_cnt() { ! return false; } --- 202,209 ---- /** ! * Return whether the field 'cnt' is signed (true). */ public static boolean isSigned_cnt() { ! return true; } *************** *** 237,251 **** ///////////////////////////////////////////////////////// ! // Accessor methods for field: temp ! // Field type: float, unsigned // Offset (bits): 32 // Size (bits): 32 ///////////////////////////////////////////////////////// /** ! * Return whether the field 'temp' is signed (false). */ public static boolean isSigned_temp() { ! return false; } --- 258,776 ---- ///////////////////////////////////////////////////////// ! // Accessor methods for field: hours ! // Field type: short // Offset (bits): 32 + // Size (bits): 8 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'hours' is signed (true). + */ + public static boolean isSigned_hours() { + return true; + } + + /** + * Return whether the field 'hours' is an array (false). + */ + public static boolean isArray_hours() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'hours' + */ + public static int offset_hours() { + return (32 / 8); + } + + /** + * Return the offset (in bits) of the field 'hours' + */ + public static int offsetBits_hours() { + return 32; + } + + /** + * Return the value (as a short) of the field 'hours' + */ + public short get_hours() { + return (short)getUIntElement(offsetBits_hours(), 8); + } + + /** + * Set the value of the field 'hours' + */ + public void set_hours(short value) { + setUIntElement(offsetBits_hours(), 8, value); + } + + /** + * Return the size, in bytes, of the field 'hours' + */ + public static int size_hours() { + return (8 / 8); + } + + /** + * Return the size, in bits, of the field 'hours' + */ + public static int sizeBits_hours() { + return 8; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: minutes + // Field type: short + // Offset (bits): 40 + // Size (bits): 8 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'minutes' is signed (true). + */ + public static boolean isSigned_minutes() { + return true; + } + + /** + * Return whether the field 'minutes' is an array (false). + */ + public static boolean isArray_minutes() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'minutes' + */ + public static int offset_minutes() { + return (40 / 8); + } + + /** + * Return the offset (in bits) of the field 'minutes' + */ + public static int offsetBits_minutes() { + return 40; + } + + /** + * Return the value (as a short) of the field 'minutes' + */ + public short get_minutes() { + return (short)getUIntElement(offsetBits_minutes(), 8); + } + + /** + * Set the value of the field 'minutes' + */ + public void set_minutes(short value) { + setUIntElement(offsetBits_minutes(), 8, value); + } + + /** + * Return the size, in bytes, of the field 'minutes' + */ + public static int size_minutes() { + return (8 / 8); + } + + /** + * Return the size, in bits, of the field 'minutes' + */ + public static int sizeBits_minutes() { + return 8; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: dec_sec + // Field type: int + // Offset (bits): 48 + // Size (bits): 16 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'dec_sec' is signed (true). + */ + public static boolean isSigned_dec_sec() { + return true; + } + + /** + * Return whether the field 'dec_sec' is an array (false). + */ + public static boolean isArray_dec_sec() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'dec_sec' + */ + public static int offset_dec_sec() { + return (48 / 8); + } + + /** + * Return the offset (in bits) of the field 'dec_sec' + */ + public static int offsetBits_dec_sec() { + return 48; + } + + /** + * Return the value (as a int) of the field 'dec_sec' + */ + public int get_dec_sec() { + return (int)getUIntElement(offsetBits_dec_sec(), 16); + } + + /** + * Set the value of the field 'dec_sec' + */ + public void set_dec_sec(int value) { + setUIntElement(offsetBits_dec_sec(), 16, value); + } + + /** + * Return the size, in bytes, of the field 'dec_sec' + */ + public static int size_dec_sec() { + return (16 / 8); + } + + /** + * Return the size, in bits, of the field 'dec_sec' + */ + public static int sizeBits_dec_sec() { + return 16; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: Lat_deg + // Field type: short + // Offset (bits): 64 + // Size (bits): 8 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'Lat_deg' is signed (true). + */ + public static boolean isSigned_Lat_deg() { + return true; + } + + /** + * Return whether the field 'Lat_deg' is an array (false). + */ + public static boolean isArray_Lat_deg() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'Lat_deg' + */ + public static int offset_Lat_deg() { + return (64 / 8); + } + + /** + * Return the offset (in bits) of the field 'Lat_deg' + */ + public static int offsetBits_Lat_deg() { + return 64; + } + + /** + * Return the value (as a short) of the field 'Lat_deg' + */ + public short get_Lat_deg() { + return (short)getUIntElement(offsetBits_Lat_deg(), 8); + } + + /** + * Set the value of the field 'Lat_deg' + */ + public void set_Lat_deg(short value) { + setUIntElement(offsetBits_Lat_deg(), 8, value); + } + + /** + * Return the size, in bytes, of the field 'Lat_deg' + */ + public static int size_Lat_deg() { + return (8 / 8); + } + + /** + * Return the size, in bits, of the field 'Lat_deg' + */ + public static int sizeBits_Lat_deg() { + return 8; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: Lat_dec_min + // Field type: int + // Offset (bits): 72 + // Size (bits): 16 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'Lat_dec_min' is signed (true). + */ + public static boolean isSigned_Lat_dec_min() { + return true; + } + + /** + * Return whether the field 'Lat_dec_min' is an array (false). + */ + public static boolean isArray_Lat_dec_min() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'Lat_dec_min' + */ + public static int offset_Lat_dec_min() { + return (72 / 8); + } + + /** + * Return the offset (in bits) of the field 'Lat_dec_min' + */ + public static int offsetBits_Lat_dec_min() { + return 72; + } + + /** + * Return the value (as a int) of the field 'Lat_dec_min' + */ + public int get_Lat_dec_min() { + return (int)getUIntElement(offsetBits_Lat_dec_min(), 16); + } + + /** + * Set the value of the field 'Lat_dec_min' + */ + public void set_Lat_dec_min(int value) { + setUIntElement(offsetBits_Lat_dec_min(), 16, value); + } + + /** + * Return the size, in bytes, of the field 'Lat_dec_min' + */ + public static int size_Lat_dec_min() { + return (16 / 8); + } + + /** + * Return the size, in bits, of the field 'Lat_dec_min' + */ + public static int sizeBits_Lat_dec_min() { + return 16; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: Long_deg + // Field type: short + // Offset (bits): 88 + // Size (bits): 8 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'Long_deg' is signed (true). + */ + public static boolean isSigned_Long_deg() { + return true; + } + + /** + * Return whether the field 'Long_deg' is an array (false). + */ + public static boolean isArray_Long_deg() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'Long_deg' + */ + public static int offset_Long_deg() { + return (88 / 8); + } + + /** + * Return the offset (in bits) of the field 'Long_deg' + */ + public static int offsetBits_Long_deg() { + return 88; + } + + /** + * Return the value (as a short) of the field 'Long_deg' + */ + public short get_Long_deg() { + return (short)getUIntElement(offsetBits_Long_deg(), 8); + } + + /** + * Set the value of the field 'Long_deg' + */ + public void set_Long_deg(short value) { + setUIntElement(offsetBits_Long_deg(), 8, value); + } + + /** + * Return the size, in bytes, of the field 'Long_deg' + */ + public static int size_Long_deg() { + return (8 / 8); + } + + /** + * Return the size, in bits, of the field 'Long_deg' + */ + public static int sizeBits_Long_deg() { + return 8; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: Long_dec_min + // Field type: short + // Offset (bits): 96 + // Size (bits): 8 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'Long_dec_min' is signed (true). + */ + public static boolean isSigned_Long_dec_min() { + return true; + } + + /** + * Return whether the field 'Long_dec_min' is an array (false). + */ + public static boolean isArray_Long_dec_min() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'Long_dec_min' + */ + public static int offset_Long_dec_min() { + return (96 / 8); + } + + /** + * Return the offset (in bits) of the field 'Long_dec_min' + */ + public static int offsetBits_Long_dec_min() { + return 96; + } + + /** + * Return the value (as a short) of the field 'Long_dec_min' + */ + public short get_Long_dec_min() { + return (short)getUIntElement(offsetBits_Long_dec_min(), 8); + } + + /** + * Set the value of the field 'Long_dec_min' + */ + public void set_Long_dec_min(short value) { + setUIntElement(offsetBits_Long_dec_min(), 8, value); + } + + /** + * Return the size, in bytes, of the field 'Long_dec_min' + */ + public static int size_Long_dec_min() { + return (8 / 8); + } + + /** + * Return the size, in bits, of the field 'Long_dec_min' + */ + public static int sizeBits_Long_dec_min() { + return 8; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: NSEWind + // Field type: short + // Offset (bits): 104 + // Size (bits): 8 + ///////////////////////////////////////////////////////// + + /** + * Return whether the field 'NSEWind' is signed (true). + */ + public static boolean isSigned_NSEWind() { + return true; + } + + /** + * Return whether the field 'NSEWind' is an array (false). + */ + public static boolean isArray_NSEWind() { + return false; + } + + /** + * Return the offset (in bytes) of the field 'NSEWind' + */ + public static int offset_NSEWind() { + return (104 / 8); + } + + /** + * Return the offset (in bits) of the field 'NSEWind' + */ + public static int offsetBits_NSEWind() { + return 104; + } + + /** + * Return the value (as a short) of the field 'NSEWind' + */ + public short get_NSEWind() { + return (short)getUIntElement(offsetBits_NSEWind(), 8); + } + + /** + * Set the value of the field 'NSEWind' + */ + public void set_NSEWind(short value) { + setUIntElement(offsetBits_NSEWind(), 8, value); + } + + /** + * Return the size, in bytes, of the field 'NSEWind' + */ + public static int size_NSEWind() { + return (8 / 8); + } + + /** + * Return the size, in bits, of the field 'NSEWind' + */ + public static int sizeBits_NSEWind() { + return 8; + } + + ///////////////////////////////////////////////////////// + // Accessor methods for field: temp + // Field type: float + // Offset (bits): 112 // Size (bits): 32 ///////////////////////////////////////////////////////// /** ! * Return whether the field 'temp' is signed (true). */ public static boolean isSigned_temp() { ! return true; } *************** *** 261,265 **** */ public static int offset_temp() { ! return (32 / 8); } --- 786,790 ---- */ public static int offset_temp() { ! return (112 / 8); } *************** *** 268,272 **** */ public static int offsetBits_temp() { ! return 32; } --- 793,797 ---- */ public static int offsetBits_temp() { ! return 112; } *************** *** 301,314 **** ///////////////////////////////////////////////////////// // Accessor methods for field: rel_hum ! // Field type: float, unsigned ! // Offset (bits): 64 // Size (bits): 32 ///////////////////////////////////////////////////////// /** ! * Return whether the field 'rel_hum' is signed (false). */ public static boolean isSigned_rel_hum() { ! return false; } --- 826,839 ---- ///////////////////////////////////////////////////////// // Accessor methods for field: rel_hum ! // Field type: float ! // Offset (bits): 144 // Size (bits): 32 ///////////////////////////////////////////////////////// /** ! * Return whether the field 'rel_hum' is signed (true). */ public static boolean isSigned_rel_hum() { ! return true; } *************** *** 324,328 **** */ public static int offset_rel_hum() { ! return (64 / 8); } --- 849,853 ---- */ public static int offset_rel_hum() { ! return (144 / 8); } *************** *** 331,335 **** */ public static int offsetBits_rel_hum() { ! return 64; } --- 856,860 ---- */ public static int offsetBits_rel_hum() { ! return 144; } *************** *** 364,377 **** ///////////////////////////////////////////////////////// // Accessor methods for field: baro_pres ! // Field type: float, unsigned ! // Offset (bits): 96 // Size (bits): 32 ///////////////////////////////////////////////////////// /** ! * Return whether the field 'baro_pres' is signed (false). */ public static boolean isSigned_baro_pres() { ! return false; } --- 889,902 ---- ///////////////////////////////////////////////////////// // Accessor methods for field: baro_pres ! // Field type: float ! // Offset (bits): 176 // Size (bits): 32 ///////////////////////////////////////////////////////// /** ! * Return whether the field 'baro_pres' is signed (true). */ public static boolean isSigned_baro_pres() { ! return true; } *************** *** 387,391 **** */ public static int offset_baro_pres() { ! return (96 / 8); } --- 912,916 ---- */ public static int offset_baro_pres() { ! return (176 / 8); } *************** *** 394,398 **** */ public static int offsetBits_baro_pres() { ! return 96; } --- 919,923 ---- */ public static int offsetBits_baro_pres() { ! return 176; } *************** *** 423,489 **** public static int sizeBits_baro_pres() { return 32; - } - - ///////////////////////////////////////////////////////// - // Accessor methods for field: rss - // Field type: int, unsigned - // Offset (bits): 128 - // Size (bits): 16 - ///////////////////////////////////////////////////////// - - /** - * Return whether the field 'rss' is signed (false). - */ - public static boolean isSigned_rss() { - return false; - } - - /** - * Return whether the field 'rss' is an array (false). - */ - public static boolean isArray_rss() { - return false; - } - - /** - * Return the offset (in bytes) of the field 'rss' - */ - public static int offset_rss() { - return (128 / 8); - } - - /** - * Return the offset (in bits) of the field 'rss' - */ - public static int offsetBits_rss() { - return 128; - } - - /** - * Return the value (as a int) of the field 'rss' - */ - public int get_rss() { - return (int)getUIntElement(offsetBits_rss(), 16); - } - - /** - * Set the value of the field 'rss' - */ - public void set_rss(int value) { - setUIntElement(offsetBits_rss(), 16, value); - } - - /** - * Return the size, in bytes, of the field 'rss' - */ - public static int size_rss() { - return (16 / 8); - } - - /** - * Return the size, in bits, of the field 'rss' - */ - public static int sizeBits_rss() { - return 16; } --- 948,951 ---- Index: SensorPacket.java =================================================================== RCS file: /cvsroot/firebug/firebug/project/java/src/org/firebug/SensorPacket.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** SensorPacket.java 30 Jul 2003 22:17:41 -0000 1.9 --- SensorPacket.java 19 Nov 2003 00:53:59 -0000 1.10 *************** *** 85,100 **** */ //if (packet[2]==1 && packet[7]!=-1 && packet[5]!=1){ ! if (packet[2]==1 && packet[5]!=1){ ! s += " [MoteID="+Long.toString(packet[5])+ "]\n"; //Humidity ! //s += " [Humidity Data="+Long.toString(packet[12]*256)+Long.toString(packet[11])+"]"; //cnt ! s += " [Cnt#="+Long.toString(packet[7])+ "]\n"; //Temperature //s += " [TempData="+Long.toString(packet[14]*256)+ Long.toString(packet[13])+"]"; ! s += " [TempData="+Long.toString(packet[14])+ " " + Long.toString(packet[13])+"]"; ! } return s; } --- 85,100 ---- */ //if (packet[2]==1 && packet[7]!=-1 && packet[5]!=1){ ! //if (packet[2]==1 && packet[5]!=1){ ! // s += " [MoteID="+Long.toString(packet[5])+ "]\n"; //Humidity ! s += " [Hours="+Long.toString(packet[9])+"]"; //cnt ! // s += " [Cnt#="+Long.toString(packet[7])+ "]\n"; //Temperature //s += " [TempData="+Long.toString(packet[14]*256)+ Long.toString(packet[13])+"]"; ! // s += " [TempData="+Long.toString(packet[14])+ " " + Long.toString(packet[13])+"]"; ! //} return s; } |
From: <che...@us...> - 2003-11-19 00:52:34
|
Update of /cvsroot/firebug/firebug/project/src/multihop In directory sc8-pr-cvs1:/tmp/cvs-serv18242 Modified Files: CollectDataFB.nc CollectDataMFB.nc Log Message: gps on radio Index: CollectDataFB.nc =================================================================== RCS file: /cvsroot/firebug/firebug/project/src/multihop/CollectDataFB.nc,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CollectDataFB.nc 22 Aug 2003 06:47:44 -0000 1.7 --- CollectDataFB.nc 19 Nov 2003 00:52:30 -0000 1.8 *************** *** 1,45 **** ! /* -*- Mode: C; c-basic-indent: 3; indent-tabs-mode: nil -*- */ ! ! ! /** ! * Author: Terence Tong, Alec Woo, Max Min Chen, David M. Doolin ! */ ! ! includes RoutingStack; ! configuration CollectDataFB { ! ! } ! ! ! implementation { ! components Main, CollectDataMFB, MHSender, TimerWrapper, LedsC, ! VirtualComm, ParentSelection, CC1000ControlM, SensirionHumidity, ! IntersemaPressure,MicaWbSwitch; ! ! Main.StdControl -> CollectDataMFB.StdControl; ! //CollectDataMFB.MultiHopSend -> MHSender.MultiHopSend[MH_STATISTIC_TYPE]; ! //ParentSelection.InForwardReceive -> VirtualComm.ReceiveMsg[MH_STATISTIC_TYPE]; ! CollectDataMFB.MultiHopSend -> MHSender.MultiHopSend[RS_DATA_TYPE]; ! ParentSelection.InForwardReceive -> VirtualComm.ReceiveMsg[RS_DATA_TYPE]; ! CollectDataMFB.Timer -> TimerWrapper.Timer[unique("Timer")]; ! CollectDataMFB.Leds -> LedsC; ! Main.StdControl -> MHSender.StdControl; ! CollectDataMFB.CC1000Control -> CC1000ControlM; ! ! // Wiring for Sensirion humidity/temperature sensor ! CollectDataMFB.TempHumControl -> SensirionHumidity; ! CollectDataMFB.Humidity -> SensirionHumidity.Humidity; ! CollectDataMFB.Temperature -> SensirionHumidity.Temperature; ! CollectDataMFB.HumidityError -> SensirionHumidity.HumidityError; ! CollectDataMFB.TemperatureError -> SensirionHumidity.TemperatureError; ! ! // Wiring for Intersema barometric pressure/temperature sensor ! CollectDataMFB.IntersemaCal -> IntersemaPressure; ! CollectDataMFB.PressureControl -> IntersemaPressure; ! CollectDataMFB.IntersemaPressure -> IntersemaPressure.Pressure; ! CollectDataMFB.IntersemaTemp -> IntersemaPressure.Temperature; ! ! ! ! } ! --- 1,40 ---- ! /* -*- Mode: C; c-basic-indent: 3; indent-tabs-mode: nil -*- */ ! ! ! /** ! * Author: Terence Tong, Alec Woo, Max Min Chen, David M. Doolin ! */ ! ! includes RoutingStack; ! configuration CollectDataFB { ! ! } ! ! ! implementation { ! components Main, CollectDataMFB, MHSender, LedsC,MicaWbSwitch, ! VirtualComm, ParentSelection,UARTGpsPacket, TimerWrapper,//Logger, ! Accel;//CC1000ControlM ! ! ! Main.StdControl -> CollectDataMFB.StdControl; ! CollectDataMFB.MultiHopSend -> MHSender.MultiHopSend[RS_DATA_TYPE]; ! ParentSelection.InForwardReceive -> VirtualComm.ReceiveMsg[RS_DATA_TYPE]; ! CollectDataMFB.Timer1 -> TimerWrapper.Timer[unique("Timer")]; ! CollectDataMFB.Timer2 -> TimerWrapper.Timer[unique("Timer")]; ! CollectDataMFB.Leds -> LedsC; ! Main.StdControl -> MHSender.StdControl; ! ! ! // Wiring for gps ! CollectDataMFB.GpsControl -> UARTGpsPacket; ! CollectDataMFB.GpsSend -> UARTGpsPacket; ! CollectDataMFB.GpsReceive -> UARTGpsPacket; ! CollectDataMFB.GpsCmd -> UARTGpsPacket.GpsCmd; ! ! // Wiring for Accelerometer ! CollectDataMFB.AccelControl->Accel.StdControl; ! CollectDataMFB.AccelCmd -> Accel.AccelCmd; ! ! } ! Index: CollectDataMFB.nc =================================================================== RCS file: /cvsroot/firebug/firebug/project/src/multihop/CollectDataMFB.nc,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** CollectDataMFB.nc 22 Aug 2003 06:47:44 -0000 1.11 --- CollectDataMFB.nc 19 Nov 2003 00:52:30 -0000 1.12 *************** *** 1,296 **** ! /* -*- Mode: C; c-basic-indent: 3; indent-tabs-mode: nil; font-lock-mode: t -*- */ ! ! /** ! * This is an example of a general application using the ! * Routing Stack to send message to ! * basestation. It store a message in its frame, ! * call getUsablePortion to get the right location ! * to add in its own data. passed the data down ! * the stack with the send command. A Send done ! * command will come back. A recomment way to send ! * another message is to have a one shot ! * Time. When the clock fired, we make another ! * attempt to send again. ! * ! * @author: Terence Tong, Alec Woo, Max Min Chen ! */ ! ! includes RoutingStack; ! ! module CollectDataMFB { ! ! provides { ! interface StdControl; ! } ! ! uses { ! ! interface Send as MultiHopSend; ! interface Timer as Timer; ! interface Leds; ! interface CC1000Control; ! ! //Intersema ! interface SplitControl as PressureControl; ! interface ADC as IntersemaTemp; ! interface ADC as IntersemaPressure; ! interface Calibration as IntersemaCal; ! ! //Sensirion ! interface SplitControl as TempHumControl; ! interface ADC as Humidity; ! interface ADC as Temperature; ! interface ADCError as HumidityError; ! interface ADCError as TemperatureError; ! ! } ! } ! ! #define DATA_FREQ 1000 ! implementation { ! #include "gps.h" ! ! enum {START, BUSY, HUMIDITY_DONE, PRESSURE_DONE}; ! ! TOS_Msg msgToSend; ! ! struct DataFormat_t { ! uint16_t addr; ! uint16_t cnt; ! float temp; ! float rel_hum; ! float baro_pres; ! ! }; ! ! uint16_t counter; ! uint8_t sending; ! uint8_t state; ! float TempData; ! float HumData; ! float PressureData; ! char count; ! uint16_t calibration[6]; ! uint16_t C1,C2,C3,C4,C5,C6; //intersema calibration coefficients ! ! task void SendToRadio(){ ! ! uint8_t *dataPortion; ! uint16_t availableLength = 0; ! ! struct DataFormat_t *df; ! ! if (sending != 1) { ! dataPortion = call MultiHopSend.getBuffer(&msgToSend, &availableLength); ! df = (struct DataFormat_t *) dataPortion; ! df->addr = TOS_LOCAL_ADDRESS; ! df->cnt = counter++; ! df->temp = TempData; ! df->rel_hum = HumData; ! df->baro_pres = PressureData; ! ! sending = call MultiHopSend.send(&msgToSend, sizeof(struct DataFormat_t)); ! call Leds.greenToggle(); ! } ! } ! ! ! command result_t StdControl.init() { ! call TempHumControl.init(); //init Sensirion ! call PressureControl.init(); // init Intersema ! return SUCCESS; ! } ! ! command result_t StdControl.start() { ! int i; ! counter = 0; ! for (i = 0; i < 29; i++) { ! msgToSend.data[i] = 0; ! } ! call Timer.start(TIMER_REPEAT, DATA_FREQ); ! call CC1000Control.SetRFPower(255); ! ! call HumidityError.enable(); //in case Sensirion doesn't respond ! call TemperatureError.enable(); // " ! ! return SUCCESS; ! } ! ! command result_t StdControl.stop() { ! return SUCCESS; ! } ! ! /** ! * When the clock fired we are ready to send, CollectData ask the stack ! * where in the data payload we can safely put our data. We then call ! * Multihop passed the pointer down the stack ! * ! * @author: terence ! * @param: void ! * @return: always return success ! */ ! event result_t Timer.fired() { ! if ( state == PRESSURE_DONE) state = START; ! ! if (state == START){ ! state = BUSY; ! call TempHumControl.start(); ! } ! ! if (state == HUMIDITY_DONE){ ! state = BUSY; ! call PressureControl.start(); ! } ! ! return SUCCESS; ! } ! ! ! /****************************************************************************** ! * Intersema MS5534A barometric pressure/temperature sensor ! * - 6 cal coefficients (C1..C6) are extracted from 4, 16 bit,words from sensor ! * - Temperature measurement: ! * UT1=8*C5+20224 ! * dT=data-UT1 ! * Temp=(degC x10)=200+dT(C6+50)/1024 ! * - Pressure measurement: ! * OFF=C2*4 + ((C4-512)*dT)/1024 ! * SENS=C1+(C3*dT)/1024 + 24576 ! * X=(SENS*(PressureData-7168))/16384 - OFF ! * Press(mbar)= X/32+250 ! *****************************************************************************/ ! event result_t IntersemaTemp.dataReady(uint16_t data) { ! float UT1,dT,Temp; ! float OFF,SENS,X,Press; ! //temperature ! UT1=8*(float)C5+20224; ! dT = (float)data-UT1; ! Temp = 200.0 + dT*((float)C6+50.0)/1024.0; ! //pressure ! OFF = (float)C2*4 + (((float)C4-512.0)*dT)/1024; ! SENS = (float)C1 + ((float)C3*dT)/1024 + 24576; ! X = (SENS*((float)PressureData-7168.0))/16384 - OFF; ! Press = X/32.0 + 250.0; ! ! call PressureControl.stop(); ! return SUCCESS; ! } ! ! event result_t IntersemaPressure.dataReady(uint16_t data) { ! PressureData = data; ! call Leds.yellowToggle(); ! return call IntersemaTemp.getData(); ! } ! ! event result_t IntersemaCal.dataReady(char word, uint16_t value) { ! // make sure we get all the calibration bytes ! count++; ! calibration[word-1] = value; ! ! if (count == 4) { ! C1 = calibration[0] >> 1; ! C2 = ((calibration[2] & 0x3f) << 6) | (calibration[3] & 0x3f); ! C3 = calibration[3] >> 6; ! C4 = calibration[2] >> 6; ! C5 = ((calibration[0] & 1) << 10) | (calibration[1] >> 6); ! C6 = calibration[1] & 0x3f; ! ! call IntersemaPressure.getData(); ! } ! return SUCCESS; ! } ! ! event result_t PressureControl.initDone() { ! return SUCCESS; ! } ! ! event result_t PressureControl.stopDone() { ! post SendToRadio(); ! return SUCCESS; ! ! ! } ! ! event result_t PressureControl.startDone() { ! count = 0; ! call IntersemaCal.getData(); ! return SUCCESS; ! } ! ! ! ! /****************************************************************************** ! * Sensirion SHT11 humidity/temperature sensor ! * - Humidity data is 12 bit: ! * Linear calc (no temp correction) ! * fRH = -4.0 + 0.0405 * data -0.0000028 * data^2 'RH linear ! * With temperature correction: ! * fRH = (fTemp - 25) * (0.01 + 0.00008 * data) + fRH 'RH true ! * - Temperature data is 14 bit ! * Temp(degC) = -38.4 + 0.0098 * data ! *****************************************************************************/ ! event result_t Temperature.dataReady(uint16_t data) { ! float fTemp, fHumidity; ! ! fTemp = -38.4 + 0.0098*(float)data; ! fHumidity = -4.0 + 0.0405 * HumData -0.0000028 * HumData * HumData; ! fHumidity= (fTemp-25.0)* (0.01 + 0.00008 * HumData) + fHumidity; ! fTemp = 10*fTemp; ! ! call TempHumControl.stop(); ! return SUCCESS; ! } ! ! event result_t Humidity.dataReady(uint16_t data) { ! HumData = data; //pressure data ! call Leds.redToggle(); ! return call Temperature.getData(); ! } ! ! event result_t TempHumControl.startDone() { ! call Humidity.getData(); ! return SUCCESS; ! } ! ! event result_t TempHumControl.initDone() { ! return SUCCESS; ! } ! ! event result_t TempHumControl.stopDone() { ! state = HUMIDITY_DONE; ! return SUCCESS; ! } ! ! event result_t HumidityError.error(uint8_t token) ! { ! //call Leds.redOff(); ! //call Leds.yellowOff(); ! call Temperature.getData(); ! return SUCCESS; ! } ! ! ! event result_t TemperatureError.error(uint8_t token) ! { ! call TempHumControl.stop(); ! //call Leds.yellowOff(); ! return SUCCESS; ! } ! ! ! /** ! * When a message is sent, send done event is trigger. We then schedule the ! * time to generate another message to send ! * ! * @author: terence ! * @param: void ! * @return: void ! */ ! ! event result_t MultiHopSend.sendDone(TOS_MsgPtr msg, uint8_t success) { ! sending = 0; ! state= PRESSURE_DONE; ! return SUCCESS; ! } ! ! } --- 1,476 ---- ! /* -*- Mode: C; c-basic-indent: 3; indent-tabs-mode: nil; font-lock-mode: t -*- */ ! ! /** ! * This is an example of a general application using the ! * Routing Stack to send message to ! * basestation. It store a message in its frame, ! * call getUsablePortion to get the right location ! * to add in its own data. passed the data down ! * the stack with the send command. A Send done ! * command will come back. A recomment way to send ! * another message is to have a one shot ! * Time. When the clock fired, we make another ! * attempt to send again. ! * ! * @author: Terence Tong, Alec Woo, Max Min Chen ! */ ! ! includes RoutingStack; ! includes gps; ! ! #define GPS_MSG_LENGTH 100 ! #define GPS_CHAR 11 ! #define GPS_FIELDS 8 ! #define GPS_CHAR_PER_FIELD 10 ! #define GPS_DELIMITER ',' ! #define GPS_END_MSG '*' ! ! ! ! ! ! module CollectDataMFB { ! ! provides { ! ! interface StdControl; ! command result_t parseGPS(int8_t gga_string[GPS_MSG_LENGTH], uint8_t length); ! command result_t logGPS(char gga_fields[GPS_FIELDS][GPS_CHAR_PER_FIELD]); ! } ! ! uses { ! ! interface Send as MultiHopSend; ! interface Timer as Timer1; ! interface Timer as Timer2; ! interface Leds; ! ! interface I2CSwitchCmds as GpsCmd; ! interface StdControl as GpsControl; ! interface BareSendMsg as GpsSend; ! interface ReceiveMsg as GpsReceive; ! ! ! //Accels ! interface StdControl as AccelControl; ! interface I2CSwitchCmds as AccelCmd; ! ! } ! } ! ! implementation { ! #include "SODebug.h" ! //#include "gps.h" ! ! TOS_Msg msgToSend; ! //GGA_Msg *pGGA; ! uint8_t pHours; ! uint8_t pMinutes; ! uint16_t pDec_sec; ! uint8_t pLat_deg; ! uint16_t pLat_dec_min; ! uint8_t pLong_deg; ! uint16_t pLong_dec_min; ! uint8_t pNSEWind; ! ! struct DataFormat_t { ! uint16_t addr; ! uint16_t cnt; ! uint8_t hours; ! uint8_t minutes; ! uint16_t dec_sec; ! uint8_t Lat_deg; ! uint16_t Lat_dec_min; ! uint8_t Long_deg; ! uint16_t Long_dec_min; ! uint8_t NSEWind; ! float temp; ! //float rel_hum; ! //float baro_pres; ! }; ! ! uint16_t counter; ! uint8_t sending; ! ! char count; ! ! bool gps_active; //true if gps is active ! bool gps_done; ! ! command result_t StdControl.init() { ! ! gps_active = FALSE; ! gps_done = TRUE; ! init_debug(); ! call Leds.init(); ! call GpsControl.init(); ! ! call AccelControl.init(); //initialize accelerometer ! return SUCCESS; ! } ! ! command result_t StdControl.start() { ! int i; ! counter = 0; ! ! call GpsControl.start(); ! SODbg(DBG_USR2, "Power GPS... \n"); ! ! //call Timer1.start(TIMER_REPEAT, 5000); ! ! if (! call GpsCmd.PowerSwitch(1)) { //turn on GPS power ! call Leds.yellowToggle(); ! SODbg(DBG_USR2, "Failed to power on gps \n"); ! } ! ! //call Leds.redToggle(); ! for (i = 0; i < 29; i++) { ! msgToSend.data[i] = 0; ! } ! ! return SUCCESS; ! } ! ! command result_t StdControl.stop() { ! return SUCCESS; ! } ! ! event result_t Timer1.fired() { ! ! if (!gps_active){ ! call Leds.yellowToggle(); ! //if (! call GpsCmd.PowerSwitch(1)) { //turn on GPS power ! call GpsCmd.PowerSwitch(1); ! gps_active = TRUE; ! } ! else{ ! gps_active = FALSE; ! } ! ! return SUCCESS; ! } ! ! ! ! /** ! * When the clock fired we are ready to send, CollectData ask the stack ! * where in the data payload we can safely put our data. We then call ! * Multihop passed the pointer down the stack ! * ! * @author: terence ! * @param: void ! * @return: always return success ! */ ! ! event result_t Timer2.fired() { ! ! uint8_t *dataPortion; ! uint16_t availableLength = 0; ! ! struct DataFormat_t *df; ! ! if (sending == 1) { ! return SUCCESS; ! } ! ! dataPortion = call MultiHopSend.getBuffer(&msgToSend, &availableLength); ! df = (struct DataFormat_t *) dataPortion; ! df->addr = TOS_LOCAL_ADDRESS; ! df->cnt = counter++; ! df->hours = pHours; ! df->minutes = pMinutes; ! df->dec_sec = pDec_sec; ! df->Lat_deg = pLat_deg; ! df->Lat_dec_min = pLat_dec_min; ! df->Long_deg = pLong_deg; ! df->Long_dec_min = pLong_dec_min; ! df->NSEWind = pNSEWind; ! df->temp = 100.1; ! //df->rel_hum = 36.2; ! //df->baro_pres = 28.3; ! ! SODbg(DBG_USR2, "hours:%i\n", df->hours); ! SODbg(DBG_USR2, "hours:%i\n", pHours); ! //SODbg(DBG_USR2, "minutes:%i\n", df->minutes); ! //SODbg(DBG_USR2, "dec_sec:%i\n", df->dec_sec); ! //SODbg(DBG_USR2, "Lat_deg:%i\n", df->Lat_deg); ! //SODbg(DBG_USR2, "Lat_dec_min:%i\n", df->Lat_dec_min); ! //SODbg(DBG_USR2, "Long_deg:%i\n", df->Long_deg); ! //SODbg(DBG_USR2, "Long_dec_min:%i\n", df->Long_dec_min); ! //SODbg(DBG_USR2, "NSEWind:%i\n", df->NSEWind); ! //SODbg(DBG_USR2, "hours:%h\n", df->temp); ! ! sending = call MultiHopSend.send(&msgToSend, sizeof(struct DataFormat_t)); ! return SUCCESS; ! } ! ! ! /** ! * When a message is sent, send done event is trigger. We then schedule the ! * time to generate another message to send ! * ! * @author: terence ! * @param: void ! * @return: void ! */ ! ! event result_t MultiHopSend.sendDone(TOS_MsgPtr msg, uint8_t success) { ! sending = 0; ! gps_done=TRUE; ! call Timer2.stop(); ! call GpsCmd.PowerSwitch(1); ! SODbg(DBG_USR2, "radio_senddone, power gps again\n"); ! ! return SUCCESS; ! } ! ! ! // ************************** ! //*Packet received from GPS* ! //************************** ! // ! //*The following should be executed in GpsPacket ! ! ! event TOS_MsgPtr GpsReceive.receive(TOS_MsgPtr data) { ! ! int8_t gga_string[GPS_MSG_LENGTH]; ! bool gga_read = FALSE; ! bool gga_read_done = FALSE; ! uint16_t i = 0; ! uint8_t j = 0; ! uint8_t k = 0; ! ! GPS_MsgPtr gps_data = (GPS_MsgPtr)data; ! call Leds.greenToggle(); ! ! ! if(gps_data->data[i+3] == 'G' && gps_data->data[i+4] == 'G' && gps_data->data[i+5] == 'A' && gps_done == TRUE) { ! ! while (!gga_read_done) { ! if(gps_data->data[i+3] == 'G') { ! if(gps_data->data[i+4] == 'G') { ! if(gps_data->data[i+5] == 'A') { ! gga_read = TRUE; ! SODbg(DBG_USR2, "gps_data:%i,\n", gps_data->length); ! for (k = 0; k <= gps_data->length ; k++) UARTPutChar(gps_data->data[k]); ! gps_done = FALSE; ! } ! } ! } ! ! call Leds.redToggle(); ! if(gps_data->data[i] == GPS_END_MSG) { ! if(gga_read) { ! //if(call GpsCmd.PowerSwitch(0)) { ! // SODbg(DBG_USR2, "GPS Power Off\n"); ! //} ! ! call parseGPS(gga_string, j); ! gga_read = FALSE; ! gga_read_done = TRUE; ! } ! } ! ! if(gga_read) { ! gga_string[j] = gps_data->data[i]; ! j++; ! } ! ! i++; ! } ! ! } ! ! return data; ! } ! ! ! ! //**************** ! //*Parse GPS Data* ! //**************** ! //* ! //* Fields are comma delimited ! //* NMEA string parsed by field and stored into ! //* gga_fields array ! ! ! command result_t parseGPS(int8_t gga_string[GPS_MSG_LENGTH], uint8_t length) { ! ! char gga_fields[GPS_FIELDS][GPS_CHAR_PER_FIELD]; ! ! bool end_of_field = FALSE; ! uint8_t i=0; ! uint8_t j,m; ! uint16_t k=0; ! ! //***DEBUG: Output NMEA message*** ! uint16_t q; ! SODbg(DBG_USR2, "parse GPS: \n"); ! for(q=0; q<length; q++) UARTPutChar(gga_string[q]); ! SODbg(DBG_USR2, "\n"); ! //******************************** ! ! // Parse and store comma delimited fields into EEPROM ! while (i < GPS_FIELDS) { ! ! // assemble gga_fields array ! end_of_field = FALSE; ! j = 0; ! while (!end_of_field & k < length) { ! if (gga_string[k] == GPS_DELIMITER) { ! end_of_field = TRUE; ! } ! else { ! gga_fields[i][j] = gga_string[k]; ! } ! j++; ! k++; ! } ! ! // two commas (,,) indicate empty field ! // if field is empty, set it equal to 0 ! if (j <= 1) { ! for (m=0; m<10; m++) gga_fields[i][m] = '0'; ! } ! ! i++; ! } ! ! call logGPS(gga_fields); ! return SUCCESS; ! } ! ! ! ! // ************** ! //*Log GGA data* ! //************** ! //* ! //* Assemble GGA message structure from gga_fields ! //* Store GGA data into line 25 of EEPROM ! ! ! command result_t logGPS(char gga_fields[GPS_FIELDS][GPS_CHAR_PER_FIELD]) { ! ! //GGA_Msg *pGGA; ! char NS; ! char EW; ! uint8_t nos; // number of satellites ! ! //if (gga_fields[6][0]== '0'){ ! // SODbg(DBG_USR2, "GPS NOT AVAILABLE:\n"); ! // return SUCCESS; ! // } ! ! ! // Assemble GGA_Msg ! //pGGA->hours = 10*(gga_fields[1][0]-'0') + (gga_fields[1][1]-'0'); ! pHours = 10*(gga_fields[1][0]-'0') + (gga_fields[1][1]-'0'); ! SODbg(DBG_USR2, "Hour:%i\n", pHours); ! ! pMinutes = 10*(gga_fields[1][2]-'0') + (gga_fields[1][3]-'0'); ! SODbg(DBG_USR2, "Minutes: %i\n", pMinutes); ! ! pDec_sec = 10000*(gga_fields[1][4]-'0') + 1000*(gga_fields[1][5]-'0') + 100*(gga_fields[1][7]-'0') + 10*(gga_fields[1][8]-'0') + (gga_fields[1][9]-'0'); ! SODbg(DBG_USR2, "Msb: %i, Lsb:%i \n", (pDec_sec)>>8, pDec_sec); ! ! ! pLat_deg = 10*(gga_fields[2][0]-'0') + (gga_fields[2][1]-'0'); ! SODbg(DBG_USR2, "Lat_deg %i:\n", pLat_deg); ! ! pLat_dec_min = 100000*(gga_fields[2][2]-'0') + 10000*(gga_fields[2][3]-'0') + 1000*(gga_fields[2][4]-'0') + 100*(gga_fields[2][5]-'0') + 10*(gga_fields[2][6]-'0') + (gga_fields[2][7]-'0'); ! SODbg(DBG_USR2, "Lat_dec_min: %i,%i\n", (pLat_dec_min)>>8, pLat_dec_min); ! ! ! pLong_deg = 100*(gga_fields[4][0]-'0') + 10*(gga_fields[4][1]-'0') + (gga_fields[4][2]-'0'); ! SODbg(DBG_USR2, "Long_deg %i:\n", pLong_deg); ! ! pLong_dec_min = 100000*(gga_fields[4][3]-'0') + 10000*(gga_fields[4][4]-'0') + 1000*(gga_fields[4][5]-'0') + 100*(gga_fields[4][6]-'0') + 10*(gga_fields[4][7]-'0') + (gga_fields[4][8]-'0'); ! SODbg(DBG_USR2, "Long_dec_min: %i,%i\n", (pLong_dec_min)>>8, pLong_dec_min); ! ! NS = (gga_fields[3][0] == 'N') ? 1 : 0; ! EW = (gga_fields[5][0] == 'W') ? 1 : 0; ! pNSEWind = EW | (NS<<4); // eg. Status = 000N000E = 00010000 ! SODbg(DBG_USR2, "NSEW: %i\n", pNSEWind); ! ! nos = 10*(gga_fields[7][0]-'0') + (gga_fields[7][1]-'0'); ! SODbg(DBG_USR2, "nos: %i\n", nos); ! ! if(call GpsCmd.PowerSwitch(0)) { ! SODbg(DBG_USR2, "GPS Power Off\n"); ! } ! ! ! call Timer2.start(TIMER_ONE_SHOT,300); ! ! return SUCCESS; ! } ! ! ! /****************************************************************************** ! * Packet received from GPS - ASCII msg ! * 1st byte in pkt is number of ascii bytes ! * async used only for testing ! *****************************************************************************/ ! ! ! ! ! //((((((((((((((This is a alternative way from the above)))))))))))))) ! /* ! ! event TOS_MsgPtr GpsReceive.receive(TOS_MsgPtr data) { //change to GPS packet!! ! uint8_t i; ! ! GPS_MsgPtr gps_data = (GPS_MsgPtr)data; ! ! //gps_data = (GPS_MsgPtr)data; ! call Leds.greenToggle(); ! SODbg(DBG_USR2, "GPSReceive.Receive\n"); ! //for (i = 0; i <= gps_data->data[0] ; i++) UARTPutChar(gps_data->data[i]); ! for (i = 0; i <= gps_data->length ; i++) UARTPutChar(gps_data->data[i]); ! SODbg(DBG_USR2, "\n"); ! ! SODbg(DBG_USR2, "<<<<:%i,%i,%i\n",gps_data->data[0],gps_data->data[1],gps_data->data[2]); ! //if(gps_data->data[3] == 'G' && gps_data->data[4] == 'G' && gps_data->data[5] == 'A') { ! //if(call GpsCmd.PowerSwitch(0)) { ! // SODbg(DBG_USR2, "GPS Power Off\n"); ! //} ! //} ! ! ! //call Timer2.start(TIMER_ONE_SHOT,300); ! return data; ! } ! ! */ ! ! event result_t GpsSend.sendDone(TOS_MsgPtr msg, result_t success) { ! return SUCCESS; ! } ! ! ! event result_t GpsCmd.SwitchesSet(uint8_t PowerState){ ! //if (PowerState == 1 ){ ! //gps_active = TRUE; ! //call Leds.yellowToggle(); ! //SODbg(DBG_USR2, "Switchset:Gps power on,Power \n"); ! //} ! //else{ ! //gps_active = FALSE; ! //call Leds.redToggle(); ! SODbg(DBG_USR2, "GpsCmd.SwithesSet\n"); ! //} ! ! return SUCCESS; ! } ! ! ! event result_t AccelCmd.SwitchesSet(uint8_t PowerState){ ! return SUCCESS; ! } ! ! ! } |
From: <do...@us...> - 2003-11-18 22:45:59
|
Update of /cvsroot/firebug/mts400/sensors/gps In directory sc8-pr-cvs1:/tmp/cvs-serv26921 Added Files: gps_debug.h Log Message: debugging header for gps unit. --- NEW FILE: gps_debug.h --- #include <stdarg.h> //#include <stdio.h> //#define SCRATCH 16 #define SCRATCH 64 #define BUF_LEN 256 char debugbuf[BUF_LEN]; //init comm port (56K baud, mica2 only, use 19K baud for mica2dot, mica....) for debug // call this from startup routine void init_debug(){ outp(0,UBRR0H); outp(15, UBRR0L); //set baud rate outp((1<<U2X),UCSR0A); // Set UART double speed outp(((1 << UCSZ1) | (1 << UCSZ0)) , UCSR0C); // Set frame format: 8 data-bits, 1 stop-bit inp(UDR0); outp((1 << TXEN) ,UCSR0B); // Enable uart reciever and transmitter } //init comm port (19K baud) for mica2dot for debug // call this from startup routine void init_debug_mica2dot(){ outp(0,UBRR0H); // Set baudrate to 19.2 KBps outp(12, UBRR0L); outp(0,UCSR0A); // Disable U2X and MPCM outp(((1 << UCSZ1) | (1 << UCSZ0)) , UCSR0C); inp(UDR0); outp((1 << TXEN) ,UCSR0B); } // output a char to the uart void UARTPutChar(char c) { if (c == '\n') UARTPutChar('\r'); loop_until_bit_is_set(UCSR0A, UDRE); outb(UDR0,c); } void writedebug() { int i = 0; UARTPutChar('\n'); //write a carriage return 1st while (debugbuf[i] != '\n') UARTPutChar(debugbuf[i++]); // UARTPutChar('\n'); } #define SPRINTF //use this sprintf function #ifdef SPRINTF int sprintf(uint8_t *buf, const uint8_t *format, ...) /* simplified sprintf */ { uint8_t scratch[SCRATCH]; uint8_t format_flag; uint16_t u_val=0, base; uint8_t *ptr; va_list ap; bool b_ChkForNegInt = FALSE; va_start (ap, format); for (;;){ while ((format_flag = *format++) != '%'){ /* Until '%' or '\0' */ if (!format_flag){va_end (ap); return (0);} *buf = format_flag; buf++; *buf=0; } b_ChkForNegInt = FALSE; switch (format_flag = *format++){ case 'c': format_flag = va_arg(ap,int); default: *buf = format_flag; buf++; *buf=0; continue; case 'S': case 's': ptr = va_arg(ap,char *); strcat(buf, ptr); continue; case 'o': base = 8; *buf = '0'; buf++; *buf=0; goto CONVERSION_LOOP; case 'i': b_ChkForNegInt = TRUE; // if (((int)u_val) < 0){ // u_val = - u_val; // *buf = '-'; buf++; *buf=0; // } /* no break -> run into next case */ case 'u': base = 10; goto CONVERSION_LOOP; case 'x': base = 16; CONVERSION_LOOP: u_val = va_arg(ap,int); if (b_ChkForNegInt){ if (((int)u_val) < 0){ u_val = - u_val; *buf = '-'; buf++; *buf=0; } } ptr = scratch + SCRATCH; *--ptr = 0; do { char ch = u_val % base + '0'; if (ch > '9') ch += 'a' - '9' - 1; *--ptr = ch; u_val /= base; } while (u_val); strcat(buf, ptr); buf += strlen(ptr); } } } #endif #define SO_NO_DEBUG 0 #if GPS_DEBUG #define GPSDbg(__x,__args...) { \ char bStatus; \ if(__x != SO_NO_DEBUG){ \ bStatus=bit_is_set(SREG,7); \ cli(); \ sprintf(debugbuf,__args); \ writedebug(); \ if (bStatus) sei(); \ } \ } #else #define GPSDbg(__x,__args...) #endif |
From: <do...@us...> - 2003-11-18 22:45:14
|
Update of /cvsroot/firebug/mts400/apps/TestGPS In directory sc8-pr-cvs1:/tmp/cvs-serv26771/apps/TestGPS Modified Files: gps_newM.nc Log Message: Worked over the debugging output for gps. Index: gps_newM.nc =================================================================== RCS file: /cvsroot/firebug/mts400/apps/TestGPS/gps_newM.nc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** gps_newM.nc 13 Nov 2003 00:17:18 -0000 1.5 --- gps_newM.nc 18 Nov 2003 22:45:10 -0000 1.6 *************** *** 37,40 **** --- 37,42 ---- #include "gps.h" + #define GPS_DEBUG 0 + /** 0 means GPS runs forever, 1 means it takes one reading * and powers down. *************** *** 42,46 **** * this should not happen and is a problem. */ ! #define GPS_ONE_SHOT 1 --- 44,48 ---- * this should not happen and is a problem. */ ! #define GPS_ONE_SHOT 0 *************** *** 72,76 **** */ call GpsControl.start(); ! call GPSTimer.start(TIMER_REPEAT, 10000) ; call REDTimer.start(TIMER_REPEAT, 500) ; return SUCCESS; --- 74,79 ---- */ call GpsControl.start(); ! //call GPSTimer.start(TIMER_REPEAT, 10000) ; ! call readGps(); call REDTimer.start(TIMER_REPEAT, 500) ; return SUCCESS; *************** *** 82,86 **** * sensor readings. Timer.stop always returns success. */ ! call GPSTimer.stop(); call REDTimer.stop(); return SUCCESS; --- 85,89 ---- * sensor readings. Timer.stop always returns success. */ ! //call GPSTimer.stop(); call REDTimer.stop(); return SUCCESS; *************** *** 91,95 **** --- 94,100 ---- if (call GpsCmd.PowerSwitch(GPS_POWER_OFF)) { + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.StdControl.stop(): GPS sensor powered off. \n"); + #endif } } *************** *** 102,106 **** --- 107,113 ---- if (gps_state == GPS_WORKING) { + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.readGps(): GPS_WORKING\n"); + #endif return; } *************** *** 110,115 **** /* Implementation is in GpsPacket.nc */ if (call GpsCmd.PowerSwitch(GPS_POWER_ON)) { SODbg(DBG_USR2, "gps_newM.readGps(): GPS powered on\n"); ! gps_state = GPS_WORKING; } } --- 117,124 ---- /* Implementation is in GpsPacket.nc */ if (call GpsCmd.PowerSwitch(GPS_POWER_ON)) { + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.readGps(): GPS powered on\n"); ! #endif ! //gps_state = GPS_WORKING; } } *************** *** 143,147 **** --- 152,158 ---- case MAIN_SWITCH_ON: + #if GPS_DEBUG SODbg(DBG_USR2, "PowerSwitch.setDone() MAIN_SWITCH_ON\n"); + #endif state = IDLE; /** GpsControl is wired to GpsPacket.nc */ *************** *** 150,154 **** --- 161,167 ---- case MAIN_SWITCH_OFF: + #if GPS_DEBUG SODbg(DBG_USR2, "PowerSwitch.setDone() MAIN_SWITCH_OFF\n"); + #endif state = POWEROFF; /** GpsControl is wired to GpsPacket.nc */ *************** *** 157,161 **** --- 170,176 ---- case WAIT_SWITCH_ON: + #if GPS_DEBUG SODbg(DBG_USR2, "PowerSwitch.setDone() WAIT_SWITCH_ON\n"); + #endif if (call PowerSwitch.set(MICAWB_GPS_POWER,1) == SUCCESS) { state = MAIN_SWITCH_ON; *************** *** 164,168 **** --- 179,185 ---- case WAIT_SWITCH_OFF: + #if GPS_DEBUG SODbg(DBG_USR2, "PowerSwitch.setDone() WAIT_SWITCH_OFF\n"); + #endif if (call PowerSwitch.set(MICAWB_GPS_POWER,0) == SUCCESS) { state = MAIN_SWITCH_OFF; *************** *** 200,218 **** --- 217,245 ---- if (state == OPENSCK) { //SCK line enabled + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.IOSwitch.setDone(): SCK enabled \n"); + #endif state = OPENDATA; return call IOSwitch.set(MICAWB_HUMIDITY_DATA,1); } else if (state == OPENDATA) { //Data line enabled + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.IOSwitch.setDone(): SDA enabled \n"); + #endif state = TIMER; + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.IOSwitch.setDone(): Timer Started, state: %i \n", state); + #endif return call GPSTimer.start(TIMER_ONE_SHOT, 100); } else if (state == CLOSESCK) { state = CLOSEDATA; + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.IOSwitch.setDone(): SCK disabled \n"); + #endif return call IOSwitch.set(MICAWB_HUMIDITY_DATA,0); } else if (state == CLOSEDATA) { + #if GPS_DEBUG SODbg(DBG_USR2, "gps_newM.IOSwitch.setDone(): SDA disabled \n"); + #endif } return SUCCESS; *************** *** 269,274 **** event result_t GpsSend.sendDone(TOS_MsgPtr msg, result_t success) { SODbg(DBG_USR2, "GpsSend.sendDone(): state: %i \n", state); ! return SUCCESS; } --- 296,302 ---- event result_t GpsSend.sendDone(TOS_MsgPtr msg, result_t success) { + #if GPS_DEBUG SODbg(DBG_USR2, "GpsSend.sendDone(): state: %i \n", state); ! #endif return SUCCESS; } *************** *** 278,283 **** --- 306,313 ---- char tmp[] = {"Foo"}; + #if GPS_DEBUG //SODbg(DBG_USR2, "gps_new.GpsCmd.SwitchesSet(): PowerState: %i \n\n", PowerState); SODbg(DBG_USR2, "gps_new.GpsCmd.SwitchesSet(): dummy string: %s \n", tmp); + #endif call Leds.yellowOn(); call Leds.redOff(); |
From: <do...@us...> - 2003-11-18 22:45:14
|
Update of /cvsroot/firebug/mts400/sensors/i2c In directory sc8-pr-cvs1:/tmp/cvs-serv26771/sensors/i2c Modified Files: MicaWbSwitchM.nc Log Message: Worked over the debugging output for gps. Index: MicaWbSwitchM.nc =================================================================== RCS file: /cvsroot/firebug/mts400/sensors/i2c/MicaWbSwitchM.nc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** MicaWbSwitchM.nc 15 Nov 2003 02:00:28 -0000 1.3 --- MicaWbSwitchM.nc 18 Nov 2003 22:45:11 -0000 1.4 *************** *** 88,92 **** implementation { ! #define WB_DEBUG 1 #include "wbswitch_debug.h" --- 88,92 ---- implementation { ! #define WB_DEBUG 0 #include "wbswitch_debug.h" *************** *** 110,124 **** } command result_t StdControl.start() { WBDbg(DBG_USR2, "MicaWBSwitch.StdControl.start() state: %i\n",state); - return call I2CPacketControl.start(); } command result_t StdControl.stop() { WBDbg(DBG_USR2, "MicaWBSwitch.StdControl.stop() state: %i\n",state); - return call I2CPacketControl.stop(); } --- 110,124 ---- } + command result_t StdControl.start() { WBDbg(DBG_USR2, "MicaWBSwitch.StdControl.start() state: %i\n",state); return call I2CPacketControl.start(); } + command result_t StdControl.stop() { WBDbg(DBG_USR2, "MicaWBSwitch.StdControl.stop() state: %i\n",state); return call I2CPacketControl.stop(); } *************** *** 127,131 **** command result_t Switch.get[uint8_t id]() { - WBDbg(DBG_USR2, "MicaWBSwitch.Switch.get() state: %i\n",state); --- 127,130 ---- *************** *** 163,166 **** --- 162,166 ---- } + command result_t Switch.setAll[uint8_t id](char l_value) { *************** *** 179,182 **** --- 179,183 ---- return FAIL; } + event result_t I2CSwitch0.writePacketDone(bool result) { |
From: <do...@us...> - 2003-11-18 22:45:14
|
Update of /cvsroot/firebug/mts400/apps/TestGPS_SHT In directory sc8-pr-cvs1:/tmp/cvs-serv26771/apps/TestGPS_SHT Modified Files: gps_shtM.nc Log Message: Worked over the debugging output for gps. Index: gps_shtM.nc =================================================================== RCS file: /cvsroot/firebug/mts400/apps/TestGPS_SHT/gps_shtM.nc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gps_shtM.nc 15 Nov 2003 02:00:27 -0000 1.2 --- gps_shtM.nc 18 Nov 2003 22:45:10 -0000 1.3 *************** *** 301,305 **** //SODbg(DBG_USR2, "gps_new.GpsCmd.SwitchesSet(): PowerState: %i \n\n", PowerState); ! SODbg(DBG_USR2, "gps_new.GpsCmd.SwitchesSet(): dummy string: %s \n", tmp); call Leds.yellowOn(); call Leds.redOff(); --- 301,305 ---- //SODbg(DBG_USR2, "gps_new.GpsCmd.SwitchesSet(): PowerState: %i \n\n", PowerState); ! //SODbg(DBG_USR2, "gps_new.GpsCmd.SwitchesSet(): dummy string: %s \n", tmp); call Leds.yellowOn(); call Leds.redOff(); |
From: <do...@us...> - 2003-11-18 22:45:14
|
Update of /cvsroot/firebug/mts400/sensors/gps In directory sc8-pr-cvs1:/tmp/cvs-serv26771/sensors/gps Modified Files: GpsPacket.nc HPLUART1M.nc Log Message: Worked over the debugging output for gps. Index: GpsPacket.nc =================================================================== RCS file: /cvsroot/firebug/mts400/sensors/gps/GpsPacket.nc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** GpsPacket.nc 15 Nov 2003 00:44:51 -0000 1.5 --- GpsPacket.nc 18 Nov 2003 22:45:11 -0000 1.6 *************** *** 103,107 **** implementation { ! #include "SODebug.h" #include "gps.h" --- 103,108 ---- implementation { ! #define GPS_DEBUG 0 ! #include "gps_debug.h" #include "gps.h" *************** *** 347,351 **** uint16_t strength) { ! //SODbg(DBG_USR2, "PACKET: byte arrived: %x, COUNT: %i\n", data, rxCount); //FIXME: See if this works, remove global if possible. --- 348,352 ---- uint16_t strength) { ! //GPSDbg(DBG_USR2, "PACKET: byte arrived: %x, COUNT: %i\n", data, rxCount); //FIXME: See if this works, remove global if possible. *************** *** 375,379 **** if (rxCount == GPS_DATA_LENGTH ) { ! SODbg(DBG_USR2, "gps packet too large- flushed \n"); state_gps_pkt = NO_GPS_START_BYTE; return SUCCESS; --- 376,380 ---- if (rxCount == GPS_DATA_LENGTH ) { ! GPSDbg(DBG_USR2, "gps packet too large- flushed \n"); state_gps_pkt = NO_GPS_START_BYTE; return SUCCESS; *************** *** 389,393 **** // bufferIndex = bufferIndex ^ 1; // recPtr = (uint8_t*)bufferPtr; ping pong buffers !!!!!!!!!!!!!!!!!! ! // SODbg(DBG_USR2, "got gps packet; # of bytes = %i \n", rxCount); // rxCount = 0; // post receiveTask(); --- 390,394 ---- // bufferIndex = bufferIndex ^ 1; // recPtr = (uint8_t*)bufferPtr; ping pong buffers !!!!!!!!!!!!!!!!!! ! // GPSDbg(DBG_USR2, "got gps packet; # of bytes = %i \n", rxCount); // rxCount = 0; // post receiveTask(); *************** *** 410,414 **** ! SODbg(DBG_USR2, "GpsPacket.PowerSwitch.setDone(): PowerState: %i \n", PowerState); if (state_gps == GPS_SWITCH_IDLE){ --- 411,415 ---- ! GPSDbg(DBG_USR2, "GpsPacket.PowerSwitch.setDone(): PowerState: %i \n", PowerState); if (state_gps == GPS_SWITCH_IDLE){ *************** *** 420,429 **** if (call PowerSwitch.set(MICAWB_GPS_POWER,0) == SUCCESS) { state_gps = GPS_PWR_SWITCH_WAIT; ! SODbg(DBG_USR2, "GpsPacket.PowerSwitch.setDone(): 2d arg 0\n"); } } else { if (call PowerSwitch.set(MICAWB_GPS_POWER,1) == SUCCESS) { state_gps = GPS_PWR_SWITCH_WAIT; ! SODbg(DBG_USR2, "GpsPacket.PowerSwitch.setDone(): 2d arg 1\n"); } } --- 421,430 ---- if (call PowerSwitch.set(MICAWB_GPS_POWER,0) == SUCCESS) { state_gps = GPS_PWR_SWITCH_WAIT; ! GPSDbg(DBG_USR2, "GpsPacket.PowerSwitch.setDone(): 2d arg 0\n"); } } else { if (call PowerSwitch.set(MICAWB_GPS_POWER,1) == SUCCESS) { state_gps = GPS_PWR_SWITCH_WAIT; ! GPSDbg(DBG_USR2, "GpsPacket.PowerSwitch.setDone(): 2d arg 1\n"); } } *************** *** 463,467 **** } } else if (state_gps == GPS_RX_SWITCH_WAIT) { ! SODbg(DBG_USR2, "GpsPacket.IOSwitch.setDone(): all switches set \n"); state_gps = GPS_SWITCH_IDLE; signal GpsCmd.SwitchesSet(state_gps); --- 464,468 ---- } } else if (state_gps == GPS_RX_SWITCH_WAIT) { ! GPSDbg(DBG_USR2, "GpsPacket.IOSwitch.setDone(): all switches set \n"); state_gps = GPS_SWITCH_IDLE; signal GpsCmd.SwitchesSet(state_gps); Index: HPLUART1M.nc =================================================================== RCS file: /cvsroot/firebug/mts400/sensors/gps/HPLUART1M.nc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** HPLUART1M.nc 13 Nov 2003 00:17:18 -0000 1.2 --- HPLUART1M.nc 18 Nov 2003 22:45:11 -0000 1.3 *************** *** 1,3 **** ! /* tab:4 * * --- 1,6 ---- ! /* -*- Mode: C; c-basic-indent: 3; indent-tabs-mode: nil -*- */ ! ! ! /* * * *************** *** 78,92 **** } implementation ! { ! #include "SODebug.h" async command result_t UART.init() { ! SODbg(DBG_BOOT, "HPLUART1M.UART1.init() initialized\n"); // UART will run at: (N-8-1) ! // Baud UBRR1L Value: ! // 115kbps, 15 ! // 19.2kbps 47 ! // 9600 bps 95 // 4800 bps 191 --- 81,97 ---- } implementation ! { ! ! #define GPS_DEBUG 0 ! #include "gps_debug.h" async command result_t UART.init() { ! GPSDbg(DBG_BOOT, "HPLUART1M.UART1.init() initialized\n"); // UART will run at: (N-8-1) ! // Baud UBRR1L Value: ! // 115kbps, 15 ! // 19.2kbps 47 ! // 9600 bps 95 // 4800 bps 191 *************** *** 107,120 **** return SUCCESS; } ! ! async command result_t UART.stop() { ! outp(0x00, UCSR1A); ! outp(0x00, UCSR1B); ! outp(0x00, UCSR1C); ! return SUCCESS; ! } default async event result_t UART.get(uint8_t data) { return SUCCESS; } ! TOSH_SIGNAL(SIG_UART1_RECV) { if (inp(UCSR1A) & (1 << RXC)) --- 112,125 ---- return SUCCESS; } ! ! async command result_t UART.stop() { ! outp(0x00, UCSR1A); ! outp(0x00, UCSR1B); ! outp(0x00, UCSR1C); ! return SUCCESS; ! } default async event result_t UART.get(uint8_t data) { return SUCCESS; } ! TOSH_SIGNAL(SIG_UART1_RECV) { if (inp(UCSR1A) & (1 << RXC)) *************** *** 122,126 **** } ! default async event result_t UART.putDone() { return SUCCESS; } TOSH_INTERRUPT(SIG_UART1_TRANS) { signal UART.putDone(); --- 127,135 ---- } ! default async event result_t UART.putDone() { ! ! return SUCCESS; ! } ! TOSH_INTERRUPT(SIG_UART1_TRANS) { signal UART.putDone(); *************** *** 129,134 **** async command result_t UART.put(uint8_t data) { outp(data, UDR1); ! sbi(UCSR1A, TXC); ! return SUCCESS; } --- 138,143 ---- async command result_t UART.put(uint8_t data) { outp(data, UDR1); ! sbi(UCSR1A, TXC); ! return SUCCESS; } |
From: <do...@us...> - 2003-11-18 22:42:52
|
Update of /cvsroot/firebug/mts400/interfaces In directory sc8-pr-cvs1:/tmp/cvs-serv26329 Added Files: Sensor.nc Log Message: Please read through this file. This is how we should eventually handle writing the application. --- NEW FILE: Sensor.nc --- /* -*- Mode: C; c-basic-indent: 3; indent-tabs-mode: nil -*- */ /** * "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." * */ /** * $Id: Sensor.nc,v 1.1 2003/11/18 22:42:49 doolin Exp $ */ /** * A standard interface for Sensors driven by TinyOS * programs. Sensors come with a wide variety of * capabilities, and this interface is designed to * allow the programmer to wire a sensor without * worrying about whether it needs UART, I2C, ADC * or whatever capabilities. * * The interface reflects the mechanical operation * of the sensor, thus powering on a sensor need not * result in immediate sampling. * * @author David M. Doolin */ interface Sensor { /** * Turn on the power, but do not collect data. If the * sensor provides data given power, this command should * set a state where that data is only fired back through * dataReady when the user is ready for it. Any system * bus, I/O state, whatever should be left in a consistent * state. Implementation should be idempotent. * * @return Whether powering on was successful. */ command result_t powerOn(); /** * Notify components that the component has been started * and is ready to receive other commands. Implementation * should be idempotent. */ event result_t powerOnDone(); /** * Stop the component cleanly, without leaving * the system in an inconsistent state. * * @return Whether stopping was successful. */ command result_t powerOff(); /** * Notify components that the component has been stopped. */ event result_t powerOffDone(); command result_t setSamplingInterval(uint16_t sampling_rate); command result_t getSamplingInterval(uint16_t sampling_rate); /** startSampling puts the sensor into a state such that * the dataReady event will fire when data is ready to * to be collected from the sensor. */ command result_t startSampling(); /** Stop the sensor from sampling. */ command result_t stopSampling(); /** This is for collecting a single sample from * sensor. It should leave whatever state the sensor is * in unchanged. It should not be used in conjunction * with startSampling(). */ command result_t sampleOnce(); /** dataReady is where the main action is; * the entire system exists to support what * happens here. */ event result_t dataReady(); /** Some sensors, for example the Leadtek 9546 sued on * the Crossbow MTS420CA, are programmable. It isn't * practicle to define one interface to handle * programming for arbitrary sensors, but any of the * sensors that can be programmed should have the * capability to read from some sort of I/O, which * an implementation of this command should encapsulate. */ command result_t loadProgram(uint8_t * program); } |
From: <do...@us...> - 2003-11-18 22:11:00
|
Update of /cvsroot/firebug/mts400/interfaces In directory sc8-pr-cvs1:/tmp/cvs-serv18743/interfaces Log Message: Directory /cvsroot/firebug/mts400/interfaces added to the repository |
From: <do...@us...> - 2003-11-15 22:28:39
|
Update of /cvsroot/firebug/dave In directory sc8-pr-cvs1:/tmp/cvs-serv20546 Added Files: .cvsignore bus.c switch.c Log Message: Ported some nesc code to c for doing control of flow experiments. --- NEW FILE: .cvsignore --- *.o *.exe --- NEW FILE: bus.c --- // uint8_t state; // uint8_t busid; unsigned char state; unsigned char busid; typedef unsigned char uint8_t; typedef unsigned int result_t; #define SUCCESS 1 #define FAIL 0 #define FALSE 0 #define TRUE !FALSE typedef unsigned int bool; enum { IDLE = 0, BUSY, OFF }; int uniqueCount(char *interfaces) { return 0; } void busReleased() { uint8_t i; // tell everyone the bus has been released for (i = 0; i < uniqueCount("BusArbitration"); i++) { if (state == IDLE) { // BusArbitration_busFree[i](); } } } result_t StdControl_init() { state = OFF; return SUCCESS; } result_t StdControl_start() { if (state == OFF) { state = IDLE; return SUCCESS; } return FAIL; } result_t StdControl_stop() { if (state == IDLE) { state = OFF; return SUCCESS; } return FAIL; } result_t BusArbitration_getBus(uint8_t id) { bool gotbus = FALSE; // atomic { if (state == IDLE) { state = BUSY; gotbus = TRUE; busid = id; } // } if (gotbus) return SUCCESS; return FAIL; } result_t BusArbitration_releaseBus(uint8_t id) { if ((state == BUSY) && (busid == id)) { state = IDLE; } busReleased(); return SUCCESS; } result_t BusArbitration_busFree(uint8_t id) { return SUCCESS; } int main(int argc, char **argv) { return 0; } --- NEW FILE: switch.c --- /* * -*- Mode: C; c-basic-indent: 3; indent-tabs-mode: nil -*- */ #include <stdio.h> #define SUCCESS 1 enum { GET_SWITCH = 0, SET_SWITCH, SET_SWITCH_ALL, SET_SWITCH_GET, IDLE }; char sw_state; /* current state of the switch */ char state; /* current state of the i2c request */ char addr; /* destination address */ char position; char value; typedef int result_t; #define DBG_USR2 stdout #define WBDbg fprintf #if 0 result_t StdControl_init() { state = IDLE; WBDbg(DBG_USR2, "MicaWBSwitch.StdControl.init() state: %i\n,", state); return I2CPacketControl_init(); } result_t StdControl_start() { WBDbg(DBG_USR2, "MicaWBSwitch.StdControl.start() state: %i\n", state); return I2CPacketControl_start(); } result_t StdControl_stop() { WBDbg(DBG_USR2, "MicaWBSwitch.StdControl.stop() state: %i\n", state); return I2CPacketControl_stop(); } result_t Switch_get(uint8_t id) { WBDbg(DBG_USR2, "MicaWBSwitch.Switch.get() state: %i\n", state); if (state == IDLE) { state = GET_SWITCH; WBDbg(DBG_USR2, "MicaWBSwitch.Switch.get() state: %i\n", state); if (id == 0) return I2CSwitch0.readPacket(1, 0x01); else if (id == 1) return I2CSwitch1.readPacket(1, 0x01); } state = IDLE; return FAIL; } result_t Switch_set (uint8_t id, char l_position, char l_value) { WBDbg(DBG_USR2, "MicaWBSwitch.Switch.set() state: %i\n", state); if (state == IDLE) { state = SET_SWITCH_GET; value = l_value; position = l_position; if (id == 0) return I2CSwitch0_readPacket(1, 0x01); else if (id == 1) return I2CSwitch1_readPacket(1, 0x01); } state = IDLE; return FAIL; } result_t Switch_setAll[uint8_t id] (char l_value) { WBDbg(DBG_USR2, "MicaWBSwitch.Switch.setAll() state: %i\n", state); if (state == IDLE) { state = SET_SWITCH_ALL; sw_state = l_value; if (id == 0) return I2CSwitch0.writePacket(1, (char *) (&sw_state), 0x01); else if (id == 1) return I2CSwitch1.writePacket(1, (char *) (&sw_state), 0x01); } state = IDLE; return FAIL; } result_t I2CSwitch0_writePacketDone(bool result) { WBDbg(DBG_USR2, "MicaWBSwitch.I2CSwitch0.writePacketDone() state: %i\n", state); if (state == SET_SWITCH) { state = IDLE; signal Switch.setDone[0] (result); } else if (state == SET_SWITCH_ALL) { state = IDLE; signal Switch.setAllDone[0] (result); } return SUCCESS; } result_t I2CSwitch1_writePacketDone(bool result) { WBDbg(DBG_USR2, "MicaWBSwitch.I2CSwitch1.writePacketDone() state: %i\n", state); if (state == SET_SWITCH) { state = IDLE; signal Switch.setDone[1] (result); } else if (state == SET_SWITCH_ALL) { state = IDLE; signal Switch.setAllDone[1] (result); } return SUCCESS; } result_t I2CSwitch0_readPacketDone(char length, char *data) { WBDbg(DBG_USR2, "MicaWBSwitch.I2CSwitch0.readPacketDone() state: %i\n", state); if (state == GET_SWITCH) { if (length != 1) { state = IDLE; signal Switch.getDone[0] (0); return SUCCESS; } else { state = IDLE; signal Switch.getDone[0] (data[0]); return SUCCESS; } } if (state == SET_SWITCH_GET) { if (length != 1) { state = IDLE; signal Switch.getDone[0] (0); return SUCCESS; } sw_state = data[0]; if (position == 1) { sw_state = sw_state & 0xFE; sw_state = sw_state | value; } if (position == 2) { sw_state = sw_state & 0xFD; sw_state = sw_state | (value << 1); } if (position == 3) { sw_state = sw_state & 0xFB; sw_state = sw_state | (value << 2); } if (position == 4) { sw_state = sw_state & 0xF7; sw_state = sw_state | (value << 3); } if (position == 5) { sw_state = sw_state & 0xEF; sw_state = sw_state | (value << 4); } if (position == 6) { sw_state = sw_state & 0xDF; sw_state = sw_state | (value << 5); } if (position == 7) { sw_state = sw_state & 0xBF; sw_state = sw_state | (value << 6); } if (position == 8) { sw_state = sw_state & 0x7F; sw_state = sw_state | (value << 7); } data[0] = sw_state; state = SET_SWITCH; I2CSwitch0_writePacket(1, (char *) &sw_state, 0x01); return SUCCESS; } return SUCCESS; } #endif result_t I2CSwitch1_readPacketDone(char length, char *data) { WBDbg(DBG_USR2, "MicaWBSwitch.I2CSwitch1.readPacketDone() state: %i\n", state); if (state == GET_SWITCH) { if (length != 1) { state = IDLE; //signal Switch_getDone[1] (0); return SUCCESS; } else { state = IDLE; //signal Switch_getDone[1] (data[0]); return SUCCESS; } } if (state == SET_SWITCH_GET) { if (length != 1) { state = IDLE; //signal Switch_getDone[1] (0); return SUCCESS; } sw_state = data[0]; if (position == 1) { sw_state = sw_state & 0xFE; sw_state = sw_state | value; } if (position == 2) { sw_state = sw_state & 0xFD; sw_state = sw_state | (value << 1); } if (position == 3) { sw_state = sw_state & 0xFB; sw_state = sw_state | (value << 2); } if (position == 4) { sw_state = sw_state & 0xF7; sw_state = sw_state | (value << 3); } if (position == 5) { sw_state = sw_state & 0xEF; sw_state = sw_state | (value << 4); } if (position == 6) { sw_state = sw_state & 0xDF; sw_state = sw_state | (value << 5); } if (position == 7) { sw_state = sw_state & 0xBF; sw_state = sw_state | (value << 6); } if (position == 8) { sw_state = sw_state & 0x7F; sw_state = sw_state | (value << 7); } data[0] = sw_state; state = SET_SWITCH; //I2CSwitch1.writePacket(1, (char *) &sw_state, 0x01); return SUCCESS; } return SUCCESS; } #if 0 result_t Switch_setDone[uint8_t id] (bool result) { WBDbg(DBG_USR2, "MicaWBSwitch.Switch.setDone() id: %i\n", id); return SUCCESS; } result_t Switch_setAllDone[uint8_t id] (bool result) { WBDbg(DBG_USR2, "MicaWBSwitch.Switch.setAllDone() id: %i\n", id); return SUCCESS; } result_t Switch_getDone[uint8_t id] (char l_value) { WBDbg(DBG_USR2, "MicaWBSwitch.Switch.getDone() id: %i\n", id); return SUCCESS; } #endif int main(int argc, char **argv) { int length = 0; /** Garbage value to get it to compile. */ char data[] = {"asdfsg"}; I2CSwitch1_readPacketDone(length, data); return 0; } |
From: <do...@us...> - 2003-11-15 17:29:42
|
Update of /cvsroot/firebug/dave In directory sc8-pr-cvs1:/tmp/cvs-serv1364 Added Files: README Log Message: Added README --- NEW FILE: README --- This project is for dave to do stuff that would otherwise pollute the tree. At various times, code here may be copied into the main project, then deleted from here. Or just deleted to save space when this is no longer necessary. |
From: <do...@us...> - 2003-11-15 02:01:14
|
Update of /cvsroot/firebug/mts400/apps/TestSwitch In directory sc8-pr-cvs1:/tmp/cvs-serv2344/mts400/apps/TestSwitch Added Files: .cvsignore Makefile Log Message: Added ignore, Makefile to switch test applet. --- NEW FILE: .cvsignore --- build *~ --- NEW FILE: Makefile --- COMPONENT=switchtest SENSORBOARD=i2c include ../Makelocal include $(TOSROOT)/apps/Makerules |
From: <do...@us...> - 2003-11-15 02:00:32
|
Update of /cvsroot/firebug/mts400/sensors/i2c In directory sc8-pr-cvs1:/tmp/cvs-serv2229/sensors/i2c Modified Files: MicaWbSwitch.nc MicaWbSwitchM.nc Log Message: Instrumenting the mica switch and adding test programs to monitor control of flow. Index: MicaWbSwitch.nc =================================================================== RCS file: /cvsroot/firebug/mts400/sensors/i2c/MicaWbSwitch.nc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MicaWbSwitch.nc 13 Nov 2003 00:17:18 -0000 1.2 --- MicaWbSwitch.nc 15 Nov 2003 02:00:28 -0000 1.3 *************** *** 84,88 **** StdControl = MicaWbSwitchM; ! Switch = MicaWbSwitchM; MicaWbSwitchM.I2CPacketControl -> I2CPacketC.StdControl; --- 84,88 ---- StdControl = MicaWbSwitchM; ! Switch = MicaWbSwitchM; MicaWbSwitchM.I2CPacketControl -> I2CPacketC.StdControl; Index: MicaWbSwitchM.nc =================================================================== RCS file: /cvsroot/firebug/mts400/sensors/i2c/MicaWbSwitchM.nc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MicaWbSwitchM.nc 15 Nov 2003 00:44:51 -0000 1.2 --- MicaWbSwitchM.nc 15 Nov 2003 02:00:28 -0000 1.3 *************** *** 88,92 **** implementation { ! #define WB_DEBUG 0 #include "wbswitch_debug.h" --- 88,92 ---- implementation { ! #define WB_DEBUG 1 #include "wbswitch_debug.h" |