Configure SimpleLink to default state.
The sl_WifiConfig function allows to configure the device to a pre-configured state by sysconfig UI\ ti_drivers_net_wifi_Config.c. The configuration of the SimpleLink Wifi is usually persistent, and can be reconfigured at runtime. Reconfiguration should be performed only when needed since the process involves flash writes and might impact system lifetime (flash write endurance) and power consumption.
It's important to note that this is one example for a 'restore to default state' function, which meet the needs of this application. User who wish to incorporate this function into he's app, must adjust the implementation and make sure it meets he's needs.
51 _i32 RetVal_stop = -1;
55 _u16 ipConfigSize = 0;
67 if ((SimpleLinkWifiCC32XX_config.Mode != SL_DEVICE_SYSCONFIG_AS_CONFIGURED) && (SimpleLinkWifiCC32XX_config.Mode != Mode))
89 if(SimpleLinkWifiCC32XX_config.Mode != RetVal)
97 if (SimpleLinkWifiCC32XX_config.ConnectionPolicy != SL_DEVICE_SYSCONFIG_AS_CONFIGURED)
101 SimpleLinkWifiCC32XX_config.ConnectionPolicy,
108 if (SimpleLinkWifiCC32XX_config.ProvisioningStop)
121 if (SimpleLinkWifiCC32XX_config.DeleteAllProfile)
132 if (SimpleLinkWifiCC32XX_config.Ipv4Config != SL_DEVICE_SYSCONFIG_AS_CONFIGURED)
134 if (SimpleLinkWifiCC32XX_config.Mode == ROLE_STA)
136 uIPMode = SL_NETCFG_IPV4_STA_ADDR_MODE;
138 else if (SimpleLinkWifiCC32XX_config.Mode == ROLE_AP)
140 uIPMode = SL_NETCFG_IPV4_AP_ADDR_MODE;
142 if (SimpleLinkWifiCC32XX_config.Ipv4Config == SL_NETCFG_ADDR_STATIC)
147 localIpV4.Ip = (_u32)SimpleLinkWifiCC32XX_config.Ipv4;
148 localIpV4.IpMask = (_u32)SimpleLinkWifiCC32XX_config.IpMask;
149 localIpV4.IpGateway = (_u32)SimpleLinkWifiCC32XX_config.IpGateway;
150 localIpV4.IpDnsServer = (_u32)SimpleLinkWifiCC32XX_config.IpDnsServer;
152 else if (SimpleLinkWifiCC32XX_config.Ipv4Config != SL_NETCFG_ADDR_DHCP)
161 RetVal =
sl_NetCfgSet(uIPMode, SimpleLinkWifiCC32XX_config.Ipv4Config, ipConfigSize, (_u8 *)ipV4);
169 if (SimpleLinkWifiCC32XX_config.ScanPolicy != SL_DEVICE_SYSCONFIG_AS_CONFIGURED)
171 _u32 intervalInSeconds = SimpleLinkWifiCC32XX_config.ScanIntervalInSeconds;
172 ucConfigOpt = SimpleLinkWifiCC32XX_config.ScanPolicy;
173 RetVal =
sl_WlanPolicySet(SL_WLAN_POLICY_SCAN, ucConfigOpt, (_u8 *)&intervalInSeconds,
sizeof(intervalInSeconds));
181 if (SimpleLinkWifiCC32XX_config.PMPolicy != SL_DEVICE_SYSCONFIG_AS_CONFIGURED)
183 if (SimpleLinkWifiCC32XX_config.PMPolicy != SL_WLAN_LONG_SLEEP_INTERVAL_POLICY)
185 RetVal =
sl_WlanPolicySet(SL_WLAN_POLICY_PM, SimpleLinkWifiCC32XX_config.PMPolicy, NULL,0);
195 PmPolicyParams.MaxSleepTimeMs = SimpleLinkWifiCC32XX_config.MaxSleepTimeMS;
196 RetVal =
sl_WlanPolicySet(SL_WLAN_POLICY_PM, SimpleLinkWifiCC32XX_config.PMPolicy, (_u8*)&PmPolicyParams,
sizeof(PmPolicyParams));
205 if (SimpleLinkWifiCC32XX_config.DHCPServer)
209 dhcpParams.lease_time = SimpleLinkWifiCC32XX_config.LeaseTime;
210 dhcpParams.ipv4_addr_start = (_u32)SimpleLinkWifiCC32XX_config.StartAddress;
211 dhcpParams.ipv4_addr_last = (_u32)SimpleLinkWifiCC32XX_config.LastAddress;
217 RetVal =
sl_NetAppSet(SL_NETAPP_DHCP_SERVER_ID, SL_NETAPP_DHCP_SRV_BASIC_OPT, outLen, (_u8* )&dhcpParams);
222 if (SimpleLinkWifiCC32XX_config.Mode == ROLE_AP)
_i16 sl_WlanSetMode(const _u8 Mode)
Wlan set mode.
_i16 sl_NetAppSet(const _u8 AppId, const _u8 Option, const _u8 OptionLen, const _u8 *pOptionValue)
Setting network application configurations.
_i16 sl_WlanProvisioning(_u8 ProvisioningCmd, _u8 RequestedRoleAfterSuccess, _u16 InactivityTimeoutSec, char *pSmartConfigKey, _u32 Flags)
The simpleLink will switch to the appropriate role according to the provisioning mode requested and w...
_i16 sl_Stop(const _u16 Timeout)
Stop the SimpleLink device.
_i16 sl_WlanPolicySet(const _u8 Type, const _u8 Policy, _u8 *pVal, const _u8 ValLen)
Set policy values.
_i16 sl_NetCfgSet(const _u16 ConfigId, const _u16 ConfigOpt, const _u16 ConfigLen, const _u8 *pValues)
Setting network configurations.
_i16 sl_WlanProfileDel(const _i16 Index)
Delete WLAN profile.
_i16 sl_NetAppStart(const _u32 AppBitMap)
Starts a network application.
_i16 sl_NetAppStop(const _u32 AppBitMap)
Stops a network application.
_i16 sl_Start(const void *pIfHdl, _i8 *pDevName, const P_INIT_CALLBACK pInitCallBack)
Start the SimpleLink device.