void _easylinkStartSoftAp( mico_Context_t * const inContext) { OSStatus err; easylink_log_trace(); network_InitTypeDef_st wNetConfig; memset(&wNetConfig, 0, sizeof(network_InitTypeDef_st)); wNetConfig.wifi_mode = Soft_AP; snprintf(wNetConfig.wifi_ssid, 32, "MXCHIP_%c%c%c%c%c%c", inContext->micoStatus.mac[9], inContext->micoStatus.mac[10], \ inContext->micoStatus.mac[12], inContext->micoStatus.mac[13], inContext->micoStatus.mac[15], inContext->micoStatus.mac[16] ); strcpy((char*)wNetConfig.wifi_key, ""); strcpy((char*)wNetConfig.local_ip_addr, "10.10.10.1"); strcpy((char*)wNetConfig.net_mask, "255.255.255.0"); strcpy((char*)wNetConfig.gateway_ip_addr, "10.10.10.1"); wNetConfig.dhcpMode = DHCP_Server; micoWlanStart(&wNetConfig); easylink_log("Establish soft ap: %s.....", wNetConfig.wifi_ssid); if(inContext->flashContentInRam.micoSystemConfig.bonjourEnable == true){ err = MICOStartBonjourService( Soft_AP , inContext ); require_noerr(err, exit); } if(inContext->flashContentInRam.micoSystemConfig.configServerEnable == true){ err = MICOStartConfigServer ( inContext ); require_noerr(err, exit); } ConfigSoftApWillStart( inContext ); exit: return; }
OSStatus startEasyLinkSoftAP( mico_Context_t * const inContext) { easylink_uap_log_trace(); OSStatus err = kUnknownErr; network_InitTypeDef_st wNetConfig; err = MICOAddNotification( mico_notify_WIFI_STATUS_CHANGED, (void *)_EasyLinkNotify_WifiStatusHandler ); require_noerr(err, exit); err = MICOAddNotification( mico_notify_WiFI_PARA_CHANGED, (void *)_EasyLinkNotify_WiFIParaChangedHandler ); require_noerr(err, exit); err = MICOAddNotification( mico_notify_DHCP_COMPLETED, (void *)_EasyLinkNotify_DHCPCompleteHandler ); require_noerr( err, exit ); // Start the EasyLink thread ConfigWillStart(inContext); if(inContext->flashContentInRam.micoSystemConfig.easyLinkByPass == EASYLINK_BYPASS_NO){ memset(&wNetConfig, 0, sizeof(network_InitTypeDef_st)); wNetConfig.wifi_mode = Soft_AP; snprintf(wNetConfig.wifi_ssid, 32, "EasyLink_%c%c%c%c%c%c", inContext->micoStatus.mac[9], inContext->micoStatus.mac[10], inContext->micoStatus.mac[12], inContext->micoStatus.mac[13], inContext->micoStatus.mac[15], inContext->micoStatus.mac[16] ); strcpy((char*)wNetConfig.wifi_key, ""); strcpy((char*)wNetConfig.local_ip_addr, "10.10.10.1"); strcpy((char*)wNetConfig.net_mask, "255.255.255.0"); strcpy((char*)wNetConfig.gateway_ip_addr, "10.10.10.1"); wNetConfig.dhcpMode = DHCP_Server; micoWlanStart(&wNetConfig); easylink_uap_log("Establish soft ap: %s.....", wNetConfig.wifi_ssid); err = _initBonjourForEasyLink( Soft_AP , inContext ); require_noerr(err, exit); }else{ err = _initBonjourForEasyLink( Station , inContext ); _easylinkConnectWiFi_fast(inContext); require_noerr(err, exit); } start_bonjour_service(); _bonjourStarted = true; err = MICOStartConfigServer ( inContext ); require_noerr(err, exit); ConfigSoftApWillStart( inContext ); exit: return err; }