My project is created by Freescale BeeKit -- project type: Other ZigBee Applications -> Black Box. Filled out whatever I wanted in the popup menu, and then exported to IAR.
At first, I only set it to one channel from the popup menu, so it's set to channel 15. Then after realizing that this channel is busy, I'd like to go back and set it to more channels so that I have the freedom to test more than one channel.
So I import it back into BeeKit, searched for channel, and chose channels 11-19. Just to be clear, this variable is: mDefaultValueOfChannel_c and value is: 0x000FF800
I verified the solution, BeeKit says success. So I export it back into IAR, reload it all, and download onto the hardware. I use Test Tool 12 to set the channels to 18 using "ZTC-SetChannel.Request", confirm says success (yay!) but just to verify, I click on "ZTC-GetChannel.Request," the confirm says channel 15.
Is that puzzling? Why would I get a success from set channel confirm, only to show that it did not even change? Also, how do I successfully make this work?
EDIT: Just in case, I tried to use ZTC-SetPanID.Request, and got the confirm success, and then when I do ZTC-GetPanID.Request, I got the desired results. So not sure why ZTC-SetChannel.Request doesn't do what I want it to do.
Hi, I hope you're doing well. I apologize for the delay.
The command ZTC-SetChannel.request is used to change the channel where your ZigBee device will create or scan for a network, depending on the case. If you set the channel list in BeeKit with more than one channel, you are configuring where the ZC is able to scan to make an Energy Detect and based on that it will create the network in the best channel; then, the ZR/ZE will scan the channels that you have set looking for the ZC and its network.
This command doesn’t change the channel on the fly, this command is used before to create/join the network so if you change the channel during the connection this won’t be affected.
Let me know if you need further details.
ahh finally an answer!
That's what I thought, so at least I'm on the right track. I was under the assumption that choosing all channels means that I can activate one of them whenever I want, as opposed to choosing one channel will make me stuck with that channel, no matter what I change it to. However, my assumption seem to be correct.
Please see attached for the log, I included 3 comments (search for //) to see what I mean. In this case, I set the channel to be 19 in the beekit. Then using test tool, I set the channel to 18, start the network, and somehow still on channel 19, as if I never set it in the first place.
This is really confusing. My ultimate goal for this question is to learn how to set the channel to whatever I want on the fly, even if it means restarting the network. I want to be able to "set the channel" to 18, and then I'll change all the nodes to 18, and then turn all devices on, and they're automatically added in the network with the specified channel I set (under the assumption that all devices have the same PAN ID)
Could you please provide some information?:
- Development platform
- BeeKit version
- Codebase version
- Test Tool version
Have you tried using?:
- Latest Kinetis BeeStack ZigBee Protocol Stack (rev. 5.0.0) (RTOS and KSDK based).