Audio Device Definition Files

PurePath Wireless Configurator version 1.1.1 and later define all properties of the supported external audio devices using an XML based file format. This page describes how these XML files are structured, and provides the instructions for:

The audio device definition file describes a large number of device properties:

Read all information on this page carefully, and use caution when testing new or modified audio device definitions. Incorrect settings may cause random noise or very loud output volumes that can be very harmful to both ears and equipment.

File Handling

Audio device definition files provided by Texas Instruments are stored in "<Install directory>\audio_devices", in most cases "C:\Program Files\Texas Instruments\PurePath Wireless Configurator\audio_devices". User-created audio device definition files are stored in "<My Documents>\Texas Instruments\PurePath Wireless Configurator\audio_devices". At startup, the Configurator will load all audio device definition files (*.ppwadd) currently located in these directories.
NB: The Configurator does not detect changes to these files while running and needs to be restarted for any changes to take effect.

The Configurator requires and assumes that all audio device definition files are:

Installed audio device definition files should not be modified. When customizing audio device definition files, it is recommended to work on a copy in the directory for user-created files. This copy will override the installed file if the name tag is unchanged.

When selecting audio device in the Configurator, user-generated audio device definitions are indicated as follows:

File Format

The XML format contains the following tags (elements) and attributes listed below. For all examples below using quoting, the quoting itself should not to be included in the XML file.

Volume Control in State Transitions

The CC85XX will only send input volume control updates to the audio device in the LOW-POWER and ACTIVE states, and output volume control updates in the ACTIVE state. When activating audio inputs and outputs, the initial volume control update happens some time after state transitions

The delay between these transitions and the volume control initialization (to the desired volume setting) is typically in the order of 1 ms, but can be much more if the transitions end with a delay operation. Also, for audio inputs, the "LOW-POWER to ACTIVE" can delay the initial update. If not handled correctly, the audio device may start at an incorrect default volume setting (e.g. maximum output volume), or the volume setting used the last time the audio inputs or outputs were active. This can typically cause a loud "pop" at startup. Follow these guidelines to avoid such problems:

Volume Control Algorithm

The following pseudo-code describes how the register value for the patched I2C write operation is generated for "Mute" and "Unmute" volume control operations:

// Set static part
regValue = patch_reg_data;

// Insert retained part, if any
if (patch_read_mask) {
    regValue |= "read register value" & patch_read_mask;
}

The following pseudo-code describes how the register value for the patched I2C write operation is generated for "Volume" and "Volume,Unmute" volume control operations.

// Set static part
regValue = patch_reg_data;

// Insert retained part, if any
if (patch_read_mask) {
    regValue = regValue | ("read register value" & patch_read_mask);
}

// Volume calculation: Apply precision
volValue = "volume setting" >> (3 - vol_precision);

// Volume calculation: Negate?
if (vol_negate) {
    volValue = -volValue;
}

// Volume calculation: Apply add value
volValue = volValue + vol_add_value;

// Volume calculation: Mask out sign bits
volValue = volValue & ((1 << vol_field_size) - 1);

// Volume calculation: Align with register
volValue = volValue << (vol_left_shift + (8 * patch_reg_data_size) - 32);

// Insert the volume setting
regValue = regValue | volValue;