USBD_Audio_DrvCtrlFU_MidManage

Description

Get or set middle for one or all logical channels inside a cluster.

Files

usbd_audio_drv_<codec-name>.h / usbd_audio_drv_<codec-name>.c

Prototype

static  CPU_BOOLEAN  USBD_Audio_DrvCtrlFU_MidManage (USBD_AUDIO_DRV  *p_audio_drv,
                                                     CPU_INT08U       req,
                                                     CPU_INT08U       unit_id,
                                                     CPU_INT08U       log_ch_nbr,
                                                     CPU_INT08U      *p_mid);


Arguments

p_audio_drv

Pointer to audio driver structure.

req

Middle request:

USBD_AUDIO_REQ_GET_CUR
USBD_AUDIO_REQ_GET_RES
USBD_AUDIO_REQ_GET_MIN
USBD_AUDIO_REQ_GET_MAX
USBD_AUDIO_REQ_SET_CUR

unit_id

Feature Unit ID.

log_ch_nbr

Logical channel number.

p_mid

Pointer to the Middle value to set or get.

Returned Value

DEF_OK, if NO error(s) occurred and request is supported.

DEF_FAIL, otherwise.

Callers

Audio Class.

Implementation guidelines

  1. The Middle Control values range allowed for Feature Unit is:
    1. From +31.75 dB (0x7F) down to –32.00 dB (0x80) for CUR, MIN, and MAX attributes.
    2. From 0.25 dB (0x01) to +31.75 dB (0x7F) for RES attribute.
  2. log_ch_nbr allows you to get or set the middle for a specific channel. When log_ch_nbr is 0, you get or set the middle for all channels. Indeed, the logical channel #0 represents the master channel and encompasses all channels.