900HP/S3B Programmable - out of the box expectations

I have developed an endpoint/router application for the 900HP/S3B Programmable. I am going to be sending synchronous snapshots every so often to an Admin node I expect to find using the same Node Identifier every time. One project I have found some similarity with is how the transmit_explicit_frames_dm project creates WPAN envelopes and sends them out. I plan on using Transmit Requests (0x10) from the child nodes to accomplish that. The latest understanding I have of that is that we are to bundle the WPAN objects as Explicits (0x11), but just using a predefined set of attributes to indicate a generic, “Simple” 0x10-style transmit:

envelope.dest_endpoint = WPAN_ENDPOINT_DIGI_DATA;
envelope.source_endpoint = WPAN_ENDPOINT_DIGI_DATA;
envelope.profile_id = WPAN_PROFILE_DIGI;
envelope.cluster_id = DIGI_CLUST_SERIAL;

I tell my child to auto-discover if nothing is detected:

if (!nd_in_progress && addr64_is_zero(&admin_ieeeaddr)) {		
     nd_in_progress = TRUE;

At this point, I run Admin_discovery and after pulling the IEEE address from *node_id. I attempt to initiate a discovery by sending “CB” to the Admin. From there, I would hope to just start streaming my custom, periodic 0x10 Transmit Request messages. Below, during discovery and before period transmits, I build an envelope with the “0x10” recommended info above, and:

    wpan_envelope_create(&envelope, &xdev.wpan_dev, &admin_ieeeaddr, 
    envelope.payload = txbuf;
envelope.length = 2;
(void)xbee_cmd_simple(&xdev, "CB", 1);

My question is ultimately regarding the Admin node. Can I expect an Admin to work “out of the box” using its stock bootloader as-shipped, along with any XCTU configuration I perform? Currently I have it as follows:

  • Same ID/CM/MF/HP as above child node
  • CE = Indirect Msg Coordinator [1] - i want it to be the admin/coordinator
  • AP = 1
  • AO = 0 (0x90)

I want to know if I should be able to open XCTU’s Serial Console utility in this configuration and expect to see traffic go back and forth? My first thought after trying it and seeing nothing is No, because I need to put it in Transparent Mode. But I just want to make sure I’m understanding why I didn’t see anything. presumably because it was in API mode and I did not have an application running that echo’ed the information to the serial console. I also am aware that the transmit_explicit project mentions using Serial Bypass project on the other end. Why is this necessary? Could I use other projects that are more similar to what my actual Admin node will look like, such as the digimesh_unicast_demo_monitor or other digimesh_***_monitor projects?

As a side note, I have avoided using any “transparent_serial” functions in code thus far as I understand it is only for “AT Mode,” and I assumed API mode would be more practical for my application.


No XCTU will not see anything going over the RF port between the devices. At least not form the UART of the Programmable module.

Would you recommend a particular API mode project example for the Admin node, such as digimesh_unicast_demo_monitor?

Yes, that would be a good starting point to work from.