• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ LOG_INF函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中LOG_INF函数的典型用法代码示例。如果您正苦于以下问题:C++ LOG_INF函数的具体用法?C++ LOG_INF怎么用?C++ LOG_INF使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了LOG_INF函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: AF_i2c_probe

/* Kirby: add new-style driver {*/
static int AF_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
    int i4RetValue = 0;

    LOG_INF("Start\n");

    /* Kirby: add new-style driver { */
    g_pstAF_I2Cclient = client;

    g_pstAF_I2Cclient->addr = I2C_SLAVE_ADDRESS;

    g_pstAF_I2Cclient->addr = g_pstAF_I2Cclient->addr >> 1;

    //Register char driver
    i4RetValue = Register_AF_CharDrv();

    if(i4RetValue){

        LOG_INF(" register char device failed!\n");

        return i4RetValue;
    }

    spin_lock_init(&g_AF_SpinLock);

    LOG_INF("Attached!! \n");

    return 0;
}
开发者ID:CobraJet93,项目名称:kernel-3.10.54,代码行数:30,代码来源:BU6429AF.c


示例2: BU6424AF_Release

/* Q1 : Try release multiple times. */
int BU6424AF_Release(struct inode *a_pstInode, struct file *a_pstFile)
{
	LOG_INF("Start\n");

	if (*g_pAF_Opened == 2) {
		char puSendCmd[2];

		puSendCmd[0] = (char)(0x00);
		puSendCmd[1] = (char)(0x00);
		i2c_master_send(g_pstAF_I2Cclient, puSendCmd, 2);
		LOG_INF("Wait\n");
		/*s4AF_WriteReg(200);
		msleep(20);
		s4AF_WriteReg(100);
		msleep(20);*/
	}

	if (*g_pAF_Opened) {
		LOG_INF("Free\n");

		spin_lock(g_pAF_SpinLock);
		*g_pAF_Opened = 0;
		spin_unlock(g_pAF_SpinLock);
	}

	LOG_INF("End\n");

	return 0;
}
开发者ID:P-D-A,项目名称:android_kernel_lge_mt6753,代码行数:30,代码来源:BU6424AF.c


示例3: usb_dc_ep_check_cap

int usb_dc_ep_check_cap(const struct usb_dc_ep_cfg_data *const cfg)
{
	u8_t ep_idx = EP_ADDR2IDX(cfg->ep_addr);

	if ((cfg->ep_type == USB_DC_EP_CONTROL) && ep_idx) {
		LOG_ERR("invalid endpoint configuration");
		return -1;
	}

	if (ep_idx >= NUM_OF_EP_MAX) {
		LOG_ERR("endpoint index/address out of range");
		return -1;
	}

	if (ep_idx & BIT(0)) {
		if (EP_ADDR2DIR(cfg->ep_addr) != USB_EP_DIR_IN) {
			LOG_INF("pre-selected as IN endpoint");
			return -1;
		}
	} else {
		if (EP_ADDR2DIR(cfg->ep_addr) != USB_EP_DIR_OUT) {
			LOG_INF("pre-selected as OUT endpoint");
			return -1;
		}
	}

	return 0;
}
开发者ID:loicpoulain,项目名称:zephyr,代码行数:28,代码来源:usb_dc_mcux_ehci.c


示例4: I2C_read__FBAF

//  *****************************************************
//  **** Read from the Peripheral register < 82h >
//  **** ------------------------------------------------
//  **** CL_UBYTE    adr    Peripheral Address
//  **** CL_UWORD    dat    Read data
//  *****************************************************
static CL_UWORD    I2C_read__FBAF( CL_UBYTE u08_adr )
{
        int  i4RetValue = 0;
    char pBuff[1] = {(char)(u08_adr & 0xFF)};
    CL_UWORD vRcvBuff=0;
        spin_lock(&g_AF_SpinLock);
    g_pstAF_I2Cclient->addr = (I2C_SLAVE_ADDRESS >> 1);
         g_pstAF_I2Cclient->ext_flag = (g_pstAF_I2Cclient->ext_flag)&(~I2C_DMA_FLAG);
        spin_unlock(&g_AF_SpinLock);

    i4RetValue = i2c_master_send(g_pstAF_I2Cclient, pBuff, 1);
    if (i4RetValue < 0 )
    {
        LOG_INF("[CAMERA SENSOR] read I2C send failed!!\n");
        return i4RetValue;
    }

    i4RetValue = i2c_master_recv(g_pstAF_I2Cclient, (u8*)&vRcvBuff, 2);
    if (i4RetValue != 2)
    {
        LOG_INF("[CAMERA SENSOR] I2C read failed!! \n");
        return i4RetValue;
    }
    //vRcvBuff=    ((vRcvBuff&0xFF) <<8) + ((vRcvBuff>> 8)&0xFF) ;
      vRcvBuff=((vRcvBuff<<8)&0xff00)|((vRcvBuff>>8)&0x00ff);

    LOG_INF("I2C r2 (%x %x) \n",u08_adr,vRcvBuff);

    return vRcvBuff;

}
开发者ID:4Fwolf,项目名称:signal75-kernel-3.10.61,代码行数:37,代码来源:BU64745GWZAF.c


