sint8 hif_init(void * arg) { m2m_memset((uint8*)&gstrHifCxt,0,sizeof(tstrHifContext)); nm_bsp_register_isr(isr); hif_register_cb(M2M_REQ_GROUP_HIF,m2m_hif_cb); return M2M_SUCCESS; }
sint8 m2m_wifi_init(tstrWifiInitParam * param) { sint8 ret = M2M_SUCCESS; gpfAppWifiCb = param->pfAppWifiCb; #ifdef ETH_MODE gpfAppEthCb = param->strEthInitParam.pfAppEthCb; gau8ethRcvBuf = param->strEthInitParam.au8ethRcvBuf; gu16ethRcvBufSize = param->strEthInitParam.u16ethRcvBufSize; #endif #ifdef CONF_MGMT gpfAppMonCb = param->pfAppMonCb; #endif gu8scanInProgress = 0; /* Apply device specific initialization. */ ret = nm_drv_init(NULL); if(ret != M2M_SUCCESS) goto _EXIT0; /* Initialize host interface module */ ret = hif_init(NULL); if(ret != M2M_SUCCESS) goto _EXIT1; hif_register_cb(M2M_REQ_GRP_WIFI,m2m_wifi_cb); return ret; _EXIT1: nm_drv_deinit(NULL); _EXIT0: return ret; }
/********************************************************************* Function socketDeinit Description Return None. Author Samer Sarhan Version 1.0 Date 27 Feb 2015 *********************************************************************/ void socketDeinit(void) { m2m_memset((uint8*)gastrSockets, 0, MAX_SOCKET * sizeof(tstrSocket)); hif_register_cb(M2M_REQ_GRP_IP, NULL); gpfAppSocketCb = NULL; gpfAppResolveCb = NULL; gbSocketInit = 0; }
/********************************************************************* Function socketInit Description Return None. Author Ahmed Ezzat Versio 1.0 Date 4 June 2012 *********************************************************************/ void socketInit(void) { if(gbSocketInit==0) { m2m_memset((uint8*)gastrSockets, 0, MAX_SOCKET * sizeof(tstrSocket)); hif_register_cb(M2M_REQ_GRP_IP,m2m_ip_cb); gbSocketInit=1; } }
/*! @fn \ sint8 m2m_crypto_init(); @brief crypto initialization @param[in] pfAppCryproCb */ sint8 m2m_crypto_init(tpfAppCryproCb pfAppCryproCb) { sint8 ret = M2M_ERR_FAIL; m2m_memset((uint8*)&gstrCryptoCtxt,0,sizeof(tstrCryptoCtxt)); if(pfAppCryproCb != NULL) { gstrCryptoCtxt.pfAppCryptoCb = pfAppCryproCb; ret = hif_register_cb(M2M_REQ_GROUP_CRYPTO,m2m_crypto_cb); } return ret; }
sint8 m2m_wifi_init(tstrWifiInitParam * param) { tstrM2mRev strtmp; sint8 ret = M2M_SUCCESS; uint8 u8WifiMode = M2M_WIFI_MODE_NORMAL; if(param == NULL) { ret = M2M_ERR_FAIL; goto _EXIT0; } gpfAppWifiCb = param->pfAppWifiCb; #ifdef ETH_MODE gpfAppEthCb = param->strEthInitParam.pfAppEthCb; gau8ethRcvBuf = param->strEthInitParam.au8ethRcvBuf; gu16ethRcvBufSize = param->strEthInitParam.u16ethRcvBufSize; u8WifiMode = param->strEthInitParam.u8EthernetEnable; #endif /* ETH_MODE */ #ifdef CONF_MGMT gpfAppMonCb = param->pfAppMonCb; #endif gu8scanInProgress = 0; /* Apply device specific initialization. */ ret = nm_drv_init(&u8WifiMode); if(ret != M2M_SUCCESS) goto _EXIT0; /* Initialize host interface module */ ret = hif_init(NULL); if(ret != M2M_SUCCESS) goto _EXIT1; hif_register_cb(M2M_REQ_GROUP_WIFI,m2m_wifi_cb); ret = nm_get_firmware_info(&strtmp); M2M_INFO("Firmware ver : %u.%u.%u\n", strtmp.u8FirmwareMajor, strtmp.u8FirmwareMinor, strtmp.u8FirmwarePatch); M2M_INFO("Min driver ver : %u.%u.%u\n", strtmp.u8DriverMajor, strtmp.u8DriverMinor, strtmp.u8DriverPatch); M2M_INFO("Curr driver ver: %u.%u.%u\n", M2M_DRIVER_VERSION_MAJOR_NO, M2M_DRIVER_VERSION_MINOR_NO, M2M_DRIVER_VERSION_PATCH_NO); if(M2M_ERR_FW_VER_MISMATCH == ret) { M2M_ERR("Mismatch Firmawre Version\n"); } goto _EXIT0; _EXIT1: nm_drv_deinit(NULL); _EXIT0: return ret; }
sint8 hif_init(void * arg) { pfWifiCb = NULL; pfIpCb = NULL; gu8ChipSleep = 0; gu8ChipMode = M2M_NO_PS; gu8Interrupt = 0; nm_bsp_register_isr(isr); hif_register_cb(M2M_REQ_GROUP_HIF,m2m_hif_cb); return M2M_SUCCESS; }
/*! @fn \ NMI_API sint8 m2m_ota_init(tpfOtaUpdateCb pfOtaUpdateCb, tpfOtaNotifCb pfOtaNotifCb); @brief Initialize the OTA layer. @param [in] pfOtaUpdateCb OTA Update callback function @param [in] pfOtaNotifCb OTA notify callback function @return The function SHALL return 0 for success and a negative value otherwise. */ NMI_API sint8 m2m_ota_init(tpfOtaUpdateCb pfOtaUpdateCb, tpfOtaNotifCb pfOtaNotifCb) { sint8 ret = M2M_SUCCESS; if(pfOtaUpdateCb){ gpfOtaUpdateCb = pfOtaUpdateCb; }else{ M2M_ERR("Invaild Ota update cb\n"); } if(pfOtaNotifCb){ gpfOtaNotifCb = pfOtaNotifCb; }else{ M2M_ERR("Invaild Ota notify cb\n"); } hif_register_cb(M2M_REQ_GROUP_OTA,m2m_ota_cb); return ret; }