Exemplo n.º 1
0
//=======================================
static int lwifi_ntp_time (lua_State* L )
{
  int tz = 0;
  int npar = 0;
  size_t len;
  const char *ntpserv = NULL;

  npar = lua_gettop(L);
  bool lg = false;
  
  if (npar > 0) {
    tz = luaL_checkinteger( L, 1 );
    if ((tz > 14) || (tz < -12)) { tz = 0; }
  }
  if (npar > 1) {
    ntpserv = luaL_checklstring( L, 2, &len );
    if ((len == 0) || (len >= 32)) ntpserv = NULL;
  }
  if (npar > 2) {
    uint8_t ilg = luaL_checkinteger( L, 3 );
    if (ilg == 1) lg = true;
  }
  
  sntp_client_start(tz, ntpserv, lg);
  return 0;
}
OSStatus SntpInit(app_context_t * const app_context)
{
    u8 cnt = 0;
    
    user_log("[DBG]SntpInit: waiting for cloud connected...");

    // will wait for 3 second
    while(cnt < 6) {
        if(app_context->appStatus.fogcloudStatus.isCloudConnected == false) {
            mico_thread_msleep(500);
        }
        else {
            break;
        }
        cnt++;
    }

    if(cnt >= 6) {
        user_log("[WRN]SntpInit: cloud disconnected");
        return kGeneralErr;
    }
    
    return sntp_client_start();
}