示例5: combiroutes

/**
 * Constructor for the combi combiroutes
 * @param n		number of combi combiroutes to be created
 * @exception		Calls exit if no RAM available
 */
void combiroutes(const unsigned short nr)
{
	unsigned short		i, j;
	struct sCombiroute *	pCombiroute;

	LOG_INF("started");
	
	m_nrCombiroutes = nr;
	m_pCombiroutes = malloc(m_nrCombiroutes * sizeof(struct sCombiroute));
	if(NULL == m_pCombiroutes) 
	{
		/* error allocating */
		LOG_ERR("cannot allocate RAM of train combiroutes");
		exit(EXIT_FAILURE);
	}
	pCombiroute = m_pCombiroutes;
	for(i = 0; i < m_nrCombiroutes; i++)
	{
		pCombiroute->name[0]	= '\0';
		pCombiroute->start	= NULL;
		pCombiroute->dest	= NULL;
		pCombiroute->partsAddPosition	= 0;

		for(j = 0; j < NRCOMBIPARTS; j++)
		{
			pCombiroute->pRoute[j]	= NULL;
		}

		pCombiroute++;
	}

	LOG_INF("ended");
}
开发者ID:zerzawy,项目名称:badwaldsee,代码行数:38,代码来源:combiroute.c


示例6: otp_wb_update

/*************************************************************************************************
* Function    :  otp_wb_update
* Description :  Update WB correction
* Return      :  [bool] 0 : OTP data fail
                        1 : otp_WB update success
**************************************************************************************************/
bool otp_wb_update(BYTE zone)
{
    USHORT golden_g, current_g;


    if(!get_otp_wb(zone))  // get wb data from otp
    {
        LOG_INF("Get OTP WB data Err!\n");
        return 0;
    }

    golden_g = (golden_gr + golden_gb) / 2;
    current_g = (current_gr + current_gb) / 2;

    if(!golden_g || !current_g || !golden_r || !golden_b || !current_r || !current_b)
    {
        LOG_INF("WB update Err !\n");
        return 0;
    }

    r_ratio = 512 * golden_r * current_g /( golden_g * current_r );
    b_ratio = 512 * golden_b * current_g /( golden_g * current_b );

    wb_gain_set();

    LOG_INF("OTP WB update finished! \n");

    return 1;
}
开发者ID:AudioGod,项目名称:MediaTek-HelioX10-Kernel,代码行数:35,代码来源:imx135_otp.c


示例7: AF_Open

//Main jobs:
// 1.check for device-specified errors, device not ready.
// 2.Initialize the device if it is opened for the first time.
// 3.Update f_op pointer.
// 4.Fill data structures into private_data
//CAM_RESET
static int AF_Open(struct inode * a_pstInode, struct file * a_pstFile)
{
    LOG_INF("Start \n");


    if(g_s4AF_Opened)
    {
        LOG_INF("The device is opened \n");
        return -EBUSY;
    }

    spin_lock(&g_AF_SpinLock);
    g_s4AF_Opened = 1;
    spin_unlock(&g_AF_SpinLock);
    I2C_func_POFF_____( );                    // reset the IC
    I2C_func_PON______( );                    // Power ON

    func_INITIALIZE( );                        // initialize the IC
    func_ReLOAD_FACT_DATA( );                // ReLoad Adjustment Data
    I2C_func_DSP_START( );                    // CLAF Function Enable

    EQ_CONTROL( 0x0004 );

    LOG_INF("End \n");
    return 0;
}
开发者ID:CobraJet93,项目名称:kernel-3.10.54,代码行数:32,代码来源:BU64745GWZAF.c


示例8: AF_Release

//Main jobs:
// 1.Deallocate anything that "open" allocated in private_data.
// 2.Shut down the device on last close.
// 3.Only called once on last time.
// Q1 : Try release multiple times.
static int AF_Release(struct inode * a_pstInode, struct file * a_pstFile)
{
    LOG_INF("Start \n");

    if (g_s4AF_Opened == 2)
    {
        g_sr = 5;
        s4AF_WriteReg(200);
        msleep(10);
        s4AF_WriteReg(100);
        msleep(10);
    }

    if (g_s4AF_Opened)
    {
        LOG_INF("Free \n");

        spin_lock(&g_AF_SpinLock);
        g_s4AF_Opened = 0;
         g_sr = 5;
        spin_unlock(&g_AF_SpinLock);
    }    

    LOG_INF("End \n");

    return 0;
}
开发者ID:Elnter,项目名称:j608_kernel,代码行数:32,代码来源:BU64745GWZAF.c


示例9: sections

/**
 * Constructor for the sections
 * @param nr		number of sections to be created
 * @exception       Calls exit if no RAM available
 */
void sections(const unsigned short nr) 
{
	unsigned short	i, j;
	struct sSection *	ptr;

	LOG_INF("started");
	
	m_nrSection = nr;
	m_pSection = malloc(m_nrSection * sizeof(struct sSection));
	if(NULL == m_pSection) 
	{
		/* error allocating */
		LOG_ERR("cannot allocate RAM of sections");
		exit(EXIT_FAILURE);
	}
	ptr = m_pSection;
	for(i = 0; i < m_nrSection; i++)
	{
		ptr->name[0]	= '\0';
		ptr->BI_occDetector	= NONEVALUE;
		ptr->DuoledAddPosition	= 0;
		ptr->line	= neutral;
		ptr->linePrev	= neutral;
		ptr->free	= false;
		ptr->wasFree	= false;
		ptr->route	= false;
		ptr->wasRoute	= false;
		for(j = 0; j < NRBLOCKPL; j++)
		{
			ptr->pDuoled[j] = NULL;
		}
		ptr++;
	}		
	LOG_INF("ended");
}
开发者ID:zerzawy,项目名称:badwaldsee,代码行数:40,代码来源:section.c


示例10: commInit

void commInit(void) 
{
	LOG_INF("started");
	sockKill = false;
	pthread_create(& sockThread, NULL, sockFunction, (void *) sock);

	LOG_INF("ended");
}
开发者ID:zerzawy,项目名称:badwaldsee,代码行数:8,代码来源:comm.c


示例11: GLOBAL_PROFILING_LOG_PRINT

//-----------------------------------------------------------------------------
MBOOL TdriMgrImp::uninit(void)
{
    MBOOL Result = MTRUE;
    int i;
    //
    GLOBAL_PROFILING_LOG_PRINT(__func__);
    GLOBAL_PROFILING_LOG_PRINT("Uninit TdriMgr");
    //
    Mutex::Autolock lock(mLock);
    //
    LOG_INF("mInitCount(%d)",mInitCount);
    //
    android_atomic_dec(&mInitCount);
    //
    if(mInitCount > 0) {
        goto EXIT;
    }


    for(i=TPIPE_DRV_CQ01; i<=TPIPE_DRV_CQ02; i++) {
        if(i == TPIPE_DRV_CQ01) {
            pIspDrv->lockSemaphoreCq1();
            tdriMgrInfo[i].pDescriptorArray = NULL;
            tdriMgrInfo[i].pDesriptorNum = 0;
            tdriMgrInfo[i].pTopCtlEn1 = 0;
            tdriMgrInfo[i].pTopCtlEn2 = 0;
            tdriMgrInfo[i].pTopCtlDma = 0;
            pIspDrv->unlockSemaphoreCq1();
        } else if (i == TPIPE_DRV_CQ02) {
            pIspDrv->lockSemaphoreCq2();
            tdriMgrInfo[i].pDescriptorArray = NULL;
            tdriMgrInfo[i].pDesriptorNum = 0;
            tdriMgrInfo[i].pTopCtlEn1 = 0;
            tdriMgrInfo[i].pTopCtlEn2 = 0;
            tdriMgrInfo[i].pTopCtlDma = 0;
            pIspDrv->unlockSemaphoreCq2();
        } else {
            LOG_ERR("[ERROR]not support this tdri cq(%d) number \n");
        }
    }


    //tpipe driver
    pTdriDri->uninit();
    pTdriDri->destroyInstance();
    pTdriDri = NULL;

    //isp drv
    pIspDrv->setCallbacks(NULL, NULL);
    pIspDrv->uninit();
    pIspDrv->destroyInstance();
    pIspDrv = NULL;

    LOG_INF("Release\n");

EXIT:
    return Result;
}
开发者ID:HiRolland,项目名称:alps-fairphone-gpl,代码行数:59,代码来源:tdri_mgr.cpp


示例12: flushSetting

//-----------------------------------------------------------------------------
MBOOL
TdriMgrImp::
flushSetting(
    ISP_DRV_CQ_ENUM ispCq
)
{
    LOCAL_PROFILING_LOG_AUTO_START(Event_TdriMgr);
    LOCAL_PROFILING_LOG_PRINT("flushSetting");

    LOG_INF("E:Cq(%d)",ispCq);
    //
    if(tdriMgrCqMap[ispCq].tdriMgrCQ == TPIPE_DRV_CQ01) {
        pIspDrv->lockSemaphoreCq1();
        // flush setting
        ::memset((char*)&tdriMgrInfo[TPIPE_DRV_CQ01].tdriTurningSetting, 0x00, sizeof(TDRI_MGR_TPIPE_TABLE_TURNING));
        ::memset((char*)&tdriMgrInfo[TPIPE_DRV_CQ01].tdriMgrCfg, 0x00, sizeof(TdriDrvCfg));
        tdriMgrInfo[TPIPE_DRV_CQ01].tdriMgrCfg.updateTdri.updateType = TPIPE_DRV_UPDATE_TYPE_CQ1_TURNING_SAVE;
        refreshTableSetting(TPIPE_DRV_CQ01, 0xffffffff);  // refresh all setting
        tdriMgrInfo[TPIPE_DRV_CQ01].tdriMgrCfg.updateTdri.partUpdateFlag = 0xffffffff; // clean Tpipe update flag
        handleTpipeTable(TPIPE_DRV_CQ01);

        pIspDrv->setTurnTopEn1(ISP_DRV_CQ01, ISP_DRV_TURNING_TOP_RESET);
        pIspDrv->setTurnTopEn2(ISP_DRV_CQ01, ISP_DRV_TURNING_TOP_RESET);
        pIspDrv->setTurnTopDma(ISP_DRV_CQ01, ISP_DRV_TURNING_TOP_RESET);
        pIspDrv->flushTurnCqTable(ISP_DRV_CQ01);
        //
        pIspDrv->unlockSemaphoreCq1();
    }
    else if(tdriMgrCqMap[ispCq].tdriMgrCQ == TPIPE_DRV_CQ02) {
        pIspDrv->lockSemaphoreCq2();
        // flush setting
        ::memset((char*)&tdriMgrInfo[TPIPE_DRV_CQ02].tdriTurningSetting, 0x00, sizeof(TDRI_MGR_TPIPE_TABLE_TURNING));
        ::memset((char*)&tdriMgrInfo[TPIPE_DRV_CQ02].tdriMgrCfg, 0x00, sizeof(TdriDrvCfg));
        tdriMgrInfo[TPIPE_DRV_CQ02].tdriMgrCfg.updateTdri.updateType = TPIPE_DRV_UPDATE_TYPE_CQ2_TURNING_SAVE;
        refreshTableSetting(TPIPE_DRV_CQ02, 0xffffffff);  // refresh all setting
        tdriMgrInfo[TPIPE_DRV_CQ02].tdriMgrCfg.updateTdri.partUpdateFlag = 0xffffffff; // clean Tpipe update flag
        handleTpipeTable(TPIPE_DRV_CQ02);


        pIspDrv->setTurnTopEn1(ISP_DRV_CQ02, ISP_DRV_TURNING_TOP_RESET);
        pIspDrv->setTurnTopEn2(ISP_DRV_CQ02, ISP_DRV_TURNING_TOP_RESET);
        pIspDrv->setTurnTopDma(ISP_DRV_CQ02, ISP_DRV_TURNING_TOP_RESET);
        pIspDrv->flushTurnCqTable(ISP_DRV_CQ02);
        //
        pIspDrv->unlockSemaphoreCq2();
    }
    else {
        LOG_WRN("not support this tMgrCq(%d) for flush",tdriMgrCqMap[ispCq].tdriMgrCQ);
        return MFALSE;
    }

    LOG_INF("X\n",ispCq);
    LOCAL_PROFILING_LOG_PRINT("End flushSetting");

    return MTRUE;

}
开发者ID:HiRolland,项目名称:alps-fairphone-gpl,代码行数:58,代码来源:tdri_mgr.cpp


示例13: otp_update

/*************************************************************************************************
* Function    :  otp_update()
* Description :  update otp data from otp , it otp data is valid,
                 it include get ID and WB update function
* Return      :  [bool] 0 : update fail
                        1 : update success
**************************************************************************************************/
bool otp_update(BYTE update_sensor_otp_awb, BYTE update_sensor_otp_lsc)
{
    BYTE zone = 0x01;
    BYTE FLG  = 0x00;
    BYTE MID = 0x00;
    int i;

    LOG_INF("update_sensor_otp_awb: %d, update_sensor_otp_lsc: %d\n", update_sensor_otp_awb, update_sensor_otp_lsc );

    for(i=0;i<3;i++)
    {
        FLG = get_otp_flag(zone);
        if(FLG == VALID_OTP)
            break;
        else
            zone++;
    }
    if(i==3)
    {
        LOG_INF("No OTP Data or OTP data is invalid!!!\n");
        return 0;
    }

    MID =     get_otp_module_id(zone);
#ifdef DEBUG_IMX135_OTP
    get_otp_lens_id(zone);
    get_otp_vcm_id(zone);
#endif

    if(MID != TRULY_ID) //Select
    {
        LOG_INF("No Truly Module !!!!\n");
        return 0;
    }

    if(0 != update_sensor_otp_awb && _otp_awb_set == 0) {
        if(otp_wb_update(zone)){
  		    spin_lock(&imx135_otp_lock);
            _otp_awb_set = 1;
            spin_unlock(&imx135_otp_lock);
        }
    }


    if(0 != update_sensor_otp_lsc && _otp_lsc_set == 0)
    {
        if(!otp_lenc_update())
        {
            LOG_INF("OTP Update LSC Err\n");
            return 0;
        }
		spin_lock(&imx135_otp_lock);
        _otp_lsc_set = 1;
     	spin_unlock(&imx135_otp_lock);
    }
    return 1;
}
开发者ID:AudioGod,项目名称:MediaTek-HelioX10-Kernel,代码行数:64,代码来源:imx135_otp.c


示例14: duoledDestroy

/** 
 * Destructor. 
 *
 * To free the allocated RAM, call this function before terminating the program.
 */
void duoledDestroy(void) 
{
	LOG_INF("started");
	free(m_pDuoled);
	m_pDuoled = NULL;
	m_nrDuoled = 0;
	m_DuoledAddPosition = 0;
	LOG_INF("ended");
}
开发者ID:zerzawy,项目名称:badwaldsee,代码行数:14,代码来源:duoled.c


示例15: LOG_INF

MdpMgr *MdpMgr::createInstance()
{
    LOG_INF("+");

    DBG_LOG_CONFIG(imageio, mdpmgr);
    static MdpMgrImp singleton;

    LOG_INF("-");    
    return &singleton;
}
开发者ID:SteveHuang27,项目名称:Thunder-Kernel,代码行数:10,代码来源:mdp_mgr.cpp


示例16: display_windows_ce_infos

void
display_windows_ce_infos (void)
{
  Uint32 i;
  char *param;
  WCHAR wparam[PARAMAX_LEN + 1];
  OSVERSIONINFO vinfo;
  static const char *action_names[] = {
    "SPI_GETPLATFORMMANUFACTURER",
    "SPI_GETPLATFORMNAME",
    "SPI_GETPLATFORMTYPE"
  };
  static const Uint32 actions[] = {
    SPI_GETPLATFORMMANUFACTURER,
    SPI_GETPLATFORMNAME,
    SPI_GETPLATFORMTYPE
  };
  for (i = 0; i < sizeof (actions) / sizeof (Uint32); i++)
    {
      if (SystemParametersInfo (actions[i], PARAMAX_LEN, wparam, 0) == FALSE)
        {
          LOG_ERR ("SystemParametersInfo(%s) "
                   "failed (error %i)", action_names[i], GetLastError ());
          continue;
        }
      param = wide_char_to_bytes (wparam, 0, CP_ACP);
      if (param == NULL)
        {
          continue;
        }
      LOG_INF ("%s %s", action_names[i], param);
      free_memory (param);
    }

  if (GetVersionEx (&vinfo) == FALSE)
    {
      LOG_ERR ("GetVersionEx() " "failed (error %i)", GetLastError ());
    }
  else
    {
      if (vinfo.dwPlatformId != VER_PLATFORM_WIN32_CE)
        {
          LOG_ERR ("this system is not a Windows Embedded CE OS");
        }
      else
        {
          LOG_INF ("Windows Mobile %i.%i", vinfo.dwMajorVersion,
                   vinfo.dwMinorVersion);
        }
    }

  LOG_INF ("SM_CXSCREEN: %i; SM_CYSCREEN: %i",
           GetSystemMetrics (SM_CXSCREEN), GetSystemMetrics (SM_CYSCREEN));
}
开发者ID:netmask,项目名称:powermanga,代码行数:54,代码来源:tools.c


示例17: commDestroy

void commDestroy(void) 
{
	void * ptr;
	
	LOG_INF("started");
	sockKill = true;
	pthread_join(sockThread, & ptr);
	free(pOutString);
	free(pInString);
	LOG_INF("ended");
}
开发者ID:zerzawy,项目名称:badwaldsee,代码行数:11,代码来源:comm.c


示例18: sectionsInit

/**
 * Init function for the sections
 *
 * Here, all sections are initialised according to the state of the occupancy
 * detectors.
 */
void sectionsInit(void) 
{
	struct sSection *		ptr = m_pSection;  
	struct sDuoled *	pDuoled;
	unsigned short 		i;
	unsigned short 		j;
	LOG_INF("started");
	
	/* Note: all vars are initialised, also the ones which are not
	 * used anymore, e.g. slave sections
	 */
	assert(NULL != ptr);
	for (i = 0; i < m_nrSection; i++) 
	{
		ptr->route         = false;
		ptr->wasRoute      = false;
		ptr->line          = neutral;
		ptr->linePrev      = neutral;
		j = 0;
		while(NULL != (pDuoled = sectionGetDuoled(ptr, j)))
		{
			duoledSetMode(pDuoled, ledOff);
			j++;
		}
		/* check if there are occupied sections and set the color on the 
		 * desk accordingly
		 */
		if(registerBitGet(ptr->BI_occDetector)) 
		{
			ptr->free = false;
			ptr->wasFree = false;
			j = 0;
			while(NULL != (pDuoled = sectionGetDuoled(ptr, j)))
			{
				duoledSetOccupied(pDuoled, true);
				j++;
			}
		}
		else 
		{
			ptr->free = true;
			ptr->wasFree = true;
			j = 0;
			while(NULL != (pDuoled = sectionGetDuoled(ptr, j)))
			{
				duoledSetOccupied(pDuoled, false);
				j++;
			}
		}
		ptr++;
	}
	LOG_INF("ended"); 
}
开发者ID:zerzawy,项目名称:badwaldsee,代码行数:59,代码来源:section.c


示例19: get_otp_lens_id

/*************************************************************************************************
* Function    :  get_otp_lens_id
* Description :  get otp LENS_ID value
* Parameters  :  [BYTE] zone : OTP PAGE index , 0x00~0x0f
* Return      :  [BYTE] 0 : OTP data fail
                 other value : LENS ID data
**************************************************************************************************/
BYTE get_otp_lens_id(BYTE zone)
{
    BYTE lens_id = 0;
    if(!start_read_otp(zone))
    {
        LOG_INF("Start read Page %d Fail!\n", zone);
        return 0;
    }
    lens_id = read_cmos_sensor(0x3B09);
    LOG_INF("OTP_Lens ID: 0x%02x.\n",lens_id);
    return lens_id;
}
开发者ID:AudioGod,项目名称:MediaTek-HelioX10-Kernel,代码行数:19,代码来源:imx135_otp.c


示例20: Light

/*************************************************************************************************
* Function    :  get_light_id
* Description :  get otp environment light temperature value
* Parameters  :  [BYTE] zone : OTP PAGE index , 0x00~0x0f
* Return      :  [BYTE] 0 : OTP data fail
                        other value : driver ID data
                        BIT0:D65(6500K) EN
                        BIT1:D50(5100K) EN
                        BIT2:CWF(4000K) EN
                        BIT3:A Light(2800K) EN
**************************************************************************************************/
BYTE get_light_id(BYTE zone)
{
    BYTE light_id = 0;
    if(!start_read_otp(zone))
    {
        LOG_INF("Start read Page %d Fail!\n", zone);
        return 0;
    }
    light_id = read_cmos_sensor(0x3B0C);
    LOG_INF("OTP_Light ID: 0x%02x.\n",light_id);
    return light_id;
}
开发者ID:AudioGod,项目名称:MediaTek-HelioX10-Kernel,代码行数:23,代码来源:imx135_otp.c



注:本文中的LOG_INF函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ LOG_INFO函数代码示例发布时间:2022-05-30
下一篇:
C++ LOG_I函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap