I am configuring several S3B-900HP programmable radios, all as routers, in a field environment as follows:
-
3 routers serving as remote monitors + an ESD pushbutton, where the user – holding a remote – can stop everything on the process floor. These NI’s are 92001…92003.
-
2 routers serving as the core process controllers/data generators, each from separate but identical machines, who are to update the 3 radios mentioned above with a couple serially encoded data samples. These NI’s are 30001…30003.
I am interested in assigning them all as routers because they could potentially assist one another in achieving signal coverage in a uniquely challenging environment (spatial and obstacles/propagation), so there is value in the digimesh network. I configure every radio in API mode because I always end up putting some degree of custom functionality on each controller.
On the latter 2 XBees, I am periodically, every 25s, executing some pretty simple code in an attempt to find other radios:
(void)xbee_cmd_simple(&xdev, “ND”, 1);
…to which node discovery callbacks are enabled and handled:
if ((node_by_addr(&node_id->ieee_addr_be)) == NULL) {
sprintf(txbuf, “New radio:'%” PRIsFAR "’
", node_id->node_info);
node_add(node_id);
}
And this doesn’t seem to be working.
First, anything from xbee_transparent_dump() is absent, so no OTA data is received.
Second, the standard code from so many of the SDK examples, as follows, provides nothing:
wpan_envelope_create(&envelope, &xdev.wpan_dev, &node_ieeeaddr, WPAN_NET_ADDR_UNDEFINED);
envelope.length = strlen(rxbuf);
envelope.payload = rxbuf;
envelope.options = 0x00;
envelope.dest_endpoint = DEFAULT_DEST_EP;
envelope.source_endpoint = DEFAULT_SOURCE_EP;
envelope.profile_id = DEFAULT_PROFILE_ID;
envelope.cluster_id = DEFAULT_CLUSTER_ID;
result = wpan_envelope_send(&envelope);
I’ve had 2 unique results from doing this:
1.) node_by_name(NI) returns NULL, so -1 is returned.
2.) The enabled xbee_transmit_status_handler() in the past, prior to me issuing “ND” commands, returned “0x25” or, “Route Not Found”
What am I doing incorrectly that is not allowing these 2 radios, same network ID, same PAN, to not communicate?
Thanks