本文整理汇总了C++中DVBT_DEMOD_MODULE::SetRegBytes方法的典型用法代码示例。如果您正苦于以下问题:C++ DVBT_DEMOD_MODULE::SetRegBytes方法的具体用法?C++ DVBT_DEMOD_MODULE::SetRegBytes怎么用?C++ DVBT_DEMOD_MODULE::SetRegBytes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DVBT_DEMOD_MODULE
的用法示例。
在下文中一共展示了DVBT_DEMOD_MODULE::SetRegBytes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
int
set_rtl2832_ioctrl_8bit_demodbytes(
struct dvb_frontend *fe,
unsigned char page,
unsigned char reg_addr,
unsigned char* data,
unsigned short bytelength)
{
int ret = -1;
int i=0;
struct rtl2832_state* p_state = fe->demodulator_priv;
unsigned char data_temp[128];
DVBT_NIM_MODULE *pNim;
DVBT_DEMOD_MODULE *pDemod;
deb_info("+%s[1546]: page= %d reg_addr=0x%x bytelength=%d \n", __FUNCTION__,page, reg_addr,bytelength);
if (bytelength > 128 ) {
deb_info("ERROR::bytelength > 128\n");
return -1;
}
if (p_state->demod_type != RTL2832) {
deb_info("ERROR::demod type not rtl2832u...\n");
return -1;
}
pNim = p_state->pNim;
if (pNim == NULL) {
return -1;
}
if( mutex_lock_interruptible(&p_state->i2c_repeater_mutex) ) {
return -1;
}
pDemod=pNim->pDemod;
if(pDemod->SetRegPage(pDemod, page) != FUNCTION_SUCCESS) {
ret=-1;
goto error;
}
for(i=0; i<bytelength; i++) {
data_temp[i]=data[i];
}
if(pDemod->SetRegBytes(pDemod, reg_addr, data_temp, bytelength) != FUNCTION_SUCCESS) {
ret=-1;
goto error;
}
deb_info("-%s: data[%d,%x]= \n", __FUNCTION__,page, reg_addr);
for (i=0; i<bytelength; i++) {
deb_info("%x(%x),",data[i],data_temp[i]);
}
deb_info("\n");
ret=0;
error:
mutex_unlock(&p_state->i2c_repeater_mutex);
deb_info("-%s: page=%d reg_addr=0x%x bytelength=%d \n", __FUNCTION__,page, reg_addr,bytelength);
return ret;
}