[Tinyos-help] oscilloscope failing to read successfully (mica z, mts300, tinyOS 2.0)

Murray, Ben Ben.Murray at thalesgroup.com
Wed Oct 3 10:24:56 PDT 2007


Okay, getting readDone signalled now, but to do that I had to alter
DemoSensorC() SineSensorC() in SenseAppC ... perhaps the micaz doesn't like
the VoltageC() which is what it's DemoSensorC file maps it to?

http://www.tinyos.net/dist-2.0.0/tinyos-2.x/doc/html/tutorial/lesson5.html
suggests that the micaz won't work with VoltageC() as its demosensor
("Because the micaz doesn't have any built-in sensors its DemoSensorC uses
system library component like ConstantSensorC or SineSensorC, which return
"fake" sensor data") but VoltageC is what the MicaZ's DemoSensorC
file/wrapper/thing seems to have mapped it to?

not sure if this has been fixed for MicaZ for more recent TOS releases...?

hopefully this means my (current ;-) problem is solved!

-Ben


> 
> further investigations, still no readings...
> 
> I modified the SenseC application that comes with tos2 to 
> check the error_t
> returned for both the Read.read() call and the Read.readDone() event:
> 
> calling Read.read() returns SUCCESS the first two times it is 
> called, and
> EBUSY thereafter, no matter what the interval between calls 
> (I tried from
> 100ms up to 10,000ms...)
> 
> Read.readDone is never signalled (!?) at all. Not once. I 
> have tried with a
> few different motes and a few sensor boards, so it's not h/w 
> as far as I can
> tell. Is there perhaps something that is not getting booted 
> up / initiated /
> released properly? It's using the default Demosensor 
> (VoltageC) I also tried
> just setting a OneShot timer to call Read.read() to see if 
> readDone was
> signalled - it wasn't after a minute or two...
> 
> Could this have anything to do with the tos2 updates recently 
> and something
> I recall seeing called I2C or was that something else? Or 
> possibly some
> setting for the micaz (with or without a mts300 cb attached) 
> that is no
> longer working properly? Perhaps the ADC isn't starting up? 
> ...but it is all
> the default TinyOS (2.0 --> 2.0.2 updated a while ago) setup 
> etc etc. Make
> output in p.s.
> 
> Thanks!
> -Ben
> 
> 
> -------------------------
> $ makei
> mkdir -p build/micaz
>     compiling SenseAppC to a micaz binary
> ncc -o build/micaz/main.exe -Os -finline-limit=100000 -Wall -Wshadow
> -Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb
> -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())'
> -fnesc-dump='referenced(interfacedefs, components)'
> -fnesc-dumpfile=build/micaz/wiring-check.xml SenseAppC.nc -lm
>     compiled SenseAppC to build/micaz/main.exe
>             3084 bytes in ROM
>               47 bytes in RAM
> avr-objcopy --output-target=srec build/micaz/main.exe 
> build/micaz/main.srec
> avr-objcopy --output-target=ihex build/micaz/main.exe 
> build/micaz/main.ihex
>     writing TOS image
> cp build/micaz/main.srec build/micaz/main.srec.out
>     installing micaz binary using mib510
> uisp -dprog=mib510 -dserial=/dev/ttyS0 --wr_fuse_h=0xd9 
> -dpart=ATmega128
> --wr_fuse_e=ff  --erase --upload if=build/micaz/main.srec.out
> Firmware Version: 2.1
> Atmel AVR ATmega128 is found.
> Uploading: flash
> 
> Fuse High Byte set to 0xd9
> 
> Fuse Extended Byte set to 0xff
> rm -f build/micaz/main.exe.out build/micaz/main.srec.out
> -------------------------
> 
> 
> 
> > 
> > As an update to this, I tried using the basic provided 
> > application "Sense"
> > (cygwin\opt\tinyos-2.x\apps\Sense) with a slightly modified 
> > "read.read" line
> > as follows:
> > 
> >     if (call Read.read() != SUCCESS) {
> > 		call Leds.led0Toggle();
> > 	}
> > 
> > And all I get is led0 toggling -- it never returned a result. 
> >  We have tried
> > to trace it to work out where the error_t is not being set to 
> > SUCCESS, but
> > it gets rather confusing with all the arbiters and resource 
> management
> > thrown in!
> > 
> > My current installed version is tinyOS 2.0.2 -- are there any 
> > known problems
> > or updates regarding the Read.read interface that could cause 
> > it to never
> > returned a SUCCESS.
> > 
> > Regards
> > Ben
> > 
> > 
> > > I am not quite sure what is going wrong but the oscilloscope 
> > > application
> > > (unmodified) does not seem to be able to get a SUCCESS 
> upon calling
> > > Read.read() and therefore simply sits there and blinks 
> > Led0.  It fails
> > > whether or not I connect a sensor board -- any idea what 
> > > might be causing
> > > the problem?
> > 

*******************************************************************************
Please consider the environment before printing this email.
*******************************************************************************
This email and any files transmitted with it are intended solely for the use of
the individual or entity to whom they are addressed and may not be divulged to
any third party without the express permission of the originator.  Any views
expressed in this message are those of the individual sender, except where the
sender specifically states them to be the views of Thales Research & Technology
(UK) Limited.
*******************************************************************************



More information about the Tinyos-help mailing list