Home/Support/Support Forum/How do I permanently change join time with AT commands on router API?

How do I permanently change join time with AT commands on router API?

0 votes
I try NJ command to 00 followed by AC command. When I power down XBee and power up again XBee is still FE. Also tried NJ command with 09 command type. I get status back indicating command successfully completed for both the NJ command and the AC command.

As long as power is up the 00 is in effect. But when powered down and up again FE. I can change with XCTU when I write the value and it survives power down. I thought AC command was the same as writing on XCTU.
asked Feb 17, 2016 in RF Solutions and XBee by JP Miller New to the Community (5 points)

Please log in or register to answer this question.

3 Answers

+1 vote
What is the exact XBee product and firmware version you are working with?
answered Feb 17, 2016 by mvut Veteran of the Digi Community (13,104 points)
0 votes
Part is XB24-Z7PIT-004 RevC
XB24-ZB
ZigBee Router API
23A7
answered Feb 17, 2016 by JP Miller New to the Community (5 points)
reshown Feb 17, 2016 by halovapor
You don't change it with AT commands direct such as +++ ATNJ3, <CR>...  You need to issue the associated API frame as this code and product only supports either AT or API.
Thank you,
Understood.  I was using API frames:

Before starting, XCTU was used to set NJ to FE and then written.  Then the device was inserted into target system.

The following is what was done:
1.    7E 00 04 08 01 4E 4A 5E  to query to find out joining parameter.
2.    Get response of FE.
3.    7E 00 05 08 01 4E 4A 00 5E to set to 00.
4.    Type 8 frame should be applied automatically
5.    7E 00 04 08 01 4E 4A 5E  to query
6.    Get response of 00.
7.    Power down device
8.    Power up device
9.    7E 00 04 08 01 4E 4A 5E  to query to find out joining parameter.
10.    Get response of FE.  
11.    Expected response of 00.

The following was also tried:
1.    7E 00 04 08 01 4E 4A 5E  to query to find out joining parameter.
2.    Get response of FE.
3.    7E 00 05 08 01 4E 4A 00 5E to set to 00.
4.    7E 00 04 08 01 41 43 72 additional apply changes
5.    7E 00 04 08 01 4E 4A 5E  to query
6.    Get response of 00.
7.    Power down device
8.    Power up device
9.    7E 00 04 08 01 4E 4A 5E  to query to find out joining parameter.
10.    Get response of FE.  
11.    Expected response of 00.
The following was also tried using frame type 9:

1.    7E 00 04 09 01 4E 4A 5D to query to find out joining parameter.
2.    Get response of FE.
3.    7E 00 05 09 01 4E 4A 00 5D to set to 00.
4.    Get acknowledgement with 00.
5.    7E 00 04 08 01 41 43 72  apply changes
6.    7E 00 04 09 01 4E 4A 5D to query
7.    Get response of 00.
8.    Power down device
9.    Power up device
10.    7E 00 04 09 01 4E 4A 5D to query to find out joining parameter.
11.    Get response of FE.  
12.    Expected response of 00.

Inserting device into XCTU confirms NJ is still FE.
0 votes
OK,

Reading the right places in the documentation helps a lot! In general parameters are made permanent in NV RAM with the WR command. I had confused this function with the AC command. But WR does not work for NJ node joining.

So how does XCTU make this permanent? It does. I have done it repeatedly.

More fundamentally I still want my target system to set the NJ parameter to 00 if it is anything else and make it permanent. We under rare circumstances will make it something else for a short duration to set up an new network in a controlled environment but does not allow joining otherwise. I would like that protection from power up.

I can use XCTU but it is too easy for a device to slip by where this parameter is not set to 00 in NV.
answered Feb 18, 2016 by JP Miller New to the Community (5 points)
Yes setting the NJ to a given value and then issuing the WR will write it to non volatile memory.
The following commands would set the NJ to a 0 value and write it to memory.
7E 00 05 08 01 4E 4A 00 5E
7E 00 04 08 01 57 52 4D
Thank you !

I was setting NJ to 00 to disable joining.  I read repeatedly that WR did not work with disable joining.  I was not sufficiently careful to note that DJ was not the same thing as NJ = 00.
...