void Example_monitorStatistic (Demodulator *demod) {
    
    Dword error = Error_NO_ERROR;
    Statistic stat;
    Dword postErrorCount=0;
    Dword postBitCount=0;
    Word  abortCount=0;
	Word  cnt=0;
    Long dbm = 0;
    
	do{
		error = Demodulator_getStatistic(demod, &stat);
		if (error) {
			printk("Demodulator_getStatistic failed!Error = 0x%08x\n", error);
			break;
		} else {
			printk("Signal Present = %s, Locked = %s\n", stat.signalPresented?"TRUE":"FALSE", stat.signalLocked?"TRUE":"FALSE");
			printk("Signal Quality = %d, Strength = %d\n", stat.signalQuality, stat.signalStrength);
		}

		error = Demodulator_getSignalStrengthDbm(demod, 18, 18, &dbm);
		if (error) {
			printk("Demodulator_getSignalStrengthDbm failed!Error = 0x%08x\n", error);
			break;
		} else {
			printk("Signal Strength = %d(DBm)\n", dbm);
		}   

		error = Demodulator_getPostVitBer (demod, &postErrorCount, &postBitCount, &abortCount);
		if (error) {
			printk("Demodulator_getPostVitBer failed!Error = 0x%08x\n", error);
			break;
		} else {
			if(postErrorCount){ 
				while(postErrorCount<postBitCount){
					postErrorCount = postErrorCount*10;
					cnt++;
				}
			}
			//printk("BER = %.03f+E%d, Abort Cnt  = %d\n", (double)postErrorCount/(double)postBitCount,cnt, abortCount);
		}

	}while(0);
}
Example #2
0
static int ite9173_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
{
	Dword ret = 0;
	struct ite9173_state *state = fe->demodulator_priv;

	pr_dbg("ite9173_read_signal_strength\n");

	*strength = 0;
	mutex_lock(&ite_lock);
	ret = Demodulator_getSignalStrengthDbm(pdemod,(Long*)strength);	
	mutex_unlock(&ite_lock);

	if(Error_NO_ERROR != ret)
		return -1;

	pr_dbg("ite9173_read_signal_strength--\n");

	return 0;
}