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.

CC3220S-LAUNCHXL: Correct way to exit provisioning mode with external confirmation?

Part Number: CC3220S-LAUNCHXL

Hi All,

I start provisioning like this:

retVal =
sl_WlanProvisioning(provisioningCmd, ROLE_STA,
PROVISIONING_INACTIVITY_TIMEOUT,
NULL,
SL_WLAN_PROVISIONING_CMD_FLAG_EXTERNAL_CONFIRMATION);

And I end it like this:

int16_t retVal = sl_WlanProvisioning(SL_WLAN_PROVISIONING_CMD_STOP,
ROLE_STA,
0,
NULL,
SL_WLAN_PROVISIONING_CMD_FLAG_EXTERNAL_CONFIRMATION);

... after confirming the connection is good. Is there anything else I have to do? 

The issue I am having is that I always get the SL_WLAN_PROVISIONING_CONFIRMATION_IP_ACQUIRED event -- however, sometimes the SimpleLinkNetAppEventHandler fails to fire and let me know about the new IP address.

  • Hi,

    If the provisioning ends successfully, you would not need to use sl_WlanProvisioning(SL_WLAN_PROVISIONING_CMD_STOP,....) - it will be stopped automatically (SL_WLAN_PROVISIONING_STOPPED event) following the successfull confirmation (SL_WLAN_PROVISIONING_CONFIRMATION_STATUS_SUCCESS).

    You can read the IP address (after a successful provisioning), using sl_NetCfgGet() -  see example below: 

    - SL_NETCFG_IPV4_STA_ADDR_MODE: 
    Get IP address from WLAN station or P2P client. A DHCP flag is returned to indicate if the IP address is static or from DHCP.

    _u16 len = sizeof(SlNetCfgIpV4Args_t);
    _u16 ConfigOpt = 0; //return value could be one of the following: SL_NETCFG_ADDR_DHCP / SL_NETCFG_ADDR_DHCP_LLA / SL_NETCFG_ADDR_STATIC
    SlNetCfgIpV4Args_t ipV4 = {0};
    sl_NetCfgGet(SL_NETCFG_IPV4_STA_ADDR_MODE,&ConfigOpt,&len,(_u8 *)&ipV4);

    printf("DHCP is %s IP %d.%d.%d.%d MASK %d.%d.%d.%d GW %d.%d.%d.%d DNS %d.%d.%d.%d\n",
    (ConfigOpt == SL_NETCFG_ADDR_DHCP) ? "ON" : "OFF",
    SL_IPV4_BYTE(ipV4.Ip,3),SL_IPV4_BYTE(ipV4.Ip,2),SL_IPV4_BYTE(ipV4.Ip,1),SL_IPV4_BYTE(ipV4.Ip,0),
    SL_IPV4_BYTE(ipV4.IpMask,3),SL_IPV4_BYTE(ipV4.IpMask,2),SL_IPV4_BYTE(ipV4.IpMask,1),SL_IPV4_BYTE(ipV4.IpMask,0),
    SL_IPV4_BYTE(ipV4.IpGateway,3),SL_IPV4_BYTE(ipV4.IpGateway,2),SL_IPV4_BYTE(ipV4.IpGateway,1),SL_IPV4_BYTE(ipV4.IpGateway,0),
    SL_IPV4_BYTE(ipV4.IpDnsServer,3),SL_IPV4_BYTE(ipV4.IpDnsServer,2),SL_IPV4_BYTE(ipV4.IpDnsServer,1),SL_IPV4_BYTE(ipV4.IpDnsServer,0));

    br,

    Kobi