I am having a blast with these modules after having re-familiarized more with these platforms. One area of concern I am having before a release, however, is the scalability of my architecture as it pertains to system memory.
I am using the following:
1 x S3B-900HP (coord) for managing a node table and other custom functions
N x S3B-900HP (routers) for synchronous Tx, and asynchronous Rx of endpoint data
The ideal device count N would be about 50 devices, but I'm seeing a pretty serious limitation to that with the S08QE32 platform (2048 B RAM). This seems to be attributed mostly to the structure of the node_table, composed of xbee_node_id_t objects, and specifically node_info, especially if XBEE_DISC_MAX_NODEID_LEN is kept to the default of 20 chars (bytes).
It seems that if you wish to keep these defaults, then you'd be very hard pressed to maintain a client architecture of more than 80 or 90 nodes of even the leanest payload, saving room for a little overhead. What is the best practice here to avoid this pitfall? Should I reduce my node_id character array size? I can keep it at about 8 characters if needed, which would help quite a bit; but even configured as such, there is still a big limitation there.
Is this where FAR memory comes into the discussion? Where can I get a good explanation on this as it pertains to the 900HP?