Changing Channel - Bitcloud.

Go To Last Post
32 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I have been using Bitcloud with RZRAVEN kit.
I got a doubt, when i changed the channel using CS_WriteParameter function the channel is not exactly changed but when i read it using CS_ReadParameter i am getting the new channel value.

I went through the bitcloud documentation and did a little bit of googling but i am unable to find an exact way to change the channel.

Can any one help me ?

I am using IAR Compiler and
RZRAVEN hardware.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

Last Edited: Fri. Oct 16, 2015 - 02:32 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krishnabalan wrote:
I went through the bitcloud documentation and did a little bit of googling but i am unable to find an exact way to change the channel.
You need to leave and start network again after changing the parameter.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
You need to leave and start network again after changing the parameter.

Oh thank i will try it now.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Alexru,

in your applications, do you change channel(s) or you work on one channel?

Have you ever had problems with interference with I don't know, WLANs, mob. phones ?

Is it good idea to pick up channels that are at least polluted like described in video I posted :

http://www.youtube.com/watch?v=P...

https://www.avrfreaks.net/index.p...

Thank you!

Last Edited: Thu. Dec 2, 2010 - 12:57 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mesko wrote:
in your applications, do you change channel(s) or you work on one channel?
In all sample applications you can specify mask of channels to try, but once started network always works on one channel.

mesko wrote:
Have you ever had problems with interference with I don't know, WLANs, mob. phones ?
If application handles all kinds of failures correctly and performs retries interference is usually not a problem. Although it may affect throughput.

mesko wrote:
Is it good idea to pick up channels that are at least polluted like described in video
It is a good idea to specify a big set of channels so stack will have something to select from. And if there is application-specific criteria of interference (unacceptable drop of throughput, packets loss, etc) it is a good idea to restart network so new channel is selected.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Alexru,

I want a node to tell the co-ordinator that the node wants to leave the network. I searched in bitcloud documentation and get to know that ZDO_MgmtLeaveReq_t can do, but this is passed via ZDO_ZdpReq function.

But i guess this Zdp is to tell other node to leave the network. So which function i can make use in my case.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krishnabalan wrote:
So which function i can make use in my case.
Use ZDP request and specify node's own address, node will inform others and leave the network.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Use ZDP request and specify node's own address, node will inform others and leave the network.

Okay. Thank you.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Alexru,

I have one more doubt. Is it possible to transmit voice in air using the RAVEN kits as it has microphone and speaker in it.

I guess the speed of the transmission is 250Kbits/second.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krishnabalan wrote:
I guess the speed of the transmission is 250Kbits/second.

It is possible using raw RF-chip operation.

250 is raw data rate, but there are inter-frame gaps, so actual data rate drops a bit.

After you apply headers retransmissions, acknowledgments and all that stuff (in case of ZigBee) effective sustained data rate becomes more like 90 kbps.

Look around there is thread here for transferring sound using megaRF, same thing basically.

Of course there are audio codecs that capable of doing pretty good job with far less bandwidth than 90 kbps, but I'm not sure that they can be implemented in AVR.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Of course there are audio codecs that capable of doing pretty good job with far less bandwidth than 90 kbps, but I'm not sure that they can be implemented in AVR.

Yes codecs cannot be implemented in AVR that too along with bitcloud.

Thanks for your response !

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,

I have a end device and coordinator communicating between each other. The end device is countinously sending 5000 packets to the coordinator.

But when transmitting, the end device suddenly sends "Network leave command" and leaves the network.

Iam not sending any network leave command. How does the end device sends network leave on its own.

Can anyone help.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krishnabalan wrote:
But when transmitting, the end device suddenly sends "Network leave command" and leaves the network.
It is possible that device can't get its poll requests delivered to parent or it can't get responses.

Do you use APS ACKs? How often device sends data? Describe your scenario.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No i am not using APS ACKs. I am sending the packets continoulsy.

Like as soon as the dataconfirmation callback for a transmitted frame is received, am sending the next frame.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Is it good to change the poll rate to high value before sending the stream of 5000 packets

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krishnabalan wrote:
Is it good to change the poll rate to high value before sending the stream of 5000 packets

If you mean lower value of CS_INDIRECT_POLL_RATE then it is OK, but to reasonable value, preferably not lower than 100 ms.

But if you don't use APS ACKs that should make no difference.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Alexru

I got a problem and this seems to be the cause for all my confusion.

After the end device and coordinator forms the network, the coordinator updates the network with ZDO_CHILD_REMOVED_STATUS after 2 minutes. I tried changing CS_INDIRECT_POLL_RATE, CS_END_DEVICE_SLEEP_PERIOD etc but no change happens.

If i leave the network without transmitting any stream of data, the coordinator issues that status in 120 seconds.

I revert back to the older version of Bitcloud but the same problem exists. In the sniffer i am unable to see the poll request command which has to be sent by the end device. I made sure that the CS_AUTO_POLL to be true.

Can u please help me to solve this issue.

Many thanks in advance !

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How should I know what your ED does? Something stops it from transmitting data requests.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
How should I know what your ED does? Something stops it from transmitting data requests.

Actually end device application gives control back to stack, the application does work only when it gets dataindication callback for the registered end point.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Describe what CS_* settings are not at their default values. And application workflow. Post your code, if it is possible.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Even though the end device sends packet the coordinator issues the removed status in 2 minutes.
The strange part is i can able to see the acknowledgement sent by coordinator for the receiving packets.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The following are the CS settings:

#define CS_RF_TX_POWER 3
#define CS_DUPLICATE_REJECTION_TABLE_SIZE 1
#define CS_END_DEVICE_SLEEP_PERIOD 100000UL
#define CS_INDIRECT_POLL_RATE 100000UL

#define CS_POWER_FAILURE false
#define CS_AUTO_POLL true

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krishnabalan wrote:
#define CS_INDIRECT_POLL_RATE 100000UL
This value should be less than 5-10 seconds.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Leaving the poll rate to be default also gives the same bug. I hope you have received my code that i have sent as pvt message.

thank you

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krishnabalan wrote:
Leaving the poll rate to be default also gives the same bug. I hope you have received my code that i have sent as pvt message.
Application looks good.

Why do you need such sleep period when application does not even sleeps?

Do you have sniffer? Can you post sniffer logs of ED joining?

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes i have sniffer i will post it now.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As i am unable to attach the sniffer log file generated by Daintree here, i have sent the file to your gmail account.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Why do you need such sleep period when application does not even sleeps?

Because the coordinator or parent issues the ZDO_CHILD_REMOVED status based on the sleep period, poll rate. I have kept the value to be so high.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In your rejoin request in capability information field ED states that is has rxOnWhenIdle, this flag should be set to 0.

See CS_RX_ON_WHEN_IDLE parameter.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow hurray !

You are absolutely right !. I made the parameter zero and now i am getting everything as intended.

Thank you very much Alexru.

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Conclusion here is that problem would be solved faster if you post ALL changes to default values of CS_* parameters.

LE: Reading spec might also help.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Reading spec might also help.

Its true. I will surely complete reading it soon.

Many thanks !

-Krishna Balan S

-------------------------------------------------------------------------

"Heroes are ordinary people with extraordinary commitment"