Customer Release Notes - ZB and SE firmware
/*******************************
XBee-Ember Release: v4x54
EmberZNet  Release: v4.6.5.1 stack
Based on 4x55
Build Date November 3, 2014
*******************************/
XBZBS2C-118
  MAX_RELAY_COUNT increased from 11 to 20 in source-route.c
  KY must be 0 in routers to avoid doubly APS encrypted source routed packets during association.
  Custom build for Owlet.
  Alpha release rebuilt using 4x55 as baseline source code to include latest fixes.

/*******************************
XBee-Ember Release: v4x55
EmberZNet  Release: v4.6.5.1 stack
Based on 4x53
Build Date October 31, 2014
*******************************/
Fixes:
XBZBS2C-123 Transparent mode throughput was 15% of the rate observed with 4043.
Throughput equal to that of 4043 has been restored.

XBZBS2C-126 Fragmented message fragments could have their message type
overwritten if a message of a different message type were sent immediately
afterwards.

XBZBS2C-129 Rx message length was corrected for fragmented ZDO messages.

Features:
XBZBS2C-120 Support power setting compensation for the XBee PRO S2C SMT with the
new Power Amplifier.  The old S2C SMT PRO had a HV value of 0x21.  The new S2C
SMT has a HV value of 0x30.

Other Notes:
When Source Routing is enabled (ATAR !=0xFF) -
To send a source routed transmission, the application must send a Create Source
Route API frame (0x21) to the XBee to create a source route in its internal
source route table. After sending the Create Source Route API frame, the
application can send data transmission or remote command request frames as
needed to the same destination, or any destination in the source route. Once
data must be sent to a new destination (a destination not included in the last
source route), the application must first send a new Create Source Route API
frame. If a Create Source Route API frame does not precede data frames, transmit
errors (0x32 - resource error) may occur. The XBee can buffer one source route
that includes up to 11 hops (excluding source and destination).

/*******************************
XBee-Ember Release: v4x54
EmberZNet  Release: v4.6.5.1 stack
Based on 4x53
Build Date September 26, 2014
*******************************/
XBZBS2C-118
  MAX_RELAY_COUNT increased from 11 to 20 in source-route.c
  KY must be 0 in routers to avoid doubly APS encrypted source routed packets during association.
  Custom build for Owlet.
/*******************************
XBee-Ember Release: v4x53
EmberZNet  Release: v4.6.5.1 stack
Based on 4x52
Build Date September 12, 2014
*******************************/
Fixes:
XBZBS2C-111
  SPI Tx was locking up.  Handling for SPI polling by the master was
  added - assert nATTN and clock in a couple nonsense bytes like 0xFF 0xFF
  to see if the XBee has data to Tx over the SPI.

/*******************************
XBee-Ember Release: v4x52
EmberZNet  Release: v4.6.5.1 stack
Based on 4x50
Build Date September 3, 2014
*******************************/
Fixes:
XBZBS2C-110
  When a sleeping end device receives a packet,	DOUT should not precede ~SLEEP.

/*******************************
XBee-Ember Release: v4x51
EmberZNet  Release: v4.6.5.1 stack
Based on 4x50
*******************************/

Fixes:
XBZBS2C-106 SP is invalid on 4050 version
In the case where SN>1, SM5:
  ~SLEEP was pulsing during each Off (SP) cycle, when it should do so after every On (SN*SP) time interval cycle;
  SO2 option was not implemented, now it is;
  The ASSOC LED should pulse during the Off wake cycles;
  The WH time should be observed during the Off wake cycles;
  ONSLEEP should assert during an Off cycle if there is data;
  IO Sampling should occur during the Off cycle.

/*******************************
XBee-Ember Release: v4x50
EmberZNet  Release: v4.6.5.1 stack
Based on 4x43
*******************************/

WARNING:	
If your network hosts XBee S2C SMT PROs, and the network is operating on channel 26,
you must move your network to another channel before updating firmware to 4050.
Failure to do so will result in the following changes to the configuration of the XBee S2C SMT PROs after the update:
1) The configured setting of SC will be set to the 4050 default value of 0x7FFF.
2) If the device was joined and operating on channel 26 before the update,
a coordinator will form a new network on a valid channel (11-25), and a router/end device will seek to join a network.

