AnsweredAssumed Answered

STM32F407VGT-DISCOVERY Cirrus 43L22 year 2016 HAL library incomplete?

Question asked by toss.piotr on Mar 18, 2016
Latest reply on Apr 26, 2016 by Nesrine M

Hi Everyone,

Simple question:
Is the STM32F407VGT-DISCOVERY Cirrus 43L22 HAL library released incomplete?

In the HAL library source and header files cs44l22.h and cs43l22.c I find the following obviously incomplete code!

Example:

/**
  * @brief Sets new frequency.
  * @param DeviceAddr: Device address on communication Bus.   
  * @param AudioFreq: Audio frequency used to play the audio stream.
  * @retval 0 if correct communication, else wrong communication
  */
uint32_t cs43l22_SetFrequency(uint16_t DeviceAddr, uint32_t AudioFreq)
{
  return 0;
}

Nothing is obviously happening in the code above so why is it there?

Another one here:

/**
  * @brief Start the audio Codec play feature.
  * @note For this codec no Play options are required.
  * @param DeviceAddr: Device address on communication Bus.   
  * @retval 0 if correct communication, else wrong communication
  */
uint32_t cs43l22_Play(uint16_t DeviceAddr, uint16_t* pBuffer, uint16_t Size)
{
  uint32_t counter = 0;
  
  if(Is_cs43l22_Stop == 1)
  {
    /* Enable the digital soft ramp */
    counter += CODEC_IO_Write(DeviceAddr, CS43L22_REG_MISC_CTL, 0x06);
  
    /* Enable Output device */  
    counter += cs43l22_SetMute(DeviceAddr, AUDIO_MUTE_OFF);
    
    /* Power on the Codec */
    counter += CODEC_IO_Write(DeviceAddr, CS43L22_REG_POWER_CTL1, 0x9E);  
    Is_cs43l22_Stop = 0;
  }
  
  /* Return communication control value */
  return counter;  
}

In the above code the most important values pBuffer and Size are not used. How comes?

And a last one here:

/** @defgroup CS43L22_Function_Prototypes
  * @{
  */
static uint8_t CODEC_IO_Write(uint8_t Addr, uint8_t Reg, uint8_t Value);
/**
  * @}
  */ 

If anyone can tell me what the above function is doing I'd be most happy.


Thx for sharing the state of affairs.

Greets,
Ben

Attachments

Outcomes