This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3235SF: CC3235SF Diversity Antenna Select

Part Number: CC3235SF
Other Parts Discussed in Thread: SYSCONFIG,

Hi,

Trying to get the diversity antenna working on a custom board.

When I selecting the Antenna Selection it seems as though I cannot get proper operation after changing the setting, below I have tired enabling the diversity through sysconfig and manually through code:

Radio.ANT1_PAD     = "28";
Radio.ANT2_PAD     = "22";
Radio.ANT_SEL_MODE = "3";
sl_Start(0, 0, 0);

typedef struct
{
	_u8 Mode; /* antenna selection mode - [disable = 0 | ant1 = 1 | ant2 = 2 | auto = 3 | manual = 4]
	*/
	_u8 Ant1Pad;/* antenna1 selection pad (not pin!) */
	_u8 Ant2Pad;/* antenna2 selection pad (not pin!) */
	_u8 Reserved;
	_u32 Options;
} SlWlanAntSelectionConfig_t;
_i16 Status;
SlWlanAntSelectionConfig_t AntSelConfig;
AntSelConfig. Mode = SL_WLAN_ANT_SELECTION_AUTO;

Status = sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_ANT_SELECTION_CONFIG,
sizeof(SlWlanAntSelectionConfig_t), (_u8 *)&AntSelConfig);
if( Status )
{
     /* error */
     UART_PRINT("STATUS ERROR: %d\r\n", Status);
}
/* restart the device */
Status = sl_Stop(0);
sl_Start(NULL,NULL,NULL);

Either of these result in the same thing which is a general error indicating that the setup failed, and a fatal error I have not been able to parse:

SL GeneralEventHandler
[GENERAL EVENT] - ID=[-30738] Sender=[0]
SL FatalErroEventHandler ID:1
[ERROR] - FATAL ERROR: Abort NWP event detected: AbortType=2, AbortData=0x365

Is there an initialization that I am missing, or another sysconfig setting? Diversity pins are 15 and 18 on the CC3235SF.

Insight is greatly appreciated, thanks!

Note: Also see this result on the development board though the diversity antennas are not on that board.

  • Hi,

    In your case, I believe that one of the pins (pads) is forbidden - pin18.

    You can see in table 4.14 of the NWP guide that for CC3235 there is no PAD28. Actually, seems that PAD40 correlates to pin18.

    Can you try PAD40 and see if it works?

    The table for convenience:

    Shlomi

  • Interesting catch, could this be an issue with sysconfig? Here is the sysconfig selection vs the *.syscfg file diff:

    Looks like it was trying to assign the GPIO rather than the pad number.


    Radio.ANT2_PAD     = "28";
    Radio.ANT1_PAD     = "22";
    Radio.ANT_SEL_MODE = "3";
    

  • yes, it may be an issue with the sysconfig.

    can you try to set from the code itself the right pad and check if it works?

  • It doesn't seem to like manually setting to ANT1/2 to PAD22 and ANT2/1 to PAD40 in the code below, it is however fine if I change PAD40 to something like PAD27 which I would think is not valid for this CC3235SF from the table.


        sl_Start(0, 0, 0);
    
        typedef struct
        {
        	_u8 Mode; /* antenna selection mode - [disable = 0 | ant1 = 1 | ant2 = 2 | auto = 3 | manual = 4]
        	*/
        	_u8 Ant1Pad;/* antenna1 selection pad (not pin!) */
        	_u8 Ant2Pad;/* antenna2 selection pad (not pin!) */
        	_u8 Reserved;
        	_u32 Options;
        } SlWlanAntSelectionConfig_t;
        _i16 Status;
        SlWlanAntSelectionConfig_t AntSelConfig;
        AntSelConfig. Mode = SL_WLAN_ANT_SELECTION_AUTO;
        AntSelConfig.Ant1Pad = XX;
        AntSelConfig.Ant2Pad = XX;
        Status = sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_ANT_SELECTION_CONFIG,
        sizeof(SlWlanAntSelectionConfig_t), (_u8 *)&AntSelConfig);
        if( Status )
        {
             /* error */
             UART_PRINT("STATUS ERROR: %d\r\n", Status);
        }
        /* restart the device */
        Status = sl_Stop(0);
        sl_Start(NULL,NULL,NULL);

  • Hi, I am still looking into it to understand why it is not configuring OK.

    Shlomi

  • Hi,

    I am checking on being able to set the diversity pins on the CC3235SF on pins 15 and 18 (PADS 22 and 40) if you have been able to get those pins configured and working. We are currently still unable to get past this.

  • Hi, no I wasn't able to set these specific pins.

    do you have other available pins in the list?

    Shlomi

  • Hi,

    I tested with using pins 4 and 15 (PADS 22 and 13). This seems to work and we will make a hardware change. We can mark this case resolved. Has an issue been logged to update the documentation/sysconfig for the PAD40 not working on CC3235(SF)?

  • Thanks for confirming. I will add to the list this task.

    Regards,

    Shlomi