On Sun, Sep 18, 2011 at 09:52:59PM -0700, George Nychis wrote:
> I am trying to understand the CCA code a bit, and this code seems extremely
> relevant:
>
> if((last_post == CCA_POST)
> && (*MACA_CLK > last_post_time + 4))
> {
> GPIO->DATA_RESET.GPIO_43 = 1;
> if(bit_is_set(*MACA_STATUS, maca_status_busy)) {
> GPIO->DATA_SET.GPIO_06 = 1;
> maca_busy = 1;
> last_post = NO_POST;
> } else {
> GPIO->DATA_RESET.GPIO_06 = 1;
> maca_busy = 0;
> last_post = NO_POST;
> }
>
> last_post = NO_POST;
> last_post_time = *MACA_CLK;
> }
>
> So, it looks like a clock periodically drives MACA status updates. On a
> status
> update, a bit is checked to see if the channel is busy or not? (if(bit_is_set
> (*MACA_STATUS, maca_status_busy))). If it is busy, the relevant variables are
> set.
The MACA works through sequences. These can be started or stopped by
scheduling maca clocks, but they mostly stop on there own (or generate
an interrupt).
post_cca() actually sets the CCA sequence. Then the above code is runs
4 maca clocks later (determined empirically).
>
> What's the significance of "4" here? (last_post_time+4). Also, is the sensing
> tunable?
The CCA sequence runs on the current channel as selected with the call
to set_channel.
Can I adjust the threshold which determines whether the channel is
> busy or not within MACA? Making it more or less sensitive, basically?
I believe this is listed somewhere in the r0 datasheet:
http://mc1322x.devl.org/files/MC1322xRM-r0.pdf
-Mar.
------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the
BlackBerry® mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry® DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1
_______________________________________________
Linux-zigbee-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel