|
From: <lin...@us...> - 2002-08-28 08:58:59
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv19899
Modified Files:
dvbtune.c tune.c Makefile
Log Message:
first attempt at NEWSTRUCT support
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** dvbtune.c 25 Aug 2002 15:03:46 -0000 1.10
--- dvbtune.c 28 Aug 2002 08:58:55 -0000 1.11
***************
*** 48,51 ****
--- 48,59 ----
// DVB includes:
+ #ifdef NEWSTRUCT
+ #include <linux/dvb/osd.h>
+ #include <linux/dvb/dmx.h>
+ #include <linux/dvb/frontend.h>
+ #include <linux/dvb/video.h>
+ #include <linux/dvb/audio.h>
+ #include <linux/dvb/net.h>
+ #else
#include <ost/osd.h>
#include <ost/dmx.h>
***************
*** 55,58 ****
--- 63,67 ----
#include <ost/audio.h>
#include <ost/net.h>
+ #endif
#include "tune.h"
***************
*** 72,79 ****
--- 81,94 ----
int tone = -1;
+ #ifdef NEWSTRUCT
+ char* frontenddev[4]={"/dev/dvb/adapter0/frontend0","/dev/dvb/adapter1/frontend0","/dev/dvb/adapter2/frontend0","/dev/dvb/adapter3/frontend0"};
+ char* dvrdev[4]={"/dev/dvb/adapter0/dvr0","/dev/dvb/adapter1/dvr0","/dev/dvb/adapter2/dvr0","/dev/dvb/adapter3/dvr0"};
+ char* demuxdev[4]={"/dev/dvb/adapter0/demux0","/dev/dvb/adapter1/demux0","/dev/dvb/adapter2/demux0","/dev/dvb/adapter3/demux0"};
+ #else
char* frontenddev[4]={"/dev/ost/frontend0","/dev/ost/frontend1","/dev/ost/frontend2","/dev/ost/frontend3"};
char* dvrdev[4]={"/dev/ost/dvr0","/dev/ost/dvr1","/dev/ost/dvr2","/dev/ost/dvr3"};
char* secdev[4]={"/dev/ost/sec0","/dev/ost/sec1","/dev/ost/sec2","/dev/ost/sec3"};
char* demuxdev[4]={"/dev/ost/demux0","/dev/ost/demux1","/dev/ost/demux2","/dev/ost/demux3"};
+ #endif
typedef struct _transponder_t {
***************
*** 1216,1222 ****
ioctl(fd_frontend,FE_READ_STATUS,&festatus);
fprintf(stderr,"Signal=%d, Verror=%d, SNR=%ddB, BlockErrors=%d, (", strength, ber, snr, uncorr);
if (festatus & FE_HAS_POWER) fprintf(stderr,"P|");
- if (festatus & FE_HAS_SIGNAL) fprintf(stderr,"S|");
if (festatus & FE_SPECTRUM_INV) fprintf(stderr,"I|");
if (festatus & FE_HAS_LOCK) fprintf(stderr,"L|");
if (festatus & FE_HAS_CARRIER) fprintf(stderr,"C|");
--- 1231,1239 ----
ioctl(fd_frontend,FE_READ_STATUS,&festatus);
fprintf(stderr,"Signal=%d, Verror=%d, SNR=%ddB, BlockErrors=%d, (", strength, ber, snr, uncorr);
+ #ifndef NEWSTRUCT
if (festatus & FE_HAS_POWER) fprintf(stderr,"P|");
if (festatus & FE_SPECTRUM_INV) fprintf(stderr,"I|");
+ #endif
+ if (festatus & FE_HAS_SIGNAL) fprintf(stderr,"S|");
if (festatus & FE_HAS_LOCK) fprintf(stderr,"L|");
if (festatus & FE_HAS_CARRIER) fprintf(stderr,"C|");
***************
*** 1248,1251 ****
--- 1265,1269 ----
}
+ #ifndef NEWSTRUCT
/* Only open sec for DVB-S tuning */
if (freq<100000000) {
***************
*** 1255,1258 ****
--- 1273,1277 ----
}
}
+ #endif
if((fd_demuxrec = open(demuxdev[card],O_RDWR|O_NONBLOCK)) < 0){
***************
*** 1358,1362 ****
fprintf(stderr, "Failed to open DVB NET DEVICE");
close(fd_frontend);
! close(fd_sec);
} else {
// Add the network interface
--- 1377,1381 ----
fprintf(stderr, "Failed to open DVB NET DEVICE");
close(fd_frontend);
! if (fd_sec) close(fd_sec);
} else {
// Add the network interface
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** tune.c 9 Jul 2002 06:45:26 -0000 1.10
--- tune.c 28 Aug 2002 08:58:55 -0000 1.11
***************
*** 27,37 ****
#include <unistd.h>
#include <ost/dmx.h>
#include <ost/sec.h>
#include <ost/frontend.h>
! #include <ost/frontend.h>
#include "tune.h"
int OSTSelftest(int fd)
{
--- 27,42 ----
#include <unistd.h>
+ #ifdef NEWSTRUCT
+ #include <linux/dvb/dmx.h>
+ #include <linux/dvb/frontend.h>
+ #else
#include <ost/dmx.h>
#include <ost/sec.h>
#include <ost/frontend.h>
! #endif
#include "tune.h"
+ #ifndef NEWSTRUCT
int OSTSelftest(int fd)
{
***************
*** 142,156 ****
return 0;
}
! int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone, SpectralInversion specInv, unsigned int diseqc,Modulation modulation,CodeRate HP_CodeRate,TransmitMode TransmissionMode,GuardInterval guardInterval, BandWidth bandWidth) {
int i,res;
int32_t strength;
FrontendStatus festatus;
FrontendEvent event;
FrontendParameters feparams;
secVoltage voltage;
- struct pollfd pfd[1];
struct secStatus sec_state;
! FrontendInfo fe_info;
/* discard stale frontend events */
--- 147,360 ----
return 0;
}
+ #endif
! void print_status(FILE* fd,FrontendStatus festatus) {
! fprintf(fd,"FE_STATUS:");
! // if (festatus & FE_HAS_POWER) fprintf(fd," FE_HAS_POWER");
! if (festatus & FE_HAS_SIGNAL) fprintf(fd," FE_HAS_SIGNAL");
! // if (festatus & FE_SPECTRUM_INV) fprintf(fd," FE_SPECTRUM_INV");
! if (festatus & FE_HAS_LOCK) fprintf(fd," FE_HAS_LOCK");
! if (festatus & FE_HAS_CARRIER) fprintf(fd," FE_HAS_CARRIER");
! if (festatus & FE_HAS_VITERBI) fprintf(fd," FE_HAS_VITERBI");
! if (festatus & FE_HAS_SYNC) fprintf(fd," FE_HAS_SYNC");
! if (festatus & FE_TIMEDOUT) fprintf(fd," FE_TIMEDOUT");
! // if (festatus & FE_TUNER_HAS_LOCK) fprintf(fd," FE_TUNER_HAS_LOCK");
! fprintf(fd,"\n");
! }
!
! #ifdef NEWSTRUCT
! int check_status(int fd_frontend,struct dvb_frontend_parameters* feparams,int tone) {
! int i,res;
! int32_t strength;
! FrontendStatus festatus;
! struct dvb_frontend_event event;
! struct dvb_frontend_info fe_info;
! struct pollfd pfd[1];
!
! if (ioctl(fd_frontend,FE_SET_FRONTEND,feparams) < 0) {
! perror("ERROR tuning channel\n");
! return -1;
! }
!
! pfd[0].fd = fd_frontend;
! pfd[0].events = POLLIN;
!
! event.status=0;
! while (((event.status & FE_TIMEDOUT)==0) && ((event.status & FE_HAS_LOCK)==0)) {
! fprintf(stderr,"polling....\n");
! if (poll(pfd,1,10000)){
! if (pfd[0].revents & POLLIN){
! fprintf(stderr,"Getting frontend event\n");
! if ( ioctl(fd_frontend, FE_GET_EVENT, &event) == -EBUFFEROVERFLOW){
! perror("FE_GET_EVENT");
! return -1;
! }
! }
! print_status(stderr,event.status);
! }
! }
!
! if (event.status & FE_HAS_LOCK) {
! switch(fe_info.type) {
! case FE_OFDM:
! fprintf(stderr,"Event: Frequency: %d\n",event.parameters.frequency);
! break;
! case FE_QPSK:
! fprintf(stderr,"Event: Frequency: %d\n",(unsigned int)((event.parameters.frequency)+(tone==SEC_TONE_OFF ? LOF1 : LOF2)));
! fprintf(stderr," SymbolRate: %d\n",event.parameters.u.qpsk.symbol_rate);
! fprintf(stderr," FEC_inner: %d\n",event.parameters.u.qpsk.fec_inner);
! fprintf(stderr,"\n");
! break;
! case FE_QAM:
! fprintf(stderr,"Event: Frequency: %d\n",event.parameters.frequency);
! fprintf(stderr," SymbolRate: %d\n",event.parameters.u.qpsk.symbol_rate);
! fprintf(stderr," FEC_inner: %d\n",event.parameters.u.qpsk.fec_inner);
! break;
! default:
! break;
! }
!
! strength=0;
! ioctl(fd_frontend,FE_READ_BER,&strength);
! fprintf(stderr,"Bit error rate: %d\n",strength);
!
! strength=0;
! ioctl(fd_frontend,FE_READ_SIGNAL_STRENGTH,&strength);
! fprintf(stderr,"Signal strength: %d\n",strength);
!
! strength=0;
! ioctl(fd_frontend,FE_READ_SNR,&strength);
! fprintf(stderr,"SNR: %d\n",strength);
!
! festatus=0;
! ioctl(fd_frontend,FE_READ_STATUS,&festatus);
! print_status(stderr,festatus);
! } else {
! fprintf(stderr,"Not able to lock to the signal on the given frequency\n");
! return -1;
! }
! return 0;
! }
! #else
! int check_status(int fd_frontend,FrontendParameters* feparams,int tone) {
int i,res;
int32_t strength;
FrontendStatus festatus;
FrontendEvent event;
+ FrontendInfo fe_info;
+ struct pollfd pfd[1];
+
+ i = 0; res = -1;
+ while ((i < 3) && (res < 0)) {
+ if (ioctl(fd_frontend,FE_SET_FRONTEND,feparams) < 0) {
+ perror("ERROR tuning channel\n");
+ return -1;
+ }
+
+ pfd[0].fd = fd_frontend;
+ pfd[0].events = POLLIN;
+
+ if (poll(pfd,1,10000)){
+ if (pfd[0].revents & POLLIN){
+ fprintf(stderr,"Getting frontend event\n");
+ if ( ioctl(fd_frontend, FE_GET_EVENT, &event) == -EBUFFEROVERFLOW){
+ perror("FE_GET_EVENT");
+ return -1;
+ }
+ fprintf(stderr,"Received ");
+ switch(event.type){
+ case FE_UNEXPECTED_EV:
+ fprintf(stderr,"unexpected event\n");
+ res = -1;
+ break;
+ case FE_FAILURE_EV:
+ fprintf(stderr,"failure event\n");
+ res = -1;
+ break;
+ case FE_COMPLETION_EV:
+ fprintf(stderr,"completion event\n");
+ res = 0;
+ break;
+ }
+ }
+ i++;
+ }
+ }
+
+ if (res > 0)
+ switch (event.type) {
+ case FE_UNEXPECTED_EV: fprintf(stderr,"FE_UNEXPECTED_EV\n");
+ break;
+ case FE_COMPLETION_EV: fprintf(stderr,"FE_COMPLETION_EV\n");
+ break;
+ case FE_FAILURE_EV: fprintf(stderr,"FE_FAILURE_EV\n");
+ break;
+ }
+
+ if (event.type == FE_COMPLETION_EV) {
+ switch(fe_info.type) {
+ case FE_OFDM:
+ fprintf(stderr,"Event: Frequency: %d\n",event.u.completionEvent.Frequency);
+ break;
+ case FE_QPSK:
+ fprintf(stderr,"Event: Frequency: %d\n",(unsigned int)((event.u.completionEvent.Frequency)+(tone==SEC_TONE_OFF ? LOF1 : LOF2)));
+ fprintf(stderr," SymbolRate: %d\n",event.u.completionEvent.u.qpsk.SymbolRate);
+ fprintf(stderr," FEC_inner: %d\n",event.u.completionEvent.u.qpsk.FEC_inner);
+ fprintf(stderr,"\n");
+ break;
+ case FE_QAM:
+ fprintf(stderr,"Event: Frequency: %d\n",event.u.completionEvent.Frequency);
+ fprintf(stderr," SymbolRate: %d\n",event.u.completionEvent.u.qpsk.SymbolRate);
+ fprintf(stderr," FEC_inner: %d\n",event.u.completionEvent.u.qpsk.FEC_inner);
+ break;
+ default:
+ break;
+ }
+
+ strength=0;
+ ioctl(fd_frontend,FE_READ_BER,&strength);
+ fprintf(stderr,"Bit error rate: %d\n",strength);
+
+ strength=0;
+ ioctl(fd_frontend,FE_READ_SIGNAL_STRENGTH,&strength);
+ fprintf(stderr,"Signal strength: %d\n",strength);
+
+ strength=0;
+ ioctl(fd_frontend,FE_READ_SNR,&strength);
+ fprintf(stderr,"SNR: %d\n",strength);
+
+ festatus=0;
+ ioctl(fd_frontend,FE_READ_STATUS,&festatus);
+
+ fprintf(stderr,"FE_STATUS:");
+ if (festatus & FE_HAS_POWER) fprintf(stderr," FE_HAS_POWER");
+ if (festatus & FE_HAS_SIGNAL) fprintf(stderr," FE_HAS_SIGNAL");
+ if (festatus & FE_SPECTRUM_INV) fprintf(stderr," FE_SPECTRUM_INV");
+ if (festatus & FE_HAS_LOCK) fprintf(stderr," FE_HAS_LOCK");
+ if (festatus & FE_HAS_CARRIER) fprintf(stderr," FE_HAS_CARRIER");
+ if (festatus & FE_HAS_VITERBI) fprintf(stderr," FE_HAS_VITERBI");
+ if (festatus & FE_HAS_SYNC) fprintf(stderr," FE_HAS_SYNC");
+ if (festatus & FE_TUNER_HAS_LOCK) fprintf(stderr," FE_TUNER_HAS_LOCK");
+ fprintf(stderr,"\n");
+ } else {
+ fprintf(stderr,"Not able to lock to the signal on the given frequency\n");
+ return -1;
+ }
+ return 0;
+ }
+ #endif
+
+ int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone, SpectralInversion specInv, unsigned int diseqc,Modulation modulation,CodeRate HP_CodeRate,TransmitMode TransmissionMode,GuardInterval guardInterval, BandWidth bandWidth) {
+ int res;
+ #ifdef NEWSTRUCT
+ struct dvb_frontend_parameters feparams;
+ struct dvb_frontend_info fe_info;
+ SecVoltage voltage;
+ #else
FrontendParameters feparams;
+ FrontendInfo fe_info;
secVoltage voltage;
struct secStatus sec_state;
! #endif
/* discard stale frontend events */
***************
*** 176,182 ****
--- 380,401 ----
// OSTGetPowerState(fd_frontend, &festatus);
+ #ifdef NEWSTRUCT
+ fprintf(stderr,"Using DVB card \"%s\"\n",fe_info.name);
+ #endif
+
switch(fe_info.type) {
case FE_OFDM:
fprintf(stderr,"tuning DVB-T (%s) to %d\n",DVB_T_LOCATION,freq);
+ #ifdef NEWSTRUCT
+ feparams.frequency=freq;
+ feparams.inversion=INVERSION_OFF;
+ feparams.u.ofdm.bandwidth=bandWidth;
+ feparams.u.ofdm.code_rate_HP=HP_CodeRate;
+ feparams.u.ofdm.code_rate_LP=LP_CODERATE_DEFAULT;
+ feparams.u.ofdm.constellation=modulation;
+ feparams.u.ofdm.transmission_mode=TransmissionMode;
+ feparams.u.ofdm.guard_interval=guardInterval;
+ feparams.u.ofdm.hierarchy_information=HIERARCHY_DEFAULT;
+ #else
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
***************
*** 188,200 ****
feparams.u.ofdm.guardInterval=guardInterval;
feparams.u.ofdm.HierarchyInformation=HIERARCHY_DEFAULT;
break;
case FE_QPSK:
fprintf(stderr,"tuning DVB-S to L-Band:%d, Pol:%c Srate=%d, 22kHz=%s\n",feparams.Frequency,pol,srate,tone == SEC_TONE_ON ? "on" : "off");
! if ((pol=='h') || (pol=='H') || (pol=='l') || (pol=='L')) {
voltage = SEC_VOLTAGE_18;
} else {
voltage = SEC_VOLTAGE_13;
}
if (ioctl(fd_sec,SEC_SET_VOLTAGE,voltage) < 0) {
perror("ERROR setting voltage\n");
}
--- 407,428 ----
feparams.u.ofdm.guardInterval=guardInterval;
feparams.u.ofdm.HierarchyInformation=HIERARCHY_DEFAULT;
+ #endif
break;
case FE_QPSK:
+ #ifdef NEWSTRUCT
+ fprintf(stderr,"tuning DVB-S to L-Band:%d, Pol:%c Srate=%d, 22kHz=%s\n",feparams.frequency,pol,srate,tone == SEC_TONE_ON ? "on" : "off");
+ #else
fprintf(stderr,"tuning DVB-S to L-Band:%d, Pol:%c Srate=%d, 22kHz=%s\n",feparams.Frequency,pol,srate,tone == SEC_TONE_ON ? "on" : "off");
! #endif
! if ((pol=='h') || (pol=='H')) {
voltage = SEC_VOLTAGE_18;
} else {
voltage = SEC_VOLTAGE_13;
}
+ #ifdef NEWSTRUCT
+ if (ioctl(fd_frontend,FE_SET_VOLTAGE,voltage) < 0) {
+ #else
if (ioctl(fd_sec,SEC_SET_VOLTAGE,voltage) < 0) {
+ #endif
perror("ERROR setting voltage\n");
}
***************
*** 203,225 ****
// this must be an absolute frequency
if (freq < SLOF) {
feparams.Frequency=(freq-LOF1);
if (tone < 0) tone = SEC_TONE_OFF;
} else {
feparams.Frequency=(freq-LOF2);
if (tone < 0) tone = SEC_TONE_ON;
}
} else {
// this is an L-Band frequency
feparams.Frequency=freq;
}
feparams.Inversion=specInv;
feparams.u.qpsk.SymbolRate=srate;
feparams.u.qpsk.FEC_inner=FEC_AUTO;
!
if (ioctl(fd_sec,SEC_SET_TONE,tone) < 0) {
perror("ERROR setting tone\n");
}
if (diseqc > 0) {
struct secCommand scmd;
--- 431,480 ----
// this must be an absolute frequency
if (freq < SLOF) {
+ #ifdef NEWSTRUCT
+ feparams.frequency=(freq-LOF1);
+ #else
feparams.Frequency=(freq-LOF1);
+ #endif
if (tone < 0) tone = SEC_TONE_OFF;
} else {
+ #ifdef NEWSTRUCT
+ feparams.frequency=(freq-LOF2);
+ #else
feparams.Frequency=(freq-LOF2);
+ #endif
if (tone < 0) tone = SEC_TONE_ON;
}
} else {
// this is an L-Band frequency
+ #ifdef NEWSTRUCT
+ feparams.frequency=freq;
+ #else
feparams.Frequency=freq;
+ #endif
}
+ #ifdef NEWSTRUCT
+ feparams.inversion=specInv;
+ feparams.u.qpsk.symbol_rate=srate;
+ feparams.u.qpsk.fec_inner=FEC_AUTO;
+ #else
feparams.Inversion=specInv;
feparams.u.qpsk.SymbolRate=srate;
feparams.u.qpsk.FEC_inner=FEC_AUTO;
! #endif
!
! #ifdef NEWSTRUCT
! if (ioctl(fd_frontend,FE_SET_TONE,tone) < 0) {
! perror("ERROR setting tone\n");
! }
! #else
if (ioctl(fd_sec,SEC_SET_TONE,tone) < 0) {
perror("ERROR setting tone\n");
}
+ #endif
+ #ifdef NEWSTRUCT
+ #warning DISEQC is unimplemented for NEWSTRUCT
+ #else
if (diseqc > 0) {
struct secCommand scmd;
***************
*** 250,261 ****
}
}
break;
case FE_QAM:
fprintf(stderr,"tuning DVB-C to %d, srate=%d\n",freq,srate);
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
feparams.u.qam.SymbolRate = srate;
feparams.u.qam.FEC_inner = FEC_AUTO;
! feparams.u.qam.QAM = QAM_64; break;
default:
fprintf(stderr,"Unknown FE type. Aborting\n");
--- 505,526 ----
}
}
+ #endif
break;
case FE_QAM:
fprintf(stderr,"tuning DVB-C to %d, srate=%d\n",freq,srate);
+ #ifdef NEWSTRUCT
+ feparams.frequency=freq;
+ feparams.inversion=INVERSION_OFF;
+ feparams.u.qam.symbol_rate = srate;
+ feparams.u.qam.fec_inner = FEC_AUTO;
+ feparams.u.qam.modulation = QAM_64;
+ #else
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
feparams.u.qam.SymbolRate = srate;
feparams.u.qam.FEC_inner = FEC_AUTO;
! feparams.u.qam.QAM = QAM_64;
! #endif
! break;
default:
fprintf(stderr,"Unknown FE type. Aborting\n");
***************
*** 263,379 ****
}
usleep(100000);
-
- if (fd_sec) SecGetStatus(fd_sec, &sec_state);
-
- i = 0; res = -1;
- while ((i < 3) && (res < 0)) {
- if (ioctl(fd_frontend,FE_SET_FRONTEND,&feparams) < 0) {
- perror("ERROR tuning channel\n");
- return -1;
- }
-
- pfd[0].fd = fd_frontend;
- pfd[0].events = POLLIN;
! if (poll(pfd,1,10000)){
! if (pfd[0].revents & POLLIN){
! fprintf(stderr,"Getting frontend event\n");
! if ( ioctl(fd_frontend, FE_GET_EVENT, &event) == -EBUFFEROVERFLOW){
! perror("FE_GET_EVENT");
! return -1;
! }
! fprintf(stderr,"Received ");
! switch(event.type){
! case FE_UNEXPECTED_EV:
! fprintf(stderr,"unexpected event\n");
! res = -1;
! break;
! case FE_FAILURE_EV:
! fprintf(stderr,"failure event\n");
! res = -1;
! break;
! case FE_COMPLETION_EV:
! fprintf(stderr,"completion event\n");
! res = 0;
! break;
! }
! }
! i++;
! }
! }
!
! if (res > 0)
! switch (event.type) {
! case FE_UNEXPECTED_EV: fprintf(stderr,"FE_UNEXPECTED_EV\n");
! break;
! case FE_COMPLETION_EV: fprintf(stderr,"FE_COMPLETION_EV\n");
! break;
! case FE_FAILURE_EV: fprintf(stderr,"FE_FAILURE_EV\n");
! break;
! }
!
! if (event.type == FE_COMPLETION_EV) {
! switch(fe_info.type) {
! case FE_OFDM:
! fprintf(stderr,"Event: Frequency: %d\n",event.u.completionEvent.Frequency);
! break;
! case FE_QPSK:
! fprintf(stderr,"Event: Frequency: %d\n",(unsigned int)((event.u.completionEvent.Frequency)+(tone==SEC_TONE_OFF ? LOF1 : LOF2)));
! fprintf(stderr," SymbolRate: %d\n",event.u.completionEvent.u.qpsk.SymbolRate);
! fprintf(stderr," FEC_inner: %d\n",event.u.completionEvent.u.qpsk.FEC_inner);
! fprintf(stderr,"\n");
! break;
! case FE_QAM:
! fprintf(stderr,"Event: Frequency: %d\n",event.u.completionEvent.Frequency);
! fprintf(stderr," SymbolRate: %d\n",event.u.completionEvent.u.qpsk.SymbolRate);
! fprintf(stderr," FEC_inner: %d\n",event.u.completionEvent.u.qpsk.FEC_inner);
! break;
! default:
! break;
! }
!
! strength=0;
! ioctl(fd_frontend,FE_READ_BER,&strength);
! fprintf(stderr,"Bit error rate: %d\n",strength);
!
! strength=0;
! ioctl(fd_frontend,FE_READ_SIGNAL_STRENGTH,&strength);
! fprintf(stderr,"Signal strength: %d\n",strength);
!
! strength=0;
! ioctl(fd_frontend,FE_READ_SNR,&strength);
! fprintf(stderr,"SNR: %d\n",strength);
!
! festatus=0;
! ioctl(fd_frontend,FE_READ_STATUS,&festatus);
!
! fprintf(stderr,"FE_STATUS:");
! if (festatus & FE_HAS_POWER) fprintf(stderr," FE_HAS_POWER");
! if (festatus & FE_HAS_SIGNAL) fprintf(stderr," FE_HAS_SIGNAL");
! if (festatus & FE_SPECTRUM_INV) fprintf(stderr," FE_SPECTRUM_INV");
! if (festatus & FE_HAS_LOCK) fprintf(stderr," FE_HAS_LOCK");
! if (festatus & FE_HAS_CARRIER) fprintf(stderr," FE_HAS_CARRIER");
! if (festatus & FE_HAS_VITERBI) fprintf(stderr," FE_HAS_VITERBI");
! if (festatus & FE_HAS_SYNC) fprintf(stderr," FE_HAS_SYNC");
! if (festatus & FE_TUNER_HAS_LOCK) fprintf(stderr," FE_TUNER_HAS_LOCK");
! fprintf(stderr,"\n");
! } else {
! #if 0
! FrontendInfo info;
! if ( (res = ioctl(fd_frontend,FE_GET_INFO, &info) < 0)){
! perror("FE_GET_INFO: ");
! return -1;
! }
!
! fprintf(stderr,"min Frequency : %d\n", info.minFrequency);
! fprintf(stderr,"max Frequency : %d\n", info.maxFrequency);
! fprintf(stderr,"min Symbol Rate : %d\n", info.minSymbolRate);
! fprintf(stderr,"max Symbol Rate : %d\n", info.maxSymbolRate);
! fprintf(stderr,"Hardware Type : %d\n", info.hwType);
! fprintf(stderr,"Hardware Version: %d\n", info.hwVersion);
#endif
! fprintf(stderr,"Not able to lock to the signal on the given frequency\n");
! return -1;
! }
! return 0;
}
--- 528,536 ----
}
usleep(100000);
! #ifndef NEWSTRUCT
! if (fd_sec) SecGetStatus(fd_sec, &sec_state);
#endif
!
! return(check_status(fd_frontend,&feparams,tone));
}
Index: Makefile
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Makefile 27 Jun 2002 18:41:40 -0000 1.3
--- Makefile 28 Aug 2002 08:58:55 -0000 1.4
***************
*** 4,7 ****
--- 4,11 ----
all: dvbtune
+ ifdef NEWSTRUCT
+ CFLAGS += -DNEWSTRUCT
+ endif
+
ifdef UK
CFLAGS += -DUK
|