MX Foundation 4
Attributes

ASCB parameters such as user response address, bus selection, internal loopback and others can be read or modified using the mxfAttributeUint64Get(), mxfAttributeDoubleGet(), mxfAttributeUint64Set() and mxfAttributeDoubleSet() functions, passing the handle (device, module or channel) and attribute key-value pair.

See the section Attributes Reference for a description of all supported attributes.

Some other utility functions are used to get information about attributes:

The example code below shows how to initialize an ASCB bus controller channel and set the ID value.

int main()
{
MXF_ATTRIBUTE_INFO_UINT64_DETAILS info; // Attribute detail structure
HMXF_CHANNEL channel; // Channel handle
uint64 id;
uint32 rc;
...
// Obtains info on BC ID attribute
if (!rc)
rc = mxfAttributeInfoDetailsGet(channel, KMXF_ASCB_BC_ID, &info);
// Gets the current BC ID value
if (!rc)
{
rc = mxfAttributeUint64Get(channel, KMXF_ASCB_BC_ID, &id);
printf("BC ID=%llu\n", id);
}
// Sets BC ID to maximum value
if (!rc)
{
printf("BC ID min=%lld, max=%lld\n", info.details.range.min, info.details.range.max);
// Sets the BC response timeout max value to maximum allowed
rc = mxfAttributeUint64Set(channel, KMXF_ASCB_BC_ID, info.details.range.max);
}
...
Updated 10/23/2023