Post Go back to editing

API functions for control of power down modes

Category: Software
Product Number: ADRV9002

I have a couple of questions regarding the API functions related to control of the various power down modes.

The structure adi_adrv9001_PowerSavingAndMonitorMode_ChannelPowerSavingCfg_t has two members that are defined:

typedef struct adi_adrv9001_PowerSavingAndMonitorMode_ChannelPowerSavingCfg
   adi_adrv9001_PowerSavingAndMonitorMode_ChannelPowerDownMode_e channelDisabledPowerDownMode; /*!< Pin power down mode */
   /** Additional GPIO pin power down mode; only valid if greater than channelDisabledPowerDownMode */
   adi_adrv9001_PowerSavingAndMonitorMode_ChannelPowerDownMode_e gpioPinPowerDownMode;
} adi_adrv9001_PowerSavingAndMonitorMode_ChannelPowerSavingCfg_t;

I am trying to configure for GPIO control of the channel power saving mode, and it's not clear to me how these two values work together. I would expect gpioPinPowerDownMode to control what happens when the assigned GPIO pin goes high. Does the channelDisabledPowerDownMode signal control what happens when TX_ENABLE/RX_ENABLE goes low?

Second, there are two GPIO configuration functions mentioned in the user guide: adi_adrv9001_gpio_ControlInit_Configure() and adi_adrv9001_gpio_Configure(). What is the difference between the two? I see that adi_adrv9001_gpio_ControlInit_Configure() is called by the auto-generated code from TES, but is there a scenario where I would also need to call adi_adrv9001_gpio_Configure()?

  • Hi, 

    I will look into this for you.

    Best Regards,


  • Hi,

    The best resource for API questions is the 'Doxygen' document that we provide with the SDK. The file is named ADRV9001_API.chm and is located at adrv9001-sdk\pkg\production. You can look search for APIs or you can look for APIs in the file structure. They're broken down into logical categories:


    1) adi_adrv9001_PowerSavingAndMonitorMode_ChannelPowerSavingCfg_t

    Yes, this is for GPIO control or Tx/Rx_En signal trigger of channel power saving. This is detailed in the user guide under Power Saving and Monitor Mode >> Dynamic Interframe Power Saving >> Channel Power Saving. If anything isn't clear there, please let me know.

    2)  GPIO configuration functions:

    adi_adrv9001_gpio_ControlInit_Configure() is used to set up all the front-end GPIO signals:

    adi_adrv9001_gpio_Configure() is used to setup a particular GPIO signal.

    Please let me know if you have any follow up questions.

    Best Regards,