<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wsn.cse.wustl.edu/index.php?action=history&amp;feed=atom&amp;title=Installing_a_Test_ITS400_Accelerometer_Application</id>
	<title>Installing a Test ITS400 Accelerometer Application - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wsn.cse.wustl.edu/index.php?action=history&amp;feed=atom&amp;title=Installing_a_Test_ITS400_Accelerometer_Application"/>
	<link rel="alternate" type="text/html" href="http://wsn.cse.wustl.edu/index.php?title=Installing_a_Test_ITS400_Accelerometer_Application&amp;action=history"/>
	<updated>2026-11-15T22:25:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.4</generator>
	<entry>
		<id>http://wsn.cse.wustl.edu/index.php?title=Installing_a_Test_ITS400_Accelerometer_Application&amp;diff=1428&amp;oldid=prev</id>
		<title>Liangfok: New page: TinyOS 2.x comes with an application that tests the functionality of the ITS400 sensor board of the Intelmote 2.  The test is located in /opt/tinyos-2.x/tos/sensorboards/im2sb/examples.  T...</title>
		<link rel="alternate" type="text/html" href="http://wsn.cse.wustl.edu/index.php?title=Installing_a_Test_ITS400_Accelerometer_Application&amp;diff=1428&amp;oldid=prev"/>
		<updated>2009-08-25T16:00:50Z</updated>

		<summary type="html">&lt;p&gt;New page: TinyOS 2.x comes with an application that tests the functionality of the ITS400 sensor board of the Intelmote 2.  The test is located in /opt/tinyos-2.x/tos/sensorboards/im2sb/examples.  T...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;TinyOS 2.x comes with an application that tests the functionality of the ITS400 sensor board of the Intelmote 2.  The test is located in /opt/tinyos-2.x/tos/sensorboards/im2sb/examples.  The following output specifically tests the STMicroelectronics LIS3L02DQ accelerometer.&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make intelmote2 debug install bootloader&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/support/make/bootloader.extra:14: warning: ov&lt;br /&gt;
erriding commands for target `program'&lt;br /&gt;
/opt/tinyos-2.x/support/make/pxa27x/jflashmm.extra:13: warning: ignoring old com&lt;br /&gt;
mands for target `program'&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/support/make/bootloader.extra:18: warning: ov&lt;br /&gt;
erriding commands for target `program_input'&lt;br /&gt;
/opt/tinyos-2.x/support/make/pxa27x/jflashmm.extra:18: warning: ignoring old com&lt;br /&gt;
mands for target `program_input'&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/support/make/intelmote2.extra:41: warning: ov&lt;br /&gt;
erriding commands for target `bytes'&lt;br /&gt;
/opt/tinyos-2.x/support/make/pxa27x/pxa27x.rules:102: warning: ignoring old comm&lt;br /&gt;
ands for target `bytes'&lt;br /&gt;
mkdir -p build/intelmote2&lt;br /&gt;
echo  -mcpu=iwmmxt -mfpu=softfpa -defsym BOOTLOADER=1  /opt/tinyos-2.x-contrib/i&lt;br /&gt;
ntelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.x-contrib/intelmote2/&lt;br /&gt;
tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa2&lt;br /&gt;
7x/mmu_table.s -o build/intelmote2/asms.o&lt;br /&gt;
-mcpu=iwmmxt -mfpu=softfpa -defsym BOOTLOADER=1 /opt/tinyos-2.x-contrib/intelmot&lt;br /&gt;
e2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.x-contrib/intelmote2/tos/chi&lt;br /&gt;
ps/pxa27x/pxa27x_util.s /opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x/mmu_&lt;br /&gt;
table.s -o build/intelmote2/asms.o&lt;br /&gt;
    compiling TestSensorC to a intelmote2 binary&lt;br /&gt;
ncc -o build/intelmote2/main.exe -g -fnesc-no-inline -I/opt/tinyos-2.x-contrib/i&lt;br /&gt;
ntelmote2/tos/platforms/intelmote2/chips/da9030 -I/opt/tinyos-2.x-contrib/intelm&lt;br /&gt;
ote2/tos/platforms/intelmote2 -I/opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa&lt;br /&gt;
27x -I/opt/tinyos-2.x-contrib/intelmote2/tos/sensorboards/im2cb -I/opt/tinyos-2.&lt;br /&gt;
x-contrib/intelmote2/tos/sensorboards/xbow_cb -I/opt/tinyos-2.x-contrib/intelmot&lt;br /&gt;
e2/tos/platforms/intelmote2/chips/da9030 -I/opt/tinyos-2.x-contrib/intelmote2/to&lt;br /&gt;
s/platforms/intelmote2 -I/opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x -I/&lt;br /&gt;
opt/tinyos-2.x-contrib/intelmote2/tos/chips/ov7649 -I/opt/tinyos-2.x-contrib/int&lt;br /&gt;
elmote2/tos/chips/ov7670 -Wall -Wshadow -Wnesc-all -target=intelmote2 -fnesc-cfi&lt;br /&gt;
le=build/intelmote2/app.c -board=im2sb -DDEFINED_TOS_AM_GROUP=0x22 -DBOOTLOADER&lt;br /&gt;
-T/opt/tinyos-2.x-contrib/intelmote2/tos/platforms/intelmote2/tos.x -DSYSTEM_COR&lt;br /&gt;
E_FREQUENCY=13 -DSYSTEM_BUS_FREQUENCY=13  TestSensorC.nc -lm  /opt/tinyos-2.x-co&lt;br /&gt;
ntrib/intelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.x-contrib/inte&lt;br /&gt;
lmote2/tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.x-contrib/intelmote2/tos/chi&lt;br /&gt;
ps/pxa27x/mmu_table.s&lt;br /&gt;
In file included from TestSensorC.nc:42:&lt;br /&gt;
In component `TestSensorM':&lt;br /&gt;
TestSensorM.nc: In function `ReadAccelX.readDone':&lt;br /&gt;
TestSensorM.nc:86: warning: passing argument 2 of `Packet.getPayload' makes inte&lt;br /&gt;
ger from pointer without a cast&lt;br /&gt;
In C file:&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HplLIS3L02DQLogicSPIP.nc: At top level:&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HplLIS3L02DQLogicSPIP.nc:67: warning: non-at&lt;br /&gt;
omic accesses to shared variable `mState':&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HplLIS3L02DQLogicSPIP.nc:148: warning:   non&lt;br /&gt;
-atomic write&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HplLIS3L02DQLogicSPIP.nc:165: warning:   non&lt;br /&gt;
-atomic write&lt;br /&gt;
/opt/tinyos-2.x/tos/sensorboards/im2sb/LIS3L02DQInternalP.nc:53: warning: non-at&lt;br /&gt;
omic accesses to shared variable `currentId':&lt;br /&gt;
/opt/tinyos-2.x/tos/sensorboards/im2sb/LIS3L02DQInternalP.nc:83: warning:   non-&lt;br /&gt;
atomic write&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):64: warning: non-atomic accesses to shared variable `errorRes&lt;br /&gt;
ult':&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):72: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):84: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):96: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):120: warning:   non-atomic write&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):121: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):129: warning:   non-atomic write&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):130: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):138: warning:   non-atomic write&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):139: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):63: warning: non-atomic accesses to shared variable `byteResu&lt;br /&gt;
lt':&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):69: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):75: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):75: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):81: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):87: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):87: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):93: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):99: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQReaderP.nc(TestSensorC.Sensor.Ha&lt;br /&gt;
lLIS3L02DQReaderP):99: warning:   non-atomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQControlP.nc:58: warning: non-ato&lt;br /&gt;
mic accesses to shared variable `clientResult':&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQControlP.nc:67: warning:   non-a&lt;br /&gt;
tomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQControlP.nc:72: warning:   non-a&lt;br /&gt;
tomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQControlP.nc:77: warning:   non-a&lt;br /&gt;
tomic read&lt;br /&gt;
/opt/tinyos-2.x/tos/chips/lis3l02dq/HalLIS3L02DQControlP.nc:82: warning:   non-a&lt;br /&gt;
tomic read&lt;br /&gt;
TestSensorM.nc: In function `TestSensorM$ReadAccelX$readDone':&lt;br /&gt;
TestSensorM.nc:86: warning: passing arg 2 of `TestSensorM$Packet$getPayload' mak&lt;br /&gt;
es integer from pointer without a cast&lt;br /&gt;
    compiled TestSensorC to build/intelmote2/main.exe&lt;br /&gt;
           66316 bytes in ROM&lt;br /&gt;
             576 bytes in RAM&lt;br /&gt;
            9216 bytes in STACK&lt;br /&gt;
          252352 bytes available in HEAP&lt;br /&gt;
xscale-elf-objcopy --output-target=binary build/intelmote2/main.exe build/intelm&lt;br /&gt;
ote2/main.bin.out&lt;br /&gt;
    installing intelmote2 binary using the USB boot loader&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/tools/platforms/intelmote2/bootloader//USBLoa&lt;br /&gt;
derHost.exe -p build/intelmote2/main.bin.out&lt;br /&gt;
Program Mode, File name = build/intelmote2/main.bin.out&lt;br /&gt;
File Size 66316&lt;br /&gt;
Device not detected&lt;br /&gt;
Device not connected to USB. Retry&lt;br /&gt;
Device not detected&lt;br /&gt;
Device not connected to USB. Retry&lt;br /&gt;
Device not detected&lt;br /&gt;
Device not connected to USB. Retry&lt;br /&gt;
USB Communication Failed. Device not connected to USB.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
The application compiled above, but USBLoaderHost failed to find the Intelmote2.  This is a common occurrence.  Just disconnect/reconnect the USB cable, jiggle it, and remove an add-on boards attached to the Intelmote2 until it is able to detect the mote.  Eventually, you should see the following output of a successful image transfer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make intelmote2 debug reinstall bootloader&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/support/make/bootloader.extra:14: warning: ov&lt;br /&gt;
erriding commands for target `program'&lt;br /&gt;
/opt/tinyos-2.x/support/make/pxa27x/jflashmm.extra:13: warning: ignoring old com&lt;br /&gt;
mands for target `program'&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/support/make/bootloader.extra:18: warning: ov&lt;br /&gt;
erriding commands for target `program_input'&lt;br /&gt;
/opt/tinyos-2.x/support/make/pxa27x/jflashmm.extra:18: warning: ignoring old com&lt;br /&gt;
mands for target `program_input'&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/support/make/intelmote2.extra:41: warning: ov&lt;br /&gt;
erriding commands for target `bytes'&lt;br /&gt;
/opt/tinyos-2.x/support/make/pxa27x/pxa27x.rules:102: warning: ignoring old comm&lt;br /&gt;
ands for target `bytes'&lt;br /&gt;
xscale-elf-objcopy --output-target=binary build/intelmote2/main.exe build/intelm&lt;br /&gt;
ote2/main.bin.out&lt;br /&gt;
    installing intelmote2 binary using the USB boot loader&lt;br /&gt;
/opt/tinyos-2.x-contrib/intelmote2/tools/platforms/intelmote2/bootloader//USBLoa&lt;br /&gt;
derHost.exe -p build/intelmote2/main.bin.out&lt;br /&gt;
Program Mode, File name = build/intelmote2/main.bin.out&lt;br /&gt;
File Size 66316&lt;br /&gt;
Device not detected&lt;br /&gt;
Device not connected to USB. Retry&lt;br /&gt;
Device detected&lt;br /&gt;
Device detected&lt;br /&gt;
GET_IMAGE_DETAILS Received.&lt;br /&gt;
ImgSize=66316, Num Packets= 1088&lt;br /&gt;
Total Packets Uploaded = 0, 0.00% completed&lt;br /&gt;
Sending CRC Check command 62169&lt;br /&gt;
Total Packets Uploaded = 546, 50.00% completed&lt;br /&gt;
Sending CRC Check command 59977&lt;br /&gt;
Image Download Completed&lt;br /&gt;
CRC of the Image = 28566, Total Size = 66316&lt;br /&gt;
Time taken for Upload 4271 Milli Seconds&lt;br /&gt;
Image Verification Completed.&lt;br /&gt;
Loading Image to boot location and marking it as golden.&lt;br /&gt;
Time Elapsed till IMG_VERIFY 6990 Milli Seconds&lt;br /&gt;
Time Elapsed 10583 Milli Seconds&lt;br /&gt;
Successfully copied image to boot location.&lt;br /&gt;
&lt;br /&gt;
Mapped Boot Image to golden. Booting New Image.&lt;br /&gt;
&lt;br /&gt;
Overall Time Elapsed 13240 Milli Seconds&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Execution ==&lt;br /&gt;
After the application is transferred, install the ITS400 sensor board and the UART board onto the Intelmote2 and reboot the mote.&lt;br /&gt;
&lt;br /&gt;
Then, launch the Java application that comes with the test.  You should see the following output, which displays the raw acceleration reading.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Liang Fok@liang-mbp /opt/tinyos-2.x/tos/sensorboards/im2sb/examples&lt;br /&gt;
$ java TestSensor -comm serial@COM6:115200&lt;br /&gt;
serial@COM6:115200: resynchronising&lt;br /&gt;
Received packet. Value= 724&lt;br /&gt;
Received packet. Value= 725&lt;br /&gt;
Received packet. Value= 728&lt;br /&gt;
Received packet. Value= 729&lt;br /&gt;
Received packet. Value= 718&lt;br /&gt;
Received packet. Value= 730&lt;br /&gt;
Received packet. Value= 732&lt;br /&gt;
Received packet. Value= 742&lt;br /&gt;
Received packet. Value= 720&lt;br /&gt;
Received packet. Value= 740&lt;br /&gt;
Received packet. Value= 738&lt;br /&gt;
Received packet. Value= 738&lt;br /&gt;
Received packet. Value= 739&lt;br /&gt;
Received packet. Value= 735&lt;br /&gt;
Received packet. Value= 689&lt;br /&gt;
Received packet. Value= 825&lt;br /&gt;
Received packet. Value= 760&lt;br /&gt;
Received packet. Value= 669&lt;br /&gt;
Received packet. Value= 821&lt;br /&gt;
Received packet. Value= 756&lt;br /&gt;
Received packet. Value= 835&lt;br /&gt;
Received packet. Value= 896&lt;br /&gt;
Received packet. Value= 757&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Liangfok</name></author>
		
	</entry>
</feed>