Exemplo n.º 1
0
int wifi_on(rtw_mode_t mode)
{
	int ret = 1;
	int timeout = 20;
	int idx;
	int devnum = 1;
	static int event_init = 0;
	
	if(rltk_wlan_running(WLAN0_IDX)) {
		printf("\n\rWIFI is already running");
		return 1;
	}

	if(event_init == 0){
		init_event_callback_list();
		event_init = 1;
	}
	
	wifi_mode = mode;

	if(mode == RTW_MODE_STA_AP)
		devnum = 2;

	printf("\n\rInitializing WIFI ...");
	for(idx=0;idx<devnum;idx++){
		ret = rltk_wlan_init(idx, mode);
		if(ret <0)
			return ret;
	}
	for(idx=0;idx<devnum;idx++)
		rltk_wlan_start(idx);

	while(1) {
		if(rltk_wlan_running(devnum-1)) {
			printf("\n\rWIFI initialized\n");

			/*
			* printf("set country code here\n");
			* wifi_set_country(RTW_COUNTRY_US);
			*/
			break;
		}

		if(timeout == 0) {
			printf("\n\rERROR: Init WIFI timeout!");
			break;
		}

		vTaskDelay(1 * configTICK_RATE_HZ);
		timeout --;
	}
	
#if CONFIG_INIC_EN
	inic_start();
#endif

	return ret;
}
Exemplo n.º 2
0
void wps_judge_staion_disconnect(void) 
{
	int mode = 0;
	unsigned char ssid[33];

	wext_get_mode(WLAN0_NAME, &mode);

	switch(mode) {
	case IW_MODE_MASTER:		//In AP mode
		rltk_wlan_deinit();
		rltk_wlan_init(0,RTW_MODE_STA);
		rltk_wlan_start(0);
		break;
	case IW_MODE_INFRA:		//In STA mode
		if(wext_get_ssid(WLAN0_NAME, ssid) > 0)
			wifi_disconnect();
	}	
}