What is the factory default Xbee Zigbee Programmable Variant Operation?

My understanding and some related questions;
Two processors, one Radio (Ember) and one (Freescale) for custom firmware development. The Freescale intercepts the UART lines to the Ember.

When the programmable variant comes from the factory the firmware on the freescale processor allows AT or API mode commands to be passed to the Radio module from the UART. This is my assumption because I’ll be darned if I can find anything that explains it.

QUESTION - is that all the default Freescale firmware does? If not, where can I learn what this 

When you write custom firmware for the Freescale Processor using code warrior and download it via BDM port, you overwrite the default firmware loaded at the factory. You no longer will be able to talk via XCTU (AT or API mode) because that functionality has been overwritten in FLASH by your new application.

If, for example, you setup the first sample application in the SDK to toggle an LED with XBIB user button, that is ALL it will do. You have overwritten the default factory firmware that passes through AT or API mode commands from XCTU or otherwise via UART port.

QUESTION - to recover the factory firmware on the Freescale Processor you must use the recovery procedure in XCTU?

QUESTION - does this recovery procedure restore both the Freescale  default factory firmware AND update the EMBER radio based on the version you select?

The default code that is on the Freescale processor just allows for transparent data to pass thru the freescale processor to the Ember processor. Nothing more.

If you erase the firmware, you would need to port that code back over via the BDM programmer and the Code Warrior software.

XCTU can only force firmware on to the Ember processor.

1 Like

Excellent! If I want to restore the factory default Freescale Processor code is that where I simply execute the first step of the ‘Getting Started’ in the SDK by downloading the debuggable bootloader? I assume this is just the factory bootloader, only debuggable, so functionally the same?

Yes that is exactly it.