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!


  * @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.