Issue #50 was worked around in PR #53 to allow multi-BIU deployments. However, this used a simple ID offset based on the BIU number, limiting all custom device instances to ~2000 Buffer and Header IDs.
As an enhancement, we could allow advanced users to expand the number of IDs allotted to one custom device instance using one of these methods:
Share buffer offsets between custom devices
There are many possible ways to do this: calculate the buffers needed and store it in the sysdef, use some form of global during initialization to store the last used buffer per module, etc. However, all of these require the custom device to access data outside of its own configuration, making the approach non-ideal.
Make a parameter available to superusers to define the starting buffer ID to use
This is relatively easy to implement and would give advanced users a way to bypass a hardcoded limitation such as the 2000-buffers-per-CD option. Provide an optional scripting entrypoint for setting the initial buffer offset for each CD instance. When not in use, default to a hardcoded offset.
Issue #50 was worked around in PR #53 to allow multi-BIU deployments. However, this used a simple ID offset based on the BIU number, limiting all custom device instances to ~2000 Buffer and Header IDs.
As an enhancement, we could allow advanced users to expand the number of IDs allotted to one custom device instance using one of these methods: