uracoli-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [uracoli-devel] Question regarding LQI and ED values [Update]


From: Eric Jennings
Subject: Re: [uracoli-devel] Question regarding LQI and ED values [Update]
Date: Mon, 27 Aug 2012 22:16:02 -0700

On Aug 27, 2012, at 9:36 PM, Axel Wachtler wrote:

> Hi Eric,
> 
> at first thanks for the positive feedback. But if there are things to 
> improve, please let us also know about it.

I certainly will.  It's been fantastic thus far--very easy to get basic testing 
going, and a base from which to build lots of ideas.


> > One, my LQI is almost always at 255 but ED is at 0.  Once in a while
> > LQI kicks down to 240, or 215, and once in a while to something like
> > 116.  I figure this is just noise or whatever.  But why is ED always
> > at 0?  I read the blogpost regarding LQI/ED relationships:
> > (http://uracoli.blogspot.com/2010/05/playing-
> > with-xmplradiorange.html), but I'm curious why I can't seem to get a
> > positive number for the ED value?
> 
> This question is asked very many people. So ED=0 means that the frame
> that you received was at a level at or below -90dBm
> (see RSSI_BASE_VALUE in the data sheet). LQI=255 simply means that is
> was perfectly correlated. Since the receiver can receive frames down to
> a level of -100dBm, the pair ED=0 and LQI=255 is an often seen pair.
> 
> If you move the boards closer together, then you will definitely see
> higher ED values (0 ... 0x53) (see also section 9.5.4 Energy Detection
> (ED) of the ATmega128RFA1 data sheet.)

Super, thanks for the clear description.  That makes sense.

I moved the board from the basement to literally right next to the host board 
(maybe 8 cm apart), and these are the ping values I'm now getting:

OK {'short_addr':0x01, 'boardname':'sparkfun', 'swversion':0x01, 'crc':0x0000, 
'pagesize':0x100, 'lqi':255, 'ed':42}

The datasheet says that the max ED value is 0x53, so with the boards right next 
to each other, I'm only getting around -48dBm, or half of the ED value that's 
theoretically possible?  Meh, maybe these Sparkfun boards aren't as great as I 
first thought.


> > Two, about one in 20 times or so, as I'm pinging the end node, I'll
> > get an "ERR ping timeout".  Is this typical for the LQI/ED values I'm > 
> > seeing?
> 
> As you tell below, the boards are 40ft / 12m away in a building. I guess that 
> there are people and things (e.g. doors) are moving during
> the day. Probably WLAN/WiFi is also active. So this can may cause
> temporary interruptions of the RF link.
> this moving objects can cause fadings and

Yes, there is people activity going on between the two boards, and a wifi 
router on the first floor.  So perhaps this is expected.


>> In working through the random dropped pings, I was digging through the
>> data sheet and came across the XTAL_MODE setting, to turn off the
>> internal oscillator if using an external oscillator.  I gave it a shot,
> > disabling the internal osc.
> 
> Did you change the value of XTAL_MODE from 0xf to 0x4?

I did, I think.  Digging through uracoli source, I didn't find a macro for it, 
but it is defined, so I set it like this, in my wibohost_init() function:

trx_bit_write(XTAL_MODE, 4);

Though to do it consistently with the rest of the codebase, I'd probably make 
it its own macro.


>> Now I get 100% ping response!
> Could this result be time dependent and more correlated with
> the presence of people and traffic in the rooms?

Very possible.  I'm hesitant to attribute the better ping responses with this 
change, though it was telling as I tried it within a short time duration.  I 
will try again tomorrow and see if I get similar response with the rooms 
unoccupied, as well as trying to turn off the wifi base station on the first 
floor.  


>> Correlation, not sure it's causation yet, but I'm very happy.
>> The two radio boards are about 40 feet away from each other, one
>> in a room on the second story, and the other down in the basement
>> surrounded by concrete.
> 
>> I'm quite pleased, despite the negative reviews I read about the Sparkfun 
>> dev boards being of poor RF design.
> 
> Could it be, that sparkfun took the critics and did a rework of the board?

I don't think so, as I bought mine about 8 months, ago, and per the comments 
made about 6 months ago on the product page 
(https://www.sparkfun.com/products/9734):  

Q: Is the second revision planned for this board? I’d like to get one but I am 
not sure whether to wait for the next revision or to order now.
A:  We may revise it, but there’s nothing specific in the works now. We will be 
building more of these, and will maybe someday revise this, but you’d be 
waiting quite awhile for a new one.

I did have to add some mods to each board--specifically, adding a 22uF cap on 
the VCC rail (power supply would dip too low sometimes on TX apparently), as 
well as tie TST and CLKI to a 1K pull-down resistor (they're not connected by 
default on the board).  Other than that, seems to be fine.


> If you like, you can post the board abstractions that you have made and
> we can add the sparkfun permanently to the source tree (I don't have one
> here, to cross check it).

I certainly will.  I have my clone of uracoli on a public github repo at the 
moment, along with some other build helper scripts specific to my project, but 
I'm happy to submit my Sparkfun additions.  

What's the preferred method to get you proposed updates to the codebase?  Is 
there an analog to github's "pull request"?

Thanks so much-
Eric


reply via email to

[Prev in Thread] Current Thread [Next in Thread]