Features:
XBZBS2C-101 RT command added for RTS timeout control
If a configuration command change occurs (or certain diagnostic messages, etc.)
while RTS flow control is enabled and RTS is deasserted,
the XBee will hang (be unresponsive to remote commands or serial commands) until RTS is asserted.
If this hanging is unacceptable, enable the RTS timeout,
and the hang will end after the timeout elapses.
The parameter range is 0x00-0xFF.
0x00 is default (RTS timeout disabled).
0x01-0xFF is in time units of 100 milliseconds (100 ms to 25.5 ms).

XBZBS2C-103 End Device was polling with weak tx power when SN>1
XBZBS2C-100 What's different between S2C and S2C-PRO except the power?
	For End Devices configured with SN>1, power was not being applied to the Power Amplifier during short wakes.

XBZBS2C-68 SPI communications interruption
XBZBS2C-83 S2C TH SPI switches back and forth from the SPI and UART
	After the first use of the SPI interface, subsequent serial communications are to be exclusively done in SPI until the next power reset.  This was not enforced correctly.	

XBZBS2C-5  DC, DO moved to networking section in MXI file

XBZBS2C-85 CR command parameter range changed from 1:63 to 0:63;
a 0 setting yields an effective setting of the default value (3).

XBZBS2C-77 As of SE 5030, ZB 4031, only channel 26 has its Tx Power capped at 3 dBm regardless of PL/PM settings.

XBZBS2C-59 Verbose Joining Mode is enabled with ATDC10 and uses a new API frame, 0x98.
See the User Manual 90002002_N.pdf for a full description.

Firmware supports the new S2C Throughhole/TH, otherwise known as the S2C DIP, as well as the S2C SMT.

HS command returns the Hardware Series number 0x0202.

Fixes:
XBZBS2C-93 MXI file function string now reads ZIGBEE PRO/Reg/TH PRO/TH Reg for HV=0x21/0x22/0x2D/0x2E respectively.

XBZBS2C-99 sending more than 64 bytes from coordinator to router with EE=1 is broken
	With 0x20 Tx options (use APS encryption) enabled, a status of 0x74 (message too long)
	was returned for unicast packets with payloads of 64+ bytes.

XBZBS2C-95 Loopback cluster ID can send 84 byte payloads

XBZBS2C-98 [DN] command exits command mode after successful response is received

XBZBS2C-80 Router had trouble joining when EE=1
On older firmware, polling for AI==0 to see when a join had succeeded would be interfere with joining.  A workaround for older firmware is to substitute waiting for the modem status message [ 7E 00 02 8A 00 75 ] which shows association has succeeded.

XBZBS2C-91 CB1 now broadcasts Node Identification frames to more than just the Coordinator

XBZBS2C-88 Setting D9=5 no longer disables the associate LED when SM=1

XBZBS2C-90 Setting D9=4,5 no longer interferes with IO sampling

XBZBS2C-76 WH, PO command descriptions added to MXI file

XBZBS2C-79 TO command description added to MXI file

XBZBS2C-70 DC command description added to MXI file

XBZBS2C-67 VL command response's MfgStr returns 16 characters instead of 4.

XBZBS2C-64 DIO9 DIO functions fixed.  D94, ONSLEEP is now low regardless of sleep state; D95, ONSLEEP is now high regardless of sleep state.

XBZBS2C-55 JV is supported on End Devices.  Enable this for an end device to communicate with the Coordinator using APS encryption soon after association.
For older versions (4043 and earlier), there are two workarounds.
1) Send a IEEE_addr_req to the coordinator before attempting to send APS encrypted messages to the Coordinator
7E 00 19 11 01 FF FF FF FF FF FF FF FF 00 00 00 00 00 01 00 00 00 00 01 00 00 00 00 F3
or
2) Send a message from the Coordinator to the End Device.
Thereafter the End Device will be able to send APS encrypted messages to the Coordinator.

XBZBS2C-47 Coordinator hang with CTS/RTS flow control enabled.
Serial interrupt handlers have been redesigned to fix this problem.

XBZBS2C-51 Command mode is no longer exited during a pending AT command.
Command mode will persist until the pending AT command times out, and then will be extended for a full command mode timeout interval.

XBZBS2C-27 &X command now returns "OK" in command mode.

XBZBS2C-44 Routers can now join with EE enabled.

XBZBS2C-42 FR returns 0x00 modem status instead of 0x01.

XBZBS2C-35 WH command has been added to mxi files.

XBZBS2C-14 DO80 command now works if entered after association has completed.

XBZBS2C-33 With EE enabled, the first transmission of a 255 byte payload is no longer truncated by 5 bytes.

XBZBS2C-16 With RS-485 enabled, de-asserts are now managed as expected.

A coordinator now sends a Serial Loopback response immediately in response to a broadcast request.




/*******************************

XBee-Ember Release: v4x44

EmberZNet  Release: v4.6.5.1 stack

Based on 4x43

*******************************/

Fixes:

XBZBS2C-37 Ember radio lockup when remote ATDB command sent

Issue was a radio with RTS flow control enabled (ATD61) and RTS deasserted was sent a remote command. Upon receiving the command the XBee hung (ASSOC led stopped blinking,
no response to local commands) until RTS was asserted.


Note: The XBee firmware will drop packets if the TxBuffer lacks space to hold them.

/*******************************
XBee-Ember Release: v4x43
EmberZNet  Release: v4.6.5.1 stack
Based on 4x42
*******************************/
Features:
- None

Fixes:
- Fixed OTA recovery issue where Bootloader ACK message was being truncated due to channel being switch too early for the ACK message to be sent to the target node.


Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.
2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force the sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK requirement can be disable
by setting ATDO option bit5 "Disable ACK for I/O Sampling".


/*******************************
XBee-Ember Release: v4x42
EmberZNet  Release: v4.6.5.1 stack
Based on 4x41
*******************************/
Features:
- Enabling ATDO bit7 will modify ATNW to not leave network until the coordinator is found by detecting different CH or OI setting.

- Changed the SPI timeout for the SPI Clock rate to be set as low as 1Khz (currently it 50Khz).

Fixes:
- Fixed the 16 bit address Tx packet issue where it did not send the 64bit address to destination device.

Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.
2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force the sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK requirement can be disable
by setting ATDO option bit5 "Disable ACK for I/O Sampling".


/*******************************
XBee-Ember Release: v4x41
EmberZNet  Release: v4.6.5.1 stack
Based on 4x40
Build Date May 30, 2013
*******************************/
- TxOption 0x01 disables retries (and route repair).  RxOption 0x01 indicates transmitter disabled retries.
- BD range increased from 0-7 to 0-0x0A
- nonstandard baud rates are permitted but not guaranteed
- NI, DN, ND string parameters support upper and lower case
- self addressed fragmentable messages now return the self-addressed Tx Status code (0x23) instead of simply success (0x00)
- ND with string parameter no longer exits command mode after first response
- ND with string parameter now ignores any subsequent responses after first response

/*******************************
XBee-Ember Release: v4x40
EmberZNet  Release: v4.6.5.1 stack
Based on 4x32 and 5x32
Build Date May 8, 2013
*******************************/
- Implemented binding and multicasting.
- Implemented new AT&X command to clear the binding and group tables.
- Implemented new Tx options for indirect addressing thru binding (0x04) and use multicast (0x08).
- Implemented one button build for ZB and SE targets.  Release folders are created and XCTU update folder is updated.

/*******************************
XBee-Ember Release: v5x32
EmberZNet  Release: v4.6.5.1 stack
Based on 4x32 and 5x23
*******************************/

- Implemented new ATDC command for additional device control, bitwise options are:
  ATDC   Bit0 - Enable Joiner Global Link key.
         Bit1 - NWK Leave Request Not allowed.
- Implemented new PLKE Modem status.
    MODEM_PLKE_INITIATED       = 0x14,
    MODEM_PLKE_SUCCESS         = 0x15,
    MODEM_PLKE_TABLE_FULL      = 0X16,
    MODEM_PLKE_NOT_AUTHORIZED  = 0x17,
    MODEM_PLKE_INVALID_TC_REQ  = 0x18,
    MODEM_PLKE_TC_UPDATE_FAIL  = 0x19,
    MODEM_PLKE_BAD_EUI64       = 0x1A,
    MODEM_PLKE_LK_REJECTED     = 0x1B,
    MODEM_PLKE_UPDATE          = 0x1C,
    MODEM_PLKE_CLEAR_LK_TABLE  = 0x1D,
- Implemented the ability to clear a Partner Link Key entry when the Link Key table becomes full. If the Link key
  table is full you'll get Tx transmit status of TX_STATUS_LK_TABLE_FULL (0x27). When getting this status the host
  can clear an entry to make room for a new device by doing the following sequence.
    - Use ATKT<index> command to read device Link key table entry's.
    - Use ATKD<index> to delete an device entry to make room for a new partner (PLKE) device.

Fixes:
- Link key table now gets properly cleared when leaving network due to Management ZDO leave request.

Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the device
into a state where it always report an ATAI value of 0xA8.
2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force
a sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK
requirement can be disable by setting ATDO option bit5 "Disable ACK for I/O Sampling".


/*******************************
XBee-Ember Release: v4x32
EmberZNet  Release: v4.6.5.1 stack
Based on 4x24
*******************************/

New features:
- Upgraded Ember stack from 4.2.0 to 4.6.5.1, this required major restructuring of the Application code due
  to Ember Application Framework AFv1 to AFv2 design changes.
- Implemented 5 sec break for restoring device default settings.
  > The 5 sec break option is only enabled only if both DIN or DOUT are in GPIO_PERIPHERAL mode (1)
    otherwise it is presumed that the UART is disabled and those pins are being used for other functions.
- Implemented Encrypted APS leave command, Tx packet format is as follows:
  > Api Tx Explicit Frame type = 0x11
  > Source End Point = 0xE6
  > Destination End Point = 0xE6
  > Cluster ID = 0x0023
  > Profile ID = 0xC105
  > Tx option = 0x20
  > Payload = <Transaction sequence number: 1 byte> <EUI64: 8 bytes>

  The status for Encrypted APS leave command will be AT command response (0x88) frame type.

Fixes:
 - Router/End devices will only send I/O sample data packet if joined to
   an valid network.
 - Fixed Self-Address packet failure when sending fragmented packets.


Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.
2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force the sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK requirement can be disable
by setting ATDO option bit5 "Disable ACK for I/O Sampling".


/*******************************
XBee-Ember Release: v4x24
EmberZNet  Release: v4.2.0 stack
Based on 4x23 and 5123
Build Date Feb 26, 2013
*******************************/

New features:
None

Fixes:
 - Updated MXI ATDO option to disable ACK for both sleep and router devices.
 - Router/End devices will only send I/O sample data packet if joined to
   an valid network.


Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.

2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force the sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK requirement can be disable by setting ATDO option bit5 "Disable ACK for I/O Sampling".


/*******************************
XBee-Ember Release: v4x23
EmberZNet  Release: v4.2.0 stack
Based on 4x22 and 5123
Build Date Feb 5, 2013
*******************************/

New features:
None

Fixes:
 - Fixed sleepy device timeout issue when sleep period is set greater than 6 mins.

Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.



/*******************************
XBee-Ember Release: v4x22
EmberZNet  Release: v4.2.0 stack
Based on 4x21 and 5123
Build Date Jan 25, 2013
*******************************/

New features:
None

Fixes:
 - Fixed ATAS network scan lockup issue when using ATII command.

Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.


/*******************************
XBee-Ember Release: v4x21
EmberZNet  Release: v4.2.0 stack
Based on 4x20 and 5123
Build Date Jan 22, 2013
*******************************/

New features:
- Added HIGH_RAM_CONCENTRATOR option via ATDO, host must send AR=0 to update routes.
- Added NO_ACK_IO_SAMPLING option via ATDO for sleepy devices. The default operation the sleepy device will
  remain awake until getting APS ACK or APS ACK retry timeout.
  ATDO   Bit0 - Enable Temperature Compensation Updates on S2B.
         Bit1 - Reserved for Smart Energy devices.
         Bit2 - 0/1 = First or Best Response.
         Bit3 - Disable NULL Transport Key (Coordinator Only).
         Bit4 - Disable Tx Packet Extended Timeout.
         Bit5 - Disable ACK for End Device I/O Sampling.  (New)
         Bit6 - Enable High Ram Concentrator.             (new)

 - Added the ability to do OTA recovery of a target which has reverted to default channel 13 due
   to some kind of OTA interruption during a normal OTA update. Here's the sequence required once
   a target has reverted to default channel 13:

    - Send AT%U <Target EUI>           // Sends broadcast message to target to start OTA sequence.
    - Do normal OTA sequence           // Send FW update packets to local/remote OTA cluster
    - Send AT%U <0>                    // Send terminate OTA recovery command when completed with OTA update.

   Note: If the coordinator is the source and updater send AT%U command as a local AT command, otherwise
         send as a remote AT command.

Fixes:
 - Updated MXI file with NW and JV description.
 - The ATAS command now sends API zero length payload modem status message when AS command is completed. For
   transparent mode you’ll get a <CR> after AS command is completed.
 - Fixed NR command not resetting radio properly.
 - Fixed Watchdog resets and flash verify write failures due to:
      * bad handling of rxbuffer overflows;
      * bad command processing when bailouts occur;
      * out of bounds write when processing a NI command response;
 - Fixed I/O sampling issue where getting duplicate samples if ST is set very low and SN set above 1.
 - Fixed serial loopback issue where there's no loopback response after a device initially joins the network.
 - Fixed issue, if P3 or P4 are set to anything other than default, the module will lock up upon receiving any
   remote AT command.
 - Fixed issue to always remain in API non-escaped mode when using SPI.
 - JV/JN response not being random between 2-8 seconds due to initial random number seed being static.
 - When AT Coordinator sends to unknown address it will intermittently lockup when trying to enter command mode.
 - End device retry count is incorrect when initially sending packet to unknown address after waking up.
 - End device taking excessive time to send fragmented packets.
 - Fixed serial Break issue where the parity not being set to default value when break detected.
 - When sending a TX request to yourself, the status frame indicated that the packet was successfully received
   (0x00) but should show that it is self addressed (0x23)



/*******************************
XBee-Ember Release: v4x20
EmberZNet  Release: v4.2.0 stack
Based on 4x1E and 5123
Build Date Oct 26, 2012
*******************************/


New features:
ATAS command is a previously-undocumented command to perform an “Active Scan” for networks by a coordinator or router.

This is the first release of the S2C firmware with a working ATAS command.  Past versions of the S2B firmware used a different format for the response; an upcoming S2B ZB release will have a compatible response format.

The host receives multiple AT Response frames, with data in the following format:

typedef struct {
       uint8_t      as_type;
       uint8_t      channel;
       uint16_t     pan_be;
       uint8_t      extended_pan_be[8];
       uint8_t      allow_join;
       uint8_t      stack_profile;
       uint8_t      lqi;
       int8_t       rssi;
} xbee_atas_response_t;


Fixes:
 - Updated MXI file with NW and JV description.

Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.


/*******************************
XBee-Ember Release: v5123
EmberZNet  Release: v4.2.0 stack
Based on 4x1E and 5122
Build Date June 27, 2012
*******************************/
New features:
- Device can now use short addressing when sending a packet, must set EUI64 to all 0xFF's and then specfic a valid 16 bit address of the destination device.
- Implemented AT#S command which returns a 16 bit CRC of the private key and the certificate data.
- Implemented new ATDO option to disable extended timeout for APS unicast message retrys.

Fixes:
- Fixed the ATAS command to provide properly formated data when doing an active scan of the network.


Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.


/*******************************
XBee-Ember Release: v4x1E
EmberZNet  Release: v4.2.0 stack
Based on 4x1D and 5122 sources
Build Date April 6, 2012
*******************************/

Fixes:
- Fixed network watchdog issue where router would lockup with AI status of 0x2B
  (ASSOC_DISCOVERING_COORD).
- Fixed Tx status message (0x8B) to properly indicate route discovery was done when
  getting network ACK failure.
- Updated MXI ATPO description to include routers as it can be configured as a
  sleepy device.
- AT devices only, fixed RO command which was causing OTA data to be transmitted
  in mulitple packets.
- Made change to emberStackStatusHandler, to allow rejoining a network even though
  it may get status of EMBER_JOIN_FAILED, due to Ember stack notifying APP it did
  detect a network but it has has different PANID.
- Added function to clear TX Extended Timeout status.
- Made change to report proper route/address discoveries in TX status.
- Made change to spread ND responses over the NT time period (same as 2x70) and to
  keep sleepy device awake for the NT time period. Also added checks to assure
  Tx UART buffer has room for entire response so no data will be dropped.
- Fixed problem for ND+NI commands to timeout properly and to handle ND self-response
  when ATNO=2.
- Made change for sleepy device to report correct Modem status when leaving a network.
- Fixed fragmentation APS message retry issue, to set the correct timeout when the
  extended timeout option is enabled.
- Fixed DO option to revert back to default values when ATRE is executed.


New features:
- Revised the ATDO command (bit3) to disable the NULL Transport key from being sent
  from a Coordinator.
- Revised the ATAS command to work on all devices type, router, coordinator,and
  end-device.



/*******************************
XBee-Ember Release: v5122
EmberZNet  Release: v4.2.0 stack
Based on 5x21 sources
*******************************/
JN, DH, DL, NI, DD, NO, SB, RO, IR, IC commands were removed from mxi file as they are not implemented yet for SE.
EE command added as a read only command to mxi file.
ZU command now returns serially installed public key if it exists,
otherwise returns manufacturing installed public key if it is initialized,
otherwise returns 0x00.


/*******************************
XBee-Ember Release: v5121
EmberZNet  Release: v4.2.0 stack
Based on 5x20 sources, and changes between 3x30 and 3x31.
*******************************/
CR command added to set PAN Id conflict report threshold.
KT command added to dump a hashed link key table record with an index parameter

/*******************************
XBee-Ember Release: v5120
EmberZNet  Release: v4.2.0 stack
Based on 4x1B and 5x18 sources, and changes between 3x28 and 3x30.
*******************************/
July 14, 2011
New Association LED behavior has been implemented:
If the device is Authenticating as either a client or server, the LED will blink at a 50 msec rate.
If the device is a Coordinator, and the network has not yet formed, the LED will be off;
otherwise if no one has authenticated yet, the LED will blink at a 500 msec rate.
If the device is a Router/End Device, and is scanning/associating, the LED will blink at a 100 msec rate;
otherwise if the device is unassociated, the LED will be off.
Otherwise, if LT is zero, the LED will be on;
and if LT is nonzero, the LED will blink at a (LT*10) ms rate.

The AS command (active scan) was enabled for use with smart energy.
The IN command was removed.
End device rejoin was fixed.
VL command reports the datetimestamp of the build with a API frame cmdData string of:
    mmm dd yyyy hh:mm:ss
SE 1.1 KE test case changes were propagated from 3x30.
Module I/O commands were restored: D1, D2, D3, D4, D5, D6, D8, D9, RP, P0, P1, P2, P3, P4, PR, PD, V+;
D0, D7, DB were already part of SE.

May 19, 2011

In general, changes which were made to the SE em250 firmware between 3x28 and 3420, intended to bring the SE em250 firmware into compliance with SE 1.1, which were propagated to 5x18 to form 5x20.

SC range was extended to include channel 26, SC default was left as 0x7FFF.
However, if Channel 26 (0x8000) is present in the SC mask, then transmit power
for all channels is capped at 3 dBm.

AO=0x07 enables passthru of supported ZDO Requests
AO=0x0B enables passthru of binding requests
KT command was added to access the link key table, #ifdef'd out for our internal diagnostic use.  THIS MUST NOT BE RELEASED EXTERNALLY, as it would undercut security.
EP command was added show number of virtual page erasures in the simeeprom.  When this value reaches twice (there are 2 virtual pages) the erasures tolerated by the simeeprom, the device should be replaced.
NH limit was reduced from 30 to 11 to comply with the SE 1.x specification.

New DO (Device Options) command has been added to control a bitmask of options.

DO bit 0x01 enables the temperature compensation option on the XBee S2B.
By default it is enabled.  This option appears in all SE and ZB builds for the XBee S2B.
Disabling Temperature Compensation reduces wake time overhead for sleeping end devices from 13 ms to 2 ms,
but then transmit power may vary by as much as 8 dBm as a function of temperature.

DO bit 0x02 enables the join notification message option on the SE Coordinator.
By default it is disabled.  This option appears in the SE Coordinator builds.
The other 6 bits of DO are held in reserve to support future boolean command options.

DO bit 0x04 enables best response option during joining.
By default it is disabled, which selectes the First Response option.
First response will cause the node to join with the first network to send a beacon response.
A change from the prior release is that the node will continue to dwell on the first response channel in an attempt
to receive beacon responses from all neighbors on that same network as reported in the first beacon response.
Best response will cause the node to search all channels in the SC mask before selecting a network to join.

ZU (the certificate public key) is now readable
KY is no longer reset by ATRE
EO range is now 0..0xFF
Factory Default Settings:
SN default was 0x01, was extended to 0x20 to increase default polling time tolerance for sleeping end devices
CE default is now 0x00 (default to Router mode)
EO default is now 0x08 (default to Router mode)
KY default is now 0x00 (set random on first startup)
NK default is now 0x00 (set random on first startup)

TX Status messages where status is in error will now sometimes show a 16 bit address other than 0xFFFE. Before, they only showed 0xFFFE.

A router's link key table will be reset when it leaves a network.

The value of KY will be retained even if a RE command is given.

DO, ZT, ZU, ZV have been added to the mxi files.


/*******************************
Build date:		March 28, 2012
ZB version:		401D
EZNet version:		4.2 build 53 (GA, certified)
*******************************/

Fixes:
- Fixed CE issue for device to proper detect when it changes between router and   coordinator.
- Fixed RAM corruption issue when source routing takes place when a device is trust center   with encryption enabled.
- Fixed RE issue where the device serial port will lockup due to AP changing from API to   command mode.

New features:
- Added new formatted VL command.


16-bit PAN and 64-bit PAN are both in big-endian byte order.  The as_type field is always 2 (on a Wi-Fi XBee, it�s a 1 and the rest of the response has a different format).

LQI (Link Quality Indicator) is unsigned, higher values are better.  RSSI (Relative Signal Strength Indicator) is signed and lower values are better.


/*******************************
Build date:		Sept 7, 2011
ZB version:		401C
EZNet version:		4.2 build 53 (GA, certified)
*******************************/

Fixes:
- Fixed flash WR issue, causing device to revert back to firmware defaults settings.

New features:
ATAS command is a previously-undocumented command to perform an �Active Scan� for networks by a coordinator.  On the S2B platform, it was only available in the coordinator firmware.  On the S2C platform, the command only works when ATCE=1.

This is the first release of the S2C firmware with a working ATAS command.  Past versions of the S2B firmware used a different format for the response; an upcoming S2B ZB release will have a compatible response format.

The host receives multiple AT Response frames, with data in the following format:

typedef struct {
       uint8_t      as_type;
       uint8_t      channel;
       uint16_t     pan_be;
       uint8_t      extended_pan_be[8];
       uint8_t      allow_join;
       uint8_t      stack_profile;
       uint8_t      lqi;
       int8_t       rssi;
} xbee_atas_response_t;

16-bit PAN and 64-bit PAN are both in big-endian byte order.  The as_type field is always 2 (on a Wi-Fi XBee, it�s a 1 and the rest of the response has a different format).

LQI (Link Quality Indicator) is unsigned, higher values are better.  RSSI (Relative Signal Strength Indicator) is signed and I believe lower values are better.





/*******************************
Build date:		April 15, 2011
ZB version:		401B
EZNet version:		4.2 build 53 (GA, certified)


Fixes:
- Fixed associate LED issue, now is initially ON while its waiting to
  associate to the network.
- Fixed issue with exiting AT mode after changing to AP1 mode of operation.

New features:
- None.
/*******************************
Build date:		April 6, 2011
ZB version:		401A
EZNet version:		4.2 build 53 (GA, certified)


Fixes:
- Fixed problem of API vs. AT mode where the device doesn�t respond
  after sending API frame with AP0 command.


New features:
- None.
/*******************************
Build date:		March 28, 2011
ZB version:		4019
EZNet version:		4.2 build 53 (GA, certified)


Fixes:
- Fixed problem of SPI not responding after the device wakes up. Found
  the SPI port needed to be re-initialized.

Note: Excluded 4017 changes as code is under WDR bug investigation.

New features:
- None.