Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}