Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

IWR6843: GPADC reading on IWR6843

Part Number: IWR6843

Tool/software:

I'm trying to figure out how to read the GPADC channels on our IWR6843.

The doxygen for function rlSetGpAdcConfig looks like this:

/** @fn rlReturnVal_t rlSetGpAdcConfig(rlUInt8_t deviceMap, rlGpAdcCfg_t* data)

*

*   @brief : Configure GP ADC data parameters

*   @param[in] deviceMap - Bitmap of devices to send the message

*   @param[in] data      - Configuration parameter for GP ADC

*

*   @return rlReturnVal_t Success - 0, Failure - Error Code

*

*   This API enables the GPADC reads for external inputs (available only in xWR1642/xWR6843/

*   xWR1843). xWR1642/xWR1843 sends GP-ADC measurement data in async event

*   RL_RF_AE_GPADC_MEAS_DATA_SB

*

*   @note : The actual measurement of these GPADC signal are done in inter-burst or frame idle

*           time and the result AE sub block will be sent only after completing all the

*           measurements.

*/

 

It states that GPADC measurements are sent in async events on xWR1642/xWR1843, what about IWR6843?

  • Hello,

    6843 should be the same as well. Are you seeing something different or are you asking preemptively?

    Best Regards,

    Pedrhom

  • I've tested to configure using the following code snippet:

        rlGpAdcCfg_t gpAdcCfg;
        
        gpAdcCfg.enable = 0x3F;
        gpAdcCfg.bufferEnable = 0x3F;
        gpAdcCfg.numOfSamples[0].sampleCnt = 20;
        gpAdcCfg.numOfSamples[0].settlingTime = 3;
        gpAdcCfg.numOfSamples[1].sampleCnt = 14;
        gpAdcCfg.numOfSamples[1].settlingTime = 3;
        gpAdcCfg.numOfSamples[2].sampleCnt = 14;
        gpAdcCfg.numOfSamples[2].settlingTime = 3;
        gpAdcCfg.numOfSamples[3].sampleCnt = 14;
        gpAdcCfg.numOfSamples[3].settlingTime = 3;
        gpAdcCfg.numOfSamples[4].sampleCnt = 14;
        gpAdcCfg.numOfSamples[4].settlingTime = 3;
        gpAdcCfg.numOfSamples[5].sampleCnt = 14;
        gpAdcCfg.numOfSamples[5].settlingTime = 3;
        gpAdcCfg.reserved0 = 0;
    	gpAdcCfg.reserved1[0] = 0;
    	gpAdcCfg.reserved1[1] = 0;
    	gpAdcCfg.reserved1[2] = 0;
    
        errCode = rlSetGpAdcConfig(RL_DEVICE_MAP_INTERNAL_BSS, (rlGpAdcCfg_t*)&gpAdcCfg);

    Where the return value from rlSetGpAdcConfig is 0. However, I don't see any GPIOADC related events in MMWave_asyncEventHandler.

    Kind regards,

    Benjamin

  • Hello Benjamin,

    Have you tried using our example mmwavelink test code that uses the rlSetGpAdcConfig function?

    C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\control\mmwavelink\test\xwr68xx

    It is available for 14xx,16xx,18xx, and 68xx. So it should work properly for 6843 when compared to 1642 and 1843.

    Best Regards,

    Pedrhom