4.2.5 Understanding Table Sizes

The stack maintains a set of buffer tables for different functions. CS offers parameters to specify the size of each table. The tables are statically initialized; therefore, these parameters determine the amount of memory allocated at compile time, and, thus, they cannot be configured at run-time. The following table provides details about the configuration parameters that are particularly relevant to the application:

Table 4-1. CS Stack Buffer Table Size Parameters
Table Size ParameterDescription
CS_NEIB_TABLE_SIZEStores information about directly accessible devices from the same network.
CS_ROUTE_TABLE_SIZEStores next-hop addresses for routes towards certain remote nodes if such routes have already been established by route discovery. If the stack fails to find a route in this table, it launches route discovery procedure employing the route discovery table.
CS_ROUTE_DISCOVERY_TABLE_SIZE

The route discovery procedures use the CS_ROUTE_DISCOVERY_TABLE_SIZE when there is a need to find a route to a remote node, which must be reached by a data frame. If route discovery occurs frequently, for example, due to a small routing table size, ensure that the route discovery table has enough capacity.

CS_APS_BINDING_TABLE_SIZEStores entries for binding links with remote nodes. Each entry contains the source’s extended address and endpoint, as well as the destination’s extended address and endpoint.
CS_ADDRESS_MAP_TABLE_SIZEContains pairs of corresponding short and extended addresses discovered during network operation or by device discovery requests.
CS_GROUP_TABLE_SIZEStores pairs consisting of a group address and an endpoint. Each group address identifies a group that the node is subscribed to, with the endpoint being the destination for data frames addressed to the groups.
Note: Application developers must properly consider buffer sizes as this can help reduce the amount of Flash memory consumed by the application.