Re: [Tinyos-help] Problems with Atmel128 I2C-Components (iris) with slow I2C sensors

2011-12-18 Thread András Bíró
Hi Sebastian,

Did the modified driver solved your problem? Becous if it does, I
would send this to a friend of mine who can commit to tinyos-main, and
hopefully this will be part of tinyos 2.1.2.

Andris

On Fri, Dec 9, 2011 at 6:58 PM, András Bíró  wrote:
> Hi Sebastian,
>
> On Fri, Dec 9, 2011 at 2:30 PM, Sebastian Dölker
>  wrote:
>> Hi Andris,
>>
>> Yesterday I continued with my i2c problems and discovered the following:
>>
>> The debug values:
>> 20:03:44 "cmd" 0x00 0x00
>> 20:03:44 "ir read done.."
>> 20:03:44 "init" 255 3
>> 20:03:44 "cmd" 0x04 0x01
>> 20:03:44 "cmd" 0x25 0x01
>> 20:03:44 "int" 0x08 0x01
>> 20:03:44 "cmd" 0x45 0xb5
>> 20:03:44 "int" 0x40 0xb5
>> 20:03:44 "cmd" 0x45 0xb5
>> 20:03:44 "int" 0x00 0x6a <- bus error
>> 20:03:44 "cmd" 0x05 0x6a
>> 20:03:45 "*start*"
>> 20:03:46 "*start*"
>> 20:03:46 "bb read done.."
>> 20:03:46 "***start***"
>> 20:03:46 "cmd" 0x04 0x6a
>> 20:03:46 "*error*" <- error means EBUSY is returned..
>> 20:03:47 "***start***"
>> 20:03:47 "cmd" 0x14 0x6a
>> 20:03:47 "*error*"
>> 20:03:47 "bb read done.."
>> 20:03:48 "***start***"
>> 20:03:48 "cmd" 0x14 0x6a
>> 20:03:48 "*error*"
>>
>
> Thanks, it's much more easier to fix with this help.
>
>> So the i2c-status is 0x00.
>> According to the atmel128 datasheet page 224 this means bus error.
>> To recover one should set TWSTO flag and clear TWINT („by writing a logic
>> one to it“?!)
>
> Yes, the TWINT flags seems a bit illogical, but that's how you can
> clear it. This translates to send a stop condition (TWSTO), and clear
> the interrupt flag.
>
>> I didn’t find this procedure in the device driver sources. Is the bus error
>> state handled in the driver?
>
> You're right, it doesn't handle it. Actually I don't like the
> interrupt handler (I2C.commandComplete) at all, since it doesn't care
> with the TWSR, it persumes that with its own internal state variable.
> However, when I fixed some of the bugs in this, I wanted to change as
> little as possible, becouse it's an old component, and some users may
> count on this not quite good solution.
>
>> I tried to add this procedure but I wasn’t successful..
>> Must this be added in the driver?
>> Have you an idea where?
>
> I attached the modified dirver, but I just tested it with a working
> i2c sensor. It should do the recovery procedure, disable the i2c
> interrupt, and return with FAIL.
>
>>
>> One more, in the attachment I added a picture of the sequence while the
>> error occurs.
>> Channel 1 is i2c-clock, channel 2 i2c-data. At the beginning the i2c sensors
>> are read out successfully.
>> Then a sensor pulls clock low for ca. 2.3 seconds. Probably because of that
>> the bus error occurs.
>
> The atmega1281 datasheet mention that bus error only occurs when an
> illegal start/stop condition happens. It would be more intresting to
> see the last part of the failed communication in detail, to check for
> this. Although if that's the case, we couldn't do much more, a slave
> device should never send start/stop, so this is a bug in your sensor.
> Handling bus error interrupt should fix it, but it's just a
> workaround.
>
> Andris
>
>>
>> Thanks in advance!
>> Best regards
>> Sebastian

___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


Re: [Tinyos-help] Ultrasonic Sensor with telosB

2011-12-18 Thread Michael Schippling
What fails?
Have you made it past the hardware interfacing?
Having trouble accessing GPIO?
Not getting a good signal?
Not able to time the signals correctly?

One problem may be that the Ping-thing runs on 5v and
the telsob runs on 3.3v. I "think" you can ignore the
over-voltage on the telos pin at low currents (even
though the specs say you shouldn't), but the telos
may not pull high enough to trigger the Ping. You'll
need an oscilloscope to see what's happening at that
level.

For GPIO there is some kind of GeneralIO component
and there used to be a 32Khz timer (and might even
be a micro-sec timer now), but I don't use T2 so I
don't know what they are.

MS


Mukesh Miraculous wrote:
> Hi everyone, Kindly help me. I am using Ping))) ultrasonic sensor from 
> parallax. I am trying to connect it through GPIO but it fails. I require 
> code urgenlty . kindly help me people.
> 
> 
> 
> 
> ___
> Tinyos-help mailing list
> Tinyos-help@millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
___
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help