• In progress
  • Audio/Touch Codec WM9715

    Most registry-keys are the same for UCB1400 and WM9715 codec.
    For additional information please see:

    Change of Audio/Touch Codec on Trizeps Modules

    Because the UCB1400-codec used on most Trizeps modules is announced to be EOL, the Wolfson WM9715-codec will be used as replacement part on new revisions of those modules.
    The new drivers will automatically detect which codec is used and automatically scale values measured with a WM9715-module to fit UCB1400.
    The WM9715 uses an 12bit ADC, whereas the UCB1400 only had a 10bit ADC.

    There is a new drvlib_app.dll function to see, which Codec is mounted: AC97_GetCodecID

    If UCB1400 compatible-values are not needed, set these registry-keys to remove extra calculations and benefit from the extra ADC-resolution:

    [HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH] "scaleADC0"=dword:0 "scaleADC1"=dword:0 "scaleADC2"=dword:0 "scaleADC3"=dword:0 "scaleADCx"=dword:0 "scaleADCy"=dword:0 "scaleADCz"=dword:0 scaling is done like shown here: #define CALC_ADC( x, scale)\ ((scale==0)?x:(((x<<10)/(scale&0xFFFF))+((scale&0xFFFF0000)>>16))) .... x = CALC_ADC( xm, scaleADC0); ....

    Sample on how to calculate ScaleADC-value using Excel: scaleadcwm9715.zip