You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(10) |
Jun
(35) |
Jul
(11) |
Aug
(9) |
Sep
|
Oct
(9) |
Nov
(1) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(9) |
Nov
(3) |
Dec
|
| 2004 |
Jan
(2) |
Feb
|
Mar
(28) |
Apr
(5) |
May
|
Jun
(1) |
Jul
(5) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
|
Dec
(5) |
| 2005 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
(26) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <lin...@us...> - 2002-10-10 07:44:50
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv8669
Modified Files:
dvbtune.c
Log Message:
SI parsing bugfix from Stephen Davies
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** dvbtune.c 9 Oct 2002 07:21:33 -0000 1.12
--- dvbtune.c 10 Oct 2002 07:44:45 -0000 1.13
***************
*** 586,589 ****
--- 586,590 ----
case 0x59:
+ j=0;
printf("<subtitling_descriptor tag=\"0x59\">\n");
while (j < descriptor_length) {
|
|
From: <lin...@us...> - 2002-10-09 07:21:36
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv18342
Modified Files:
dvbtune.c
Log Message:
Bug fix in parsing subtitle descriptor - thanks to Stephen Davies for reporting
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** dvbtune.c 28 Aug 2002 08:58:55 -0000 1.11
--- dvbtune.c 9 Oct 2002 07:21:33 -0000 1.12
***************
*** 593,598 ****
printf("%s",xmlify(buf[i+2]));
printf("\" type=\"%d\" composition_page_id=\"%04x\" ancillary_page_id=\"%04x\" />\n",buf[i+3],(buf[i+4]<<8)|buf[i+5],(buf[i+6]<<8)|buf[i+7]);
! i+=7;
! j+=7;
}
printf("</subtitling_descriptor>\n");
--- 593,598 ----
printf("%s",xmlify(buf[i+2]));
printf("\" type=\"%d\" composition_page_id=\"%04x\" ancillary_page_id=\"%04x\" />\n",buf[i+3],(buf[i+4]<<8)|buf[i+5],(buf[i+6]<<8)|buf[i+7]);
! i+=8;
! j+=8;
}
printf("</subtitling_descriptor>\n");
|
|
From: <lin...@us...> - 2002-08-28 23:10:03
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv10551
Modified Files:
tune.c
Log Message:
bring upto date with dvbstream
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** tune.c 28 Aug 2002 08:58:55 -0000 1.11
--- tune.c 28 Aug 2002 23:09:59 -0000 1.12
***************
*** 151,163 ****
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");
}
--- 151,166 ----
void print_status(FILE* fd,FrontendStatus festatus) {
fprintf(fd,"FE_STATUS:");
if (festatus & FE_HAS_SIGNAL) fprintf(fd," FE_HAS_SIGNAL");
! #ifdef NEWSTRUCT
! if (festatus & FE_TIMEDOUT) fprintf(fd," FE_TIMEDOUT");
! #else
! if (festatus & FE_HAS_POWER) fprintf(fd," FE_HAS_POWER");
! if (festatus & FE_SPECTRUM_INV) fprintf(fd," FE_SPECTRUM_INV");
! if (festatus & FE_TUNER_HAS_LOCK) fprintf(fd," FE_TUNER_HAS_LOCK");
! #endif
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");
fprintf(fd,"\n");
}
|
|
From: <lin...@us...> - 2002-08-28 23:08:24
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv10061
Modified Files:
Makefile
Log Message:
more NEWSTRUCT patches
Index: Makefile
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/Makefile,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Makefile 28 Aug 2002 08:58:55 -0000 1.4
--- Makefile 28 Aug 2002 23:08:21 -0000 1.5
***************
*** 1,3 ****
! INCS=-I ../DVB/ost/include -I /usr/include/libxml2
CFLAGS= -Wall $(INCS)
CC=gcc
--- 1,3 ----
! INCS=-I /usr/include/libxml2
CFLAGS= -Wall $(INCS)
CC=gcc
***************
*** 6,9 ****
--- 6,12 ----
ifdef NEWSTRUCT
CFLAGS += -DNEWSTRUCT
+ INCS += -I ../DVB/include
+ else
+ INCS += -I ../DVB/ost/include
endif
|
|
From: <lin...@us...> - 2002-08-28 23:07:01
|
Update of /cvsroot/dvbtools/dvbtune In directory usw-pr-cvs1:/tmp/cvs-serv9607 Modified Files: tune.h Log Message: more NEWSTRUCT patches Index: tune.h =================================================================== RCS file: /cvsroot/dvbtools/dvbtune/tune.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tune.h 6 Jul 2002 08:00:12 -0000 1.2 --- tune.h 28 Aug 2002 23:06:58 -0000 1.3 *************** *** 2,6 **** #define _TUNE_H ! #include <ost/frontend.h> #include "dvb_defaults.h" --- 2,10 ---- #define _TUNE_H ! #ifdef NEWSTRUCT ! #include <linux/dvb/frontend.h> ! #else ! #include <ost/frontend.h> ! #endif #include "dvb_defaults.h" |
|
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
|
|
From: <lin...@us...> - 2002-08-27 08:14:00
|
Update of /cvsroot/dvbtools/dvbstream
In directory usw-pr-cvs1:/tmp/cvs-serv25607
Modified Files:
tune.c
Log Message:
fixed compile error when not using NEWSTRUCT
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/tune.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** tune.c 27 Aug 2002 06:53:31 -0000 1.7
--- tune.c 27 Aug 2002 08:13:57 -0000 1.8
***************
*** 151,163 ****
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");
}
--- 151,166 ----
void print_status(FILE* fd,FrontendStatus festatus) {
fprintf(fd,"FE_STATUS:");
if (festatus & FE_HAS_SIGNAL) fprintf(fd," FE_HAS_SIGNAL");
! #ifdef NEWSTRUCT
! if (festatus & FE_TIMEDOUT) fprintf(fd," FE_TIMEDOUT");
! #else
! if (festatus & FE_HAS_POWER) fprintf(fd," FE_HAS_POWER");
! if (festatus & FE_SPECTRUM_INV) fprintf(fd," FE_SPECTRUM_INV");
! if (festatus & FE_TUNER_HAS_LOCK) fprintf(fd," FE_TUNER_HAS_LOCK");
! #endif
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");
fprintf(fd,"\n");
}
|
|
From: <lin...@us...> - 2002-08-27 07:05:36
|
Update of /cvsroot/dvbtools/dvbstream
In directory usw-pr-cvs1:/tmp/cvs-serv7100
Modified Files:
dvbstream.c
Log Message:
exit on tuning error
Index: dvbstream.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/dvbstream.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** dvbstream.c 27 Aug 2002 06:53:31 -0000 1.5
--- dvbstream.c 27 Aug 2002 07:05:32 -0000 1.6
***************
*** 611,620 ****
if ( (freq>100000000)) {
if (open_fe(&fd_frontend,0)) {
! tune_it(fd_frontend,0,freq,0,0,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
}
} else if ((freq!=0) && (pol!=0) && (srate!=0)) {
if (open_fe(&fd_frontend,&fd_sec)) {
! tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
if (fd_sec) close(fd_sec);
--- 611,620 ----
if ( (freq>100000000)) {
if (open_fe(&fd_frontend,0)) {
! i=tune_it(fd_frontend,0,freq,0,0,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
}
} else if ((freq!=0) && (pol!=0) && (srate!=0)) {
if (open_fe(&fd_frontend,&fd_sec)) {
! i=tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
if (fd_sec) close(fd_sec);
***************
*** 622,625 ****
--- 622,626 ----
}
+ if (i<0) { exit(i); }
for (i=0;i<npids;i++) {
|
|
From: <lin...@us...> - 2002-08-27 06:53:34
|
Update of /cvsroot/dvbtools/dvbstream
In directory usw-pr-cvs1:/tmp/cvs-serv3977
Modified Files:
dvbstream.c tune.c Makefile
Log Message:
first attempt at using NEWSTRUCT
Index: dvbstream.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/dvbstream.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** dvbstream.c 6 Jul 2002 08:57:36 -0000 1.4
--- dvbstream.c 27 Aug 2002 06:53:31 -0000 1.5
***************
*** 43,48 ****
--- 43,54 ----
// DVB includes:
+ #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 "rtp.h"
***************
*** 71,78 ****
--- 77,91 ----
- see http://www.cadsoft.de/people/kls/vdr/index.htm */
+ #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
+
int card=0;
***************
*** 93,97 ****
perror("FRONTEND DEVICE: ");
return -1;
! }
if (fd_sec!=0) {
if((*fd_sec = open(secdev[card],O_RDWR)) < 0){
--- 106,113 ----
perror("FRONTEND DEVICE: ");
return -1;
! }
! #ifdef NEWSTRUCT
! fd_sec=0;
! #else
if (fd_sec!=0) {
if((*fd_sec = open(secdev[card],O_RDWR)) < 0){
***************
*** 100,103 ****
--- 116,120 ----
}
}
+ #endif
return 1;
}
***************
*** 306,310 ****
tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
! close(fd_sec);
}
}
--- 323,327 ----
tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
! if (fd_sec) close(fd_sec);
}
}
***************
*** 601,605 ****
tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
! close(fd_sec);
}
}
--- 618,622 ----
tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
! if (fd_sec) close(fd_sec);
}
}
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/tune.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** tune.c 6 Jul 2002 08:43:12 -0000 1.6
--- tune.c 27 Aug 2002 06:53:31 -0000 1.7
***************
*** 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,194 ****
--- 407,418 ----
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;
***************
*** 196,200 ****
--- 420,428 ----
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/dvbstream/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Makefile 6 Jul 2002 09:04:22 -0000 1.3
--- Makefile 27 Aug 2002 06:53:31 -0000 1.4
***************
*** 4,7 ****
--- 4,11 ----
OBJS=dvbstream dumprtp ts_filter rtpfeed rtp.o
+ ifdef NEWSTRUCT
+ CFLAGS += -DNEWSTRUCT
+ endif
+
ifdef UK
CFLAGS += -DUK
|
|
From: <lin...@us...> - 2002-08-25 15:09:48
|
Update of /cvsroot/dvbtools/dvbtune/scripts
In directory usw-pr-cvs1:/tmp/cvs-serv7620
Added Files:
scan_ge_c.sh
Log Message:
script contributed by Peter Bieringer
--- NEW FILE: scan_ge_c.sh ---
#!/bin/sh
# Scan German Cable TV broadcasts.
# NOTE: CHANGE CARD TO SUIT YOUR SYSTEM - FIRST CARD IS "0", SECOND IS "1" etc
CARD=0
DVBTUNE=../dvbtune
XML2VDR=../xml2vdr
get_frequency_list() {
cat << END | grep -v "^#"
#322000000
#330000000
#338000000
346000000
354000000
362000000
370000000
378000000
#386000000
394000000
402000000
410000000
426000000
434000000
442000000
#450000000
END
}
get_frequency_list_test() {
cat << END | grep -v "^#"
346000000
END
}
get_channels() {
echo '<?xml version="1.0"?>'
echo '<satellite>'
get_frequency_list | while read frequency; do
$DVBTUNE -c $CARD -f $frequency -i -s 6900
sleep 1
done
echo '</satellite>'
}
LISTXMLORIG="`get_channels`"
echo "$LISTXMLORIG" >listorig.xml
LISTXML="`echo "$LISTXMLORIG" | tr -d '\206\207\005' | sed 's/Ö/Oe/g' | sed 's/Ä/Ae/g' | sed 's/Ü/ue/g' | sed 's/ä/Ae/g' | sed 's/ö/Oe/g' | sed 's/ü/ue/g' `"
echo "$LISTXML" >list.xml
LISTVDR="`echo "$LISTXML" | $XML2VDR - | sed 's/\&/\&/g' | sed 's/000:/:/g`"
echo "$LISTVDR" >list.vdr
# Sort output
echo ":Television"
echo "$LISTVDR" | grep -i "(TV)" | sed 's/ (TV)//g' | sed 's/^ *//g' | sed 's/::/:0:/g'
echo ":Radio"
echo "$LISTVDR" | grep -i "(RADIO)" | sed 's/ (RADIO)//g' | sed 's/^ *//g' | sed 's/::/:0:/g'
|
|
From: <lin...@us...> - 2002-08-25 15:03:49
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv5869
Modified Files:
dvbtune.c
Log Message:
DVB-C XML fix by Peter Bieringer
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** dvbtune.c 9 Jul 2002 06:45:26 -0000 1.9
--- dvbtune.c 25 Aug 2002 15:03:46 -0000 1.10
***************
*** 1325,1329 ****
printf("<transponder type=\"S\" freq=\"%d\" srate=\"%d\" polarity=\"%c\" >\n",freq,srate,pol);
} else {
! printf("<transponder type=\"T\" freq=\"%d\">\n",freq);
}
scan_pat();
--- 1325,1333 ----
printf("<transponder type=\"S\" freq=\"%d\" srate=\"%d\" polarity=\"%c\" >\n",freq,srate,pol);
} else {
! if (srate!=0) {
! printf("<transponder type=\"C\" freq=\"%d\" srate=\"%d\">\n",freq,srate);
! } else {
! printf("<transponder type=\"T\" freq=\"%d\">\n",freq);
! }
}
scan_pat();
|
|
From: <lin...@us...> - 2002-07-27 08:56:16
|
Update of /cvsroot/dvbtools/dvbsubs In directory usw-pr-cvs1:/tmp/cvs-serv10067 Modified Files: README Log Message: updated README Index: README =================================================================== RCS file: /cvsroot/dvbtools/dvbsubs/README,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** README 16 Jun 2002 16:01:36 -0000 1.2 --- README 27 Jul 2002 08:56:12 -0000 1.3 *************** *** 4,9 **** Program to decode DVB subtitles (ETS 300 743). ! This is currently just a test program to dump the DVB subtitle stream ! in XML Usage: --- 4,10 ---- Program to decode DVB subtitles (ETS 300 743). ! This program is still an alpha version (i.e. incomplete) and attempts ! to decode subtitles using a DVB card's OSD and also dumps the data to ! XML for information. Usage: *************** *** 17,21 **** dvbsubs PID ! to read a PES stream from a DVB card and dump the DVB subtitles. --- 18,22 ---- dvbsubs PID ! to read a PES stream from a DVB card and decode the subtitles. |
|
From: <lin...@us...> - 2002-07-09 06:45:29
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv3665
Modified Files:
tune.c dvbtune.c
Log Message:
Jeremy Hall - added L/R polarity tuning
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** tune.c 6 Jul 2002 08:00:12 -0000 1.9
--- tune.c 9 Jul 2002 06:45:26 -0000 1.10
***************
*** 191,195 ****
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')) {
voltage = SEC_VOLTAGE_18;
} else {
--- 191,195 ----
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 {
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** dvbtune.c 6 Jul 2002 08:58:51 -0000 1.8
--- dvbtune.c 9 Jul 2002 06:45:26 -0000 1.9
***************
*** 1103,1106 ****
--- 1103,1110 ----
} else if (tolower(argv[i][0])=='h') {
pol='H';
+ } else if (tolower(argv[i][0])=='l') {
+ pol='L';
+ } else if (tolower(argv[i][0])=='r') {
+ pol='R';
}
}
|
|
From: <lin...@us...> - 2002-07-07 10:29:29
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv24248
Modified Files:
xml2vdr.c
Log Message:
patch to accept DishNetwork XML
Index: xml2vdr.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/xml2vdr.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** xml2vdr.c 12 Jun 2002 21:48:39 -0000 1.2
--- xml2vdr.c 7 Jul 2002 10:29:26 -0000 1.3
***************
*** 225,229 ****
if (service_name[0]==0) strcpy(service_name,"no name");
! if ((ignore_service==0) && ((type==1) || (type==2))) { // TV or Radio
/* Only print service if at least 1 PID is non-zero */
if (((ca==0) || (fta==0)) && (((vpid!=0) || (n_apids>0) || (tpid!=0)))) {
--- 225,229 ----
if (service_name[0]==0) strcpy(service_name,"no name");
! if ((ignore_service==0) && ((type==1) || (type==2) || (type==155))) { // TV or Radio or DishNetwork TV
/* Only print service if at least 1 PID is non-zero */
if (((ca==0) || (fta==0)) && (((vpid!=0) || (n_apids>0) || (tpid!=0)))) {
|
|
From: <lin...@us...> - 2002-07-06 09:04:24
|
Update of /cvsroot/dvbtools/dvbstream In directory usw-pr-cvs1:/tmp/cvs-serv26859 Modified Files: Makefile Log Message: added dvb_defaults.h dependency Index: Makefile =================================================================== RCS file: /cvsroot/dvbtools/dvbstream/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 27 Jun 2002 19:33:28 -0000 1.2 --- Makefile 6 Jul 2002 09:04:22 -0000 1.3 *************** *** 30,34 **** $(CC) $(INCS) $(CFLAGS) -c -o rtp.o rtp.c ! tune.o: tune.c tune.h $(CC) $(INCS) $(CFLAGS) -c -o tune.o tune.c --- 30,34 ---- $(CC) $(INCS) $(CFLAGS) -c -o rtp.o rtp.c ! tune.o: tune.c tune.h dvb_defaults.h $(CC) $(INCS) $(CFLAGS) -c -o tune.o tune.c |
|
From: <lin...@us...> - 2002-07-06 08:58:54
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv25886
Modified Files:
dvbtune.c
Log Message:
fixed display of default bandwidth
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** dvbtune.c 6 Jul 2002 08:15:05 -0000 1.7
--- dvbtune.c 6 Jul 2002 08:58:51 -0000 1.8
***************
*** 1053,1057 ****
fprintf(stderr,"-gi N DVB-T guard interval 1_N (N=32%s, 16%s, 8%s or 4%s)\n",(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_32 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_16 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_8 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_4 ? " (default)" : ""));
fprintf(stderr,"-cr N DVB-T code rate. N=AUTO%s, 1_2%s, 2_3%s, 3_4%s, 5_6%s, 7_8%s\n",(HP_CODERATE_DEFAULT==FEC_AUTO ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_1_2 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_2_3 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_3_4 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_5_6 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_7_8 ? " (default)" : ""));
! fprintf(stderr,"-bw N DVB-T bandwidth (Mhz) - N=6%s, 7%s or 8%s\n",(BANDWIDTH_DEFAULT==BANDWIDTH_8_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_7_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_6_MHZ ? " (default)" : ""));
fprintf(stderr,"-tm N DVB-T transmission mode - N=2%s or 8%s\n",(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_2K ? " (default)" : ""),(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_8K ? " (default)" : ""));
--- 1053,1057 ----
fprintf(stderr,"-gi N DVB-T guard interval 1_N (N=32%s, 16%s, 8%s or 4%s)\n",(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_32 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_16 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_8 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_4 ? " (default)" : ""));
fprintf(stderr,"-cr N DVB-T code rate. N=AUTO%s, 1_2%s, 2_3%s, 3_4%s, 5_6%s, 7_8%s\n",(HP_CODERATE_DEFAULT==FEC_AUTO ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_1_2 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_2_3 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_3_4 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_5_6 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_7_8 ? " (default)" : ""));
! fprintf(stderr,"-bw N DVB-T bandwidth (Mhz) - N=6%s, 7%s or 8%s\n",(BANDWIDTH_DEFAULT==BANDWIDTH_6_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_7_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_8_MHZ ? " (default)" : ""));
fprintf(stderr,"-tm N DVB-T transmission mode - N=2%s or 8%s\n",(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_2K ? " (default)" : ""),(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_8K ? " (default)" : ""));
|
|
From: <lin...@us...> - 2002-07-06 08:57:39
|
Update of /cvsroot/dvbtools/dvbstream
In directory usw-pr-cvs1:/tmp/cvs-serv25763
Modified Files:
dvbstream.c
Log Message:
fixed bug with -cr option
Index: dvbstream.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/dvbstream.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** dvbstream.c 6 Jul 2002 08:43:12 -0000 1.3
--- dvbstream.c 6 Jul 2002 08:57:36 -0000 1.4
***************
*** 540,554 ****
} else if (strcmp(argv[i],"-cr")==0) {
i++;
! if (strcmp(argv[i],"AUTO")) {
HP_CodeRate=FEC_AUTO;
! } else if (strcmp(argv[i],"1_2")) {
HP_CodeRate=FEC_1_2;
! } else if (strcmp(argv[i],"2_3")) {
HP_CodeRate=FEC_2_3;
! } else if (strcmp(argv[i],"3_4")) {
HP_CodeRate=FEC_3_4;
! } else if (strcmp(argv[i],"5_6")) {
HP_CodeRate=FEC_5_6;
! } else if (strcmp(argv[i],"7_8")) {
HP_CodeRate=FEC_7_8;
} else {
--- 540,554 ----
} else if (strcmp(argv[i],"-cr")==0) {
i++;
! if (!strcmp(argv[i],"AUTO")) {
HP_CodeRate=FEC_AUTO;
! } else if (!strcmp(argv[i],"1_2")) {
HP_CodeRate=FEC_1_2;
! } else if (!strcmp(argv[i],"2_3")) {
HP_CodeRate=FEC_2_3;
! } else if (!strcmp(argv[i],"3_4")) {
HP_CodeRate=FEC_3_4;
! } else if (!strcmp(argv[i],"5_6")) {
HP_CodeRate=FEC_5_6;
! } else if (!strcmp(argv[i],"7_8")) {
HP_CodeRate=FEC_7_8;
} else {
|
|
From: <lin...@us...> - 2002-07-06 08:43:19
|
Update of /cvsroot/dvbtools/dvbstream
In directory usw-pr-cvs1:/tmp/cvs-serv23720
Modified Files:
tune.c tune.h dvb_defaults.h dvbstream.c
Log Message:
added more tuning options from dvbtune
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/tune.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** tune.c 29 Jun 2002 10:09:46 -0000 1.5
--- tune.c 6 Jul 2002 08:43:12 -0000 1.6
***************
*** 32,36 ****
#include <ost/frontend.h>
! #include "dvb_defaults.h"
int OSTSelftest(int fd)
--- 32,36 ----
#include <ost/frontend.h>
! #include "tune.h"
int OSTSelftest(int fd)
***************
*** 143,147 ****
}
! int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone, SpectralInversion specInv, unsigned int diseqc) {
int i,res;
int32_t strength;
--- 143,147 ----
}
! 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;
***************
*** 154,157 ****
--- 154,170 ----
FrontendInfo fe_info;
+ /* discard stale frontend events */
+ /*
+ pfd[0].fd = fd_frontend;
+ pfd[0].events = POLLIN;
+
+ if (poll(pfd,1,500)){
+ if (pfd[0].revents & POLLIN){
+ while (1) {
+ if (ioctl (fd_frontend, FE_GET_EVENT, &event) == -1) { break; }
+ }
+ }
+ }
+ */
if ( (res = ioctl(fd_frontend,FE_GET_INFO, &fe_info) < 0)){
perror("FE_GET_INFO: ");
***************
*** 165,177 ****
switch(fe_info.type) {
case FE_OFDM:
! fprintf(stderr,"tuning DVB-T to %d\n",freq);
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
! feparams.u.ofdm.bandWidth=BANDWIDTH_DEFAULT;
! feparams.u.ofdm.HP_CodeRate=HP_CODERATE_DEFAULT;
feparams.u.ofdm.LP_CodeRate=LP_CODERATE_DEFAULT;
! feparams.u.ofdm.Constellation=CONSTELLATION_DEFAULT;
! feparams.u.ofdm.TransmissionMode=TRANSMISSION_MODE_DEFAULT;
! feparams.u.ofdm.guardInterval=GUARD_INTERVAL_DEFAULT;
feparams.u.ofdm.HierarchyInformation=HIERARCHY_DEFAULT;
break;
--- 178,190 ----
switch(fe_info.type) {
case FE_OFDM:
! fprintf(stderr,"tuning DVB-T (%s) to %d\n",DVB_T_LOCATION,freq);
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
! feparams.u.ofdm.bandWidth=bandWidth;
! feparams.u.ofdm.HP_CodeRate=HP_CodeRate;
feparams.u.ofdm.LP_CodeRate=LP_CODERATE_DEFAULT;
! feparams.u.ofdm.Constellation=modulation;
! feparams.u.ofdm.TransmissionMode=TransmissionMode;
! feparams.u.ofdm.guardInterval=guardInterval;
feparams.u.ofdm.HierarchyInformation=HIERARCHY_DEFAULT;
break;
Index: tune.h
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/tune.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** tune.h 27 Jun 2002 19:11:31 -0000 1.2
--- tune.h 6 Jul 2002 08:43:12 -0000 1.3
***************
*** 2,7 ****
#define _TUNE_H
! int open_fe(int* fd_frontend,int* fd_sec);
! int tune_it(int fd_frontend, int fd_sec, unsigned long freq, unsigned long srate, char pol);
#endif
--- 2,9 ----
#define _TUNE_H
! #include <ost/frontend.h>
! #include "dvb_defaults.h"
!
! 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);
#endif
Index: dvb_defaults.h
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/dvb_defaults.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** dvb_defaults.h 29 Jun 2002 10:09:46 -0000 1.2
--- dvb_defaults.h 6 Jul 2002 08:43:12 -0000 1.3
***************
*** 1,8 ****
/* dvb_defaults.h
! Idea provided by Tomi Ollila, implemented by Dave Chapman.
Copyright (C) Dave Chapman 2002
!
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
--- 1,8 ----
/* dvb_defaults.h
! Provided by Tomi Ollila
Copyright (C) Dave Chapman 2002
!
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
***************
*** 46,72 ****
//#define FINLAND2
! /* Firstly, lets define some world-wide defaults */
! #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
! #define CONSTELLATION_DEFAULT QAM_64
! #define HIERARCHY_DEFAULT HIERARCHY_NONE
! #define LP_CODERATE_DEFAULT FEC_1_2
!
! /* DVB-T */
!
! #ifdef UK
!
! /* UNITED KINGDOM settings */
! #define HP_CODERATE_DEFAULT FEC_2_3
! #define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
! #define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_32
!
! #endif
#ifdef FINLAND
/* FINLAND settings 1 */
#define HP_CODERATE_DEFAULT FEC_2_3
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_8K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
#endif
--- 46,61 ----
//#define FINLAND2
! /* UK defines are at the end, as a default option */
#ifdef FINLAND
/* FINLAND settings 1 */
+ #define DVB_T_LOCATION "Suomessa"
+ #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
#define HP_CODERATE_DEFAULT FEC_2_3
+ #define CONSTELLATION_DEFAULT QAM_64
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_8K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
+ #define HIERARCHY_DEFAULT HIERARCHY_NONE
#endif
***************
*** 74,97 ****
#ifdef FINLAND2
! /* FINLAND settings 2 */
#define HP_CODERATE_DEFAULT FEC_1_2
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
#endif
! #ifndef HP_CODERATE_DEFAULT
#warning No DVB-T country defined in dvb_defaults.h
#warning defaulting to UK
#warning Ignore this if using Satellite or Cable
! /* Default to the UK */
#define HP_CODERATE_DEFAULT FEC_2_3
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_32
#endif
! #endif
--- 63,103 ----
#ifdef FINLAND2
! /* FINLAND settings 2 (someone verify there is such environment) */
! #define DVB_T_LOCATION "Suomessa II"
! #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
#define HP_CODERATE_DEFAULT FEC_1_2
+ #define CONSTELLATION_DEFAULT QAM_64
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
+ #define HIERARCHY_DEFAULT HIERARCHY_NONE
#endif
! #if defined (UK) && defined (HP_CODERATE_DEFAULT)
! #error Multible countries defined
! #endif
+ #ifndef DVB_T_LOCATION
+
+ #ifndef UK
#warning No DVB-T country defined in dvb_defaults.h
#warning defaulting to UK
#warning Ignore this if using Satellite or Cable
+ #endif
! /* UNITED KINGDOM settings */
! #define DVB_T_LOCATION "in United Kingdom"
! #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
#define HP_CODERATE_DEFAULT FEC_2_3
+ #define CONSTELLATION_DEFAULT QAM_64
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_32
+ #define HIERARCHY_DEFAULT HIERARCHY_NONE
#endif
+ #if HIERARCHY_DEFAULT == HIERARCHY_NONE && !defined (LP_CODERATE_DEFAULT)
+ #define LP_CODERATE_DEFAULT (0) /* unused if HIERARCHY_NONE */
+ #endif
! #endif
Index: dvbstream.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/dvbstream.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** dvbstream.c 27 Jun 2002 19:11:31 -0000 1.2
--- dvbstream.c 6 Jul 2002 08:43:12 -0000 1.3
***************
*** 78,81 ****
--- 78,90 ----
int Interrupted=0;
+ SpectralInversion specInv=INVERSION_AUTO;
+ int tone=-1;
+ Modulation modulation=CONSTELLATION_DEFAULT;
+ TransmitMode TransmissionMode=TRANSMISSION_MODE_DEFAULT;
+ BandWidth bandWidth=BANDWIDTH_DEFAULT;
+ GuardInterval guardInterval=GUARD_INTERVAL_DEFAULT;
+ CodeRate HP_CodeRate=HP_CODERATE_DEFAULT;
+ unsigned int diseqc=0;
+ char pol=0;
int open_fe(int* fd_frontend,int* fd_sec) {
***************
*** 178,182 ****
dmxPesType_t pestype;
unsigned long freq=0;
- char pol=0;
unsigned long srate=0;
--- 187,190 ----
***************
*** 296,300 ****
if (open_fe(&fd_frontend,&fd_sec)) {
fprintf(stderr,"Tuning to %ld,%ld,%c\n",freq,srate,pol);
! tune_it(fd_frontend,fd_sec,freq,srate,pol);
close(fd_frontend);
close(fd_sec);
--- 304,308 ----
if (open_fe(&fd_frontend,&fd_sec)) {
fprintf(stderr,"Tuning to %ld,%ld,%c\n",freq,srate,pol);
! tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
close(fd_sec);
***************
*** 391,395 ****
unsigned int secs = 0;
unsigned long freq=0;
- char pol=0;
unsigned long srate=0;
int count;
--- 399,402 ----
***************
*** 420,424 ****
if (argc==1) {
! fprintf(stderr,"Usage: dvbstream [-i ip] [-r port] [-f freq -p pol -s srate] [-t secs] [-o] [-ps] pid1 pid2 .. pid8\n");
return(-1);
} else {
--- 427,454 ----
if (argc==1) {
! fprintf(stderr,"Usage: dvbtune [OPTIONS] pid1 pid2 ... pid8\n\n");
! fprintf(stderr,"-i IP multicast address\n");
! fprintf(stderr,"-r IP multicast port\n");
! fprintf(stderr,"-o Stream to stdout instead of network\n");
! fprintf(stderr,"-ps Convert stream to Program Stream format (needs exactly 2 pids)\n");
! fprintf(stderr,"-v vpid Decode video PID (full cards only)\n");
! fprintf(stderr,"-a apid Decode audio PID (full cards only)\n");
! fprintf(stderr,"-t ttpid Decode teletext PID (full cards only)\n");
! fprintf(stderr,"\nStandard tuning options:\n\n");
! fprintf(stderr,"-f freq absolute Frequency (DVB-S in Hz or DVB-T in Hz)\n");
! fprintf(stderr," or L-band Frequency (DVB-S in Hz or DVB-T in Hz)\n");
! fprintf(stderr,"-p [H,V] Polarity (DVB-S only)\n");
! fprintf(stderr,"-s N Symbol rate (DVB-S or DVB-C)\n");
!
! fprintf(stderr,"\nAdvanced tuning options:\n\n");
! fprintf(stderr,"-c [0-3] Use DVB card #[0-3]\n");
! fprintf(stderr,"-qam X DVB-T modulation - 16%s, 32%s, 64%s, 128%s or 256%s\n",(CONSTELLATION_DEFAULT==QAM_16 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_32 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_64 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_128 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_256 ? " (default)" : ""));
! fprintf(stderr,"-gi N DVB-T guard interval 1_N (N=32%s, 16%s, 8%s or 4%s)\n",(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_32 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_16 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_8 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_4 ? " (default)" : ""));
! fprintf(stderr,"-cr N DVB-T code rate. N=AUTO%s, 1_2%s, 2_3%s, 3_4%s, 5_6%s, 7_8%s\n",(HP_CODERATE_DEFAULT==FEC_AUTO ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_1_2 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_2_3 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_3_4 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_5_6 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_7_8 ? " (default)" : ""));
! fprintf(stderr,"-bw N DVB-T bandwidth (Mhz) - N=6%s, 7%s or 8%s\n",(BANDWIDTH_DEFAULT==BANDWIDTH_6_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_7_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_8_MHZ ? " (default)" : ""));
! fprintf(stderr,"-tm N DVB-T transmission mode - N=2%s or 8%s\n",(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_2K ? " (default)" : ""),(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_8K ? " (default)" : ""));
!
! fprintf(stderr,"\n");
! fprintf(stderr,"NOTE: Use pid1=8192 to broadcast whole TS stream from a budget card\n");
return(-1);
} else {
***************
*** 452,457 ****
to_stdout = 1;
} else if (strcmp(argv[i],"-t")==0) {
! i++;
! secs=atoi(argv[i]);
} else if (strcmp(argv[i],"-c")==0) {
i++;
--- 482,487 ----
to_stdout = 1;
} else if (strcmp(argv[i],"-t")==0) {
! i++;
! secs=atoi(argv[i]);
} else if (strcmp(argv[i],"-c")==0) {
i++;
***************
*** 466,469 ****
--- 496,559 ----
} else if (strcmp(argv[i],"-t")==0) {
pestype=DMX_PES_TELETEXT;
+ } else if (strcmp(argv[i],"-qam")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 16: modulation=QAM_16; break;
+ case 32: modulation=QAM_32; break;
+ case 64: modulation=QAM_64; break;
+ case 128: modulation=QAM_128; break;
+ case 256: modulation=QAM_256; break;
+ default:
+ fprintf(stderr,"Invalid QAM rate: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-gi")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 32: guardInterval=GUARD_INTERVAL_1_32; break;
+ case 16: guardInterval=GUARD_INTERVAL_1_16; break;
+ case 8: guardInterval=GUARD_INTERVAL_1_8; break;
+ case 4: guardInterval=GUARD_INTERVAL_1_4; break;
+ default:
+ fprintf(stderr,"Invalid Guard Interval: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-tm")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 8: TransmissionMode=TRANSMISSION_MODE_8K; break;
+ case 2: TransmissionMode=TRANSMISSION_MODE_2K; break;
+ default:
+ fprintf(stderr,"Invalid Transmission Mode: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-bw")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 8: bandWidth=BANDWIDTH_8_MHZ; break;
+ case 7: bandWidth=BANDWIDTH_7_MHZ; break;
+ case 6: bandWidth=BANDWIDTH_6_MHZ; break;
+ default:
+ fprintf(stderr,"Invalid DVB-T bandwidth: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-cr")==0) {
+ i++;
+ if (strcmp(argv[i],"AUTO")) {
+ HP_CodeRate=FEC_AUTO;
+ } else if (strcmp(argv[i],"1_2")) {
+ HP_CodeRate=FEC_1_2;
+ } else if (strcmp(argv[i],"2_3")) {
+ HP_CodeRate=FEC_2_3;
+ } else if (strcmp(argv[i],"3_4")) {
+ HP_CodeRate=FEC_3_4;
+ } else if (strcmp(argv[i],"5_6")) {
+ HP_CodeRate=FEC_5_6;
+ } else if (strcmp(argv[i],"7_8")) {
+ HP_CodeRate=FEC_7_8;
+ } else {
+ fprintf(stderr,"Invalid Code Rate: %s\n",argv[i]);
+ exit(0);
+ }
} else {
if ((ch=(char*)strstr(argv[i],":"))!=NULL) {
***************
*** 504,513 ****
if ( (freq>100000000)) {
if (open_fe(&fd_frontend,0)) {
! tune_it(fd_frontend,0,freq,0,0);
close(fd_frontend);
}
} else if ((freq!=0) && (pol!=0) && (srate!=0)) {
if (open_fe(&fd_frontend,&fd_sec)) {
! tune_it(fd_frontend,fd_sec,freq,srate,pol);
close(fd_frontend);
close(fd_sec);
--- 594,603 ----
if ( (freq>100000000)) {
if (open_fe(&fd_frontend,0)) {
! tune_it(fd_frontend,0,freq,0,0,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
}
} else if ((freq!=0) && (pol!=0) && (srate!=0)) {
if (open_fe(&fd_frontend,&fd_sec)) {
! tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
close(fd_frontend);
close(fd_sec);
|
|
From: <lin...@us...> - 2002-07-06 08:15:08
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv20130
Modified Files:
dvbtune.c
Log Message:
fixed -cr option
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** dvbtune.c 6 Jul 2002 08:00:12 -0000 1.6
--- dvbtune.c 6 Jul 2002 08:15:05 -0000 1.7
***************
*** 1152,1166 ****
} else if (strcmp(argv[i],"-cr")==0) {
i++;
! if (strcmp(argv[i],"AUTO")) {
HP_CodeRate=FEC_AUTO;
! } else if (strcmp(argv[i],"1_2")) {
HP_CodeRate=FEC_1_2;
! } else if (strcmp(argv[i],"2_3")) {
HP_CodeRate=FEC_2_3;
! } else if (strcmp(argv[i],"3_4")) {
HP_CodeRate=FEC_3_4;
! } else if (strcmp(argv[i],"5_6")) {
HP_CodeRate=FEC_5_6;
! } else if (strcmp(argv[i],"7_8")) {
HP_CodeRate=FEC_7_8;
} else {
--- 1152,1166 ----
} else if (strcmp(argv[i],"-cr")==0) {
i++;
! if (!strcmp(argv[i],"AUTO")) {
HP_CodeRate=FEC_AUTO;
! } else if (!strcmp(argv[i],"1_2")) {
HP_CodeRate=FEC_1_2;
! } else if (!strcmp(argv[i],"2_3")) {
HP_CodeRate=FEC_2_3;
! } else if (!strcmp(argv[i],"3_4")) {
HP_CodeRate=FEC_3_4;
! } else if (!strcmp(argv[i],"5_6")) {
HP_CodeRate=FEC_5_6;
! } else if (!strcmp(argv[i],"7_8")) {
HP_CodeRate=FEC_7_8;
} else {
|
|
From: <lin...@us...> - 2002-07-06 08:00:15
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv18148
Modified Files:
dvbtune.c tune.c tune.h
Log Message:
added more tuning parameters
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** dvbtune.c 29 Jun 2002 09:59:06 -0000 1.5
--- dvbtune.c 6 Jul 2002 08:00:12 -0000 1.6
***************
*** 1021,1024 ****
--- 1021,1030 ----
int ttpid=0;
int dpid=0;
+
+ Modulation modulation=CONSTELLATION_DEFAULT;
+ TransmitMode TransmissionMode=TRANSMISSION_MODE_DEFAULT;
+ BandWidth bandWidth=BANDWIDTH_DEFAULT;
+ GuardInterval guardInterval=GUARD_INTERVAL_DEFAULT;
+ CodeRate HP_CodeRate=HP_CODERATE_DEFAULT;
int count;
transponder_t * t;
***************
*** 1028,1050 ****
if (argc==1) {
fprintf(stderr,"Usage: dvbtune [OPTIONS]\n\n");
! fprintf(stderr,"The following options are available:\n\n");
! fprintf(stderr,"-c [0-3] Use DVB device [0-3]\n");
! fprintf(stderr,"-f freq absolute Frequency (DVB-S in Hz or DVB-T in Hz)\n");
! fprintf(stderr," or L-band Frequency (DVB-S in Hz or DVB-T in Hz)\n");
! fprintf(stderr,"-p [H,V] Polarity (DVB-S only)\n");
! fprintf(stderr,"-t [0|1] 0=22kHz off, 1=22kHz on\n");
! fprintf(stderr,"-I [0|1|2] 0=Spectrum Inversion off, 1=Spectrum Inversion on, 2=auto\n");
! fprintf(stderr,"-s N Symbol rate (DVB-S only)\n");
! fprintf(stderr,"-D [0-4] DiSEqC command (0=none)\n\n");
! fprintf(stderr,"-V vpid Set video PID (full cards only)\n");
! fprintf(stderr,"-A apid Set audio PID (full cards only)\n");
! fprintf(stderr,"-T ttpid Set teletext PID (full cards only)\n");
! fprintf(stderr,"-pnr N Tune to Program Number (aka service) N\n\n");
! fprintf(stderr,"-i Dump SI information as XML\n");
! fprintf(stderr,"-x Attempt to auto-find other transponders (experimental)\n");
! fprintf(stderr,"-m Monitor the reception quality\n");
! fprintf(stderr,"-n dpid Add network interface and receive MPE on PID dpid\n");
fprintf(stderr,"\n");
return(-1);
--- 1034,1062 ----
if (argc==1) {
fprintf(stderr,"Usage: dvbtune [OPTIONS]\n\n");
! fprintf(stderr,"Standard options:\n\n");
! fprintf(stderr,"-f freq absolute Frequency (DVB-S in Hz or DVB-T in Hz)\n");
! fprintf(stderr," or L-band Frequency (DVB-S in Hz or DVB-T in Hz)\n");
! fprintf(stderr,"-p [H,V] Polarity (DVB-S only)\n");
! fprintf(stderr,"-s N Symbol rate (DVB-S or DVB-C)\n");
! fprintf(stderr,"-v vpid Decode video PID (full cards only)\n");
! fprintf(stderr,"-a apid Decode audio PID (full cards only)\n");
! fprintf(stderr,"-t ttpid Decode teletext PID (full cards only)\n");
! fprintf(stderr,"-pnr N Tune to Program Number (aka service) N\n\n");
! fprintf(stderr,"-i Dump SI information as XML\n");
! fprintf(stderr,"\nAdvanced tuning options:\n\n");
! fprintf(stderr,"-c [0-3] Use DVB card #[0-3]\n");
! fprintf(stderr,"-tone [0|1] 0=22kHz off, 1=22kHz on\n");
! fprintf(stderr,"-I [0|1|2] 0=Spectrum Inversion off, 1=Spectrum Inversion on, 2=auto\n");
! fprintf(stderr,"-D [0-4] DiSEqC command (0=none)\n\n");
! fprintf(stderr,"-qam X DVB-T modulation - 16%s, 32%s, 64%s, 128%s or 256%s\n",(CONSTELLATION_DEFAULT==QAM_16 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_32 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_64 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_128 ? " (default)" : ""),(CONSTELLATION_DEFAULT==QAM_256 ? " (default)" : ""));
! fprintf(stderr,"-gi N DVB-T guard interval 1_N (N=32%s, 16%s, 8%s or 4%s)\n",(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_32 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_16 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_8 ? " (default)" : ""),(GUARD_INTERVAL_DEFAULT==GUARD_INTERVAL_1_4 ? " (default)" : ""));
! fprintf(stderr,"-cr N DVB-T code rate. N=AUTO%s, 1_2%s, 2_3%s, 3_4%s, 5_6%s, 7_8%s\n",(HP_CODERATE_DEFAULT==FEC_AUTO ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_1_2 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_2_3 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_3_4 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_5_6 ? " (default)" : ""),(HP_CODERATE_DEFAULT==FEC_7_8 ? " (default)" : ""));
! fprintf(stderr,"-bw N DVB-T bandwidth (Mhz) - N=6%s, 7%s or 8%s\n",(BANDWIDTH_DEFAULT==BANDWIDTH_8_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_7_MHZ ? " (default)" : ""),(BANDWIDTH_DEFAULT==BANDWIDTH_6_MHZ ? " (default)" : ""));
! fprintf(stderr,"-tm N DVB-T transmission mode - N=2%s or 8%s\n",(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_2K ? " (default)" : ""),(TRANSMISSION_MODE_DEFAULT==TRANSMISSION_MODE_8K ? " (default)" : ""));
! fprintf(stderr,"-x Attempt to auto-find other transponders (experimental - DVB-S only)\n");
! fprintf(stderr,"-m Monitor the reception quality\n");
! fprintf(stderr,"-n dpid Add network interface and receive MPE on PID dpid\n");
fprintf(stderr,"\n");
return(-1);
***************
*** 1071,1075 ****
} else if (strcmp(argv[i],"-x")==0) { //
do_scan=1;
! } else if (strcmp(argv[i],"-V")==0) {
i++;
vpid=atoi(argv[i]);
--- 1083,1087 ----
} else if (strcmp(argv[i],"-x")==0) { //
do_scan=1;
! } else if (strcmp(argv[i],"-v")==0) {
i++;
vpid=atoi(argv[i]);
***************
*** 1078,1085 ****
pnr=atoi(argv[i]);
do_info=1;
! } else if (strcmp(argv[i],"-A")==0) {
i++;
apid=atoi(argv[i]);
! } else if (strcmp(argv[i],"-T")==0) {
i++;
ttpid=atoi(argv[i]);
--- 1090,1097 ----
pnr=atoi(argv[i]);
do_info=1;
! } else if (strcmp(argv[i],"-a")==0) {
i++;
apid=atoi(argv[i]);
! } else if (strcmp(argv[i],"-t")==0) {
i++;
ttpid=atoi(argv[i]);
***************
*** 1096,1099 ****
--- 1108,1171 ----
i++;
srate=atoi(argv[i])*1000UL;
+ } else if (strcmp(argv[i],"-qam")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 16: modulation=QAM_16; break;
+ case 32: modulation=QAM_32; break;
+ case 64: modulation=QAM_64; break;
+ case 128: modulation=QAM_128; break;
+ case 256: modulation=QAM_256; break;
+ default:
+ fprintf(stderr,"Invalid QAM rate: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-gi")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 32: guardInterval=GUARD_INTERVAL_1_32; break;
+ case 16: guardInterval=GUARD_INTERVAL_1_16; break;
+ case 8: guardInterval=GUARD_INTERVAL_1_8; break;
+ case 4: guardInterval=GUARD_INTERVAL_1_4; break;
+ default:
+ fprintf(stderr,"Invalid Guard Interval: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-tm")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 8: TransmissionMode=TRANSMISSION_MODE_8K; break;
+ case 2: TransmissionMode=TRANSMISSION_MODE_2K; break;
+ default:
+ fprintf(stderr,"Invalid Transmission Mode: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-bw")==0) {
+ i++;
+ switch(atoi(argv[i])) {
+ case 8: bandWidth=BANDWIDTH_8_MHZ; break;
+ case 7: bandWidth=BANDWIDTH_7_MHZ; break;
+ case 6: bandWidth=BANDWIDTH_6_MHZ; break;
+ default:
+ fprintf(stderr,"Invalid DVB-T bandwidth: %s\n",argv[i]);
+ exit(0);
+ }
+ } else if (strcmp(argv[i],"-cr")==0) {
+ i++;
+ if (strcmp(argv[i],"AUTO")) {
+ HP_CodeRate=FEC_AUTO;
+ } else if (strcmp(argv[i],"1_2")) {
+ HP_CodeRate=FEC_1_2;
+ } else if (strcmp(argv[i],"2_3")) {
+ HP_CodeRate=FEC_2_3;
+ } else if (strcmp(argv[i],"3_4")) {
+ HP_CodeRate=FEC_3_4;
+ } else if (strcmp(argv[i],"5_6")) {
+ HP_CodeRate=FEC_5_6;
+ } else if (strcmp(argv[i],"7_8")) {
+ HP_CodeRate=FEC_7_8;
+ } else {
+ fprintf(stderr,"Invalid Code Rate: %s\n",argv[i]);
+ exit(0);
+ }
} else if (strcmp(argv[i],"-D")==0) {
i++;
***************
*** 1103,1107 ****
exit(-1);
}
! } else if (strcmp(argv[i],"-t")==0) {
i++;
if (atoi(argv[i])==0)
--- 1175,1179 ----
exit(-1);
}
! } else if (strcmp(argv[i],"-tone")==0) {
i++;
if (atoi(argv[i])==0)
***************
*** 1222,1226 ****
set_ttpid(0);
! if (tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc) < 0) {
return -1;
}
--- 1294,1298 ----
set_ttpid(0);
! if (tune_it(fd_frontend,fd_sec,freq,srate,pol,tone,specInv,diseqc,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth) < 0) {
return -1;
}
***************
*** 1234,1238 ****
free_pat_list();
fprintf(stderr,"Scanning %d%c %d\n",t->freq,t->pol,t->srate);
! tune_it(fd_frontend,fd_sec,t->freq,t->srate,t->pol,tone,specInv,0);
printf("<transponder id=\"%d\" onid=\"%d\" freq=\"%05d\" srate=\"%d\" pos=\"%04x\" we_flag=\"%d\" polarity=\"%c\" modulation=\"%d\">\n",t->id,t->onid,t->freq,t->srate,t->pos,t->we_flag,t->pol,t->mod);
t->scanned=1;
--- 1306,1310 ----
free_pat_list();
fprintf(stderr,"Scanning %d%c %d\n",t->freq,t->pol,t->srate);
! tune_it(fd_frontend,fd_sec,t->freq,t->srate,t->pol,tone,specInv,0,modulation,HP_CodeRate,TransmissionMode,guardInterval,bandWidth);
printf("<transponder id=\"%d\" onid=\"%d\" freq=\"%05d\" srate=\"%d\" pos=\"%04x\" we_flag=\"%d\" polarity=\"%c\" modulation=\"%d\">\n",t->id,t->onid,t->freq,t->srate,t->pos,t->we_flag,t->pol,t->mod);
t->scanned=1;
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** tune.c 6 Jul 2002 07:07:31 -0000 1.8
--- tune.c 6 Jul 2002 08:00:12 -0000 1.9
***************
*** 32,36 ****
#include <ost/frontend.h>
! #include "dvb_defaults.h"
int OSTSelftest(int fd)
--- 32,36 ----
#include <ost/frontend.h>
! #include "tune.h"
int OSTSelftest(int fd)
***************
*** 143,147 ****
}
! int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone, SpectralInversion specInv, unsigned int diseqc) {
int i,res;
int32_t strength;
--- 143,147 ----
}
! 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;
***************
*** 181,190 ****
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
! feparams.u.ofdm.bandWidth=BANDWIDTH_DEFAULT;
! feparams.u.ofdm.HP_CodeRate=HP_CODERATE_DEFAULT;
feparams.u.ofdm.LP_CodeRate=LP_CODERATE_DEFAULT;
! feparams.u.ofdm.Constellation=CONSTELLATION_DEFAULT;
! feparams.u.ofdm.TransmissionMode=TRANSMISSION_MODE_DEFAULT;
! feparams.u.ofdm.guardInterval=GUARD_INTERVAL_DEFAULT;
feparams.u.ofdm.HierarchyInformation=HIERARCHY_DEFAULT;
break;
--- 181,190 ----
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
! feparams.u.ofdm.bandWidth=bandWidth;
! feparams.u.ofdm.HP_CodeRate=HP_CodeRate;
feparams.u.ofdm.LP_CodeRate=LP_CODERATE_DEFAULT;
! feparams.u.ofdm.Constellation=modulation;
! feparams.u.ofdm.TransmissionMode=TransmissionMode;
! feparams.u.ofdm.guardInterval=guardInterval;
feparams.u.ofdm.HierarchyInformation=HIERARCHY_DEFAULT;
break;
Index: tune.h
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** tune.h 15 May 2002 16:43:32 -0000 1.1.1.1
--- tune.h 6 Jul 2002 08:00:12 -0000 1.2
***************
*** 2,6 ****
#define _TUNE_H
! int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int srate, char pol, int tone, SpectralInversion specInv, unsigned int diseqc);
#endif
--- 2,9 ----
#define _TUNE_H
! #include <ost/frontend.h>
! #include "dvb_defaults.h"
!
! 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);
#endif
|
|
From: <lin...@us...> - 2002-07-06 07:07:34
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv11582
Modified Files:
tune.c
Log Message:
added DVB_T_LOCATION display when tuning
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** tune.c 29 Jun 2002 10:07:21 -0000 1.7
--- tune.c 6 Jul 2002 07:07:31 -0000 1.8
***************
*** 154,157 ****
--- 154,170 ----
FrontendInfo fe_info;
+ /* discard stale frontend events */
+ /*
+ pfd[0].fd = fd_frontend;
+ pfd[0].events = POLLIN;
+
+ if (poll(pfd,1,500)){
+ if (pfd[0].revents & POLLIN){
+ while (1) {
+ if (ioctl (fd_frontend, FE_GET_EVENT, &event) == -1) { break; }
+ }
+ }
+ }
+ */
if ( (res = ioctl(fd_frontend,FE_GET_INFO, &fe_info) < 0)){
perror("FE_GET_INFO: ");
***************
*** 165,169 ****
switch(fe_info.type) {
case FE_OFDM:
! fprintf(stderr,"tuning DVB-T to %d\n",freq);
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
--- 178,182 ----
switch(fe_info.type) {
case FE_OFDM:
! fprintf(stderr,"tuning DVB-T (%s) to %d\n",DVB_T_LOCATION,freq);
feparams.Frequency=freq;
feparams.Inversion=INVERSION_OFF;
|
|
From: <lin...@us...> - 2002-07-06 07:07:09
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv11549
Modified Files:
dvb_defaults.h
Log Message:
new version of dvb_defaults.h by Tomi Ollila
Index: dvb_defaults.h
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvb_defaults.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** dvb_defaults.h 29 Jun 2002 10:07:21 -0000 1.2
--- dvb_defaults.h 6 Jul 2002 07:07:06 -0000 1.3
***************
*** 1,8 ****
/* dvb_defaults.h
! Idea provided by Tomi Ollila, implemented by Dave Chapman.
Copyright (C) Dave Chapman 2002
!
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
--- 1,8 ----
/* dvb_defaults.h
! Provided by Tomi Ollila
Copyright (C) Dave Chapman 2002
!
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
***************
*** 46,72 ****
//#define FINLAND2
! /* Firstly, lets define some world-wide defaults */
! #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
! #define CONSTELLATION_DEFAULT QAM_64
! #define HIERARCHY_DEFAULT HIERARCHY_NONE
! #define LP_CODERATE_DEFAULT FEC_1_2
!
! /* DVB-T */
!
! #ifdef UK
!
! /* UNITED KINGDOM settings */
! #define HP_CODERATE_DEFAULT FEC_2_3
! #define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
! #define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_32
!
! #endif
#ifdef FINLAND
/* FINLAND settings 1 */
#define HP_CODERATE_DEFAULT FEC_2_3
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_8K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
#endif
--- 46,61 ----
//#define FINLAND2
! /* UK defines are at the end, as a default option */
#ifdef FINLAND
/* FINLAND settings 1 */
+ #define DVB_T_LOCATION "Suomessa"
+ #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
#define HP_CODERATE_DEFAULT FEC_2_3
+ #define CONSTELLATION_DEFAULT QAM_64
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_8K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
+ #define HIERARCHY_DEFAULT HIERARCHY_NONE
#endif
***************
*** 74,97 ****
#ifdef FINLAND2
! /* FINLAND settings 2 */
#define HP_CODERATE_DEFAULT FEC_1_2
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
#endif
! #ifndef HP_CODERATE_DEFAULT
#warning No DVB-T country defined in dvb_defaults.h
#warning defaulting to UK
#warning Ignore this if using Satellite or Cable
! /* Default to the UK */
#define HP_CODERATE_DEFAULT FEC_2_3
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_32
#endif
! #endif
--- 63,103 ----
#ifdef FINLAND2
! /* FINLAND settings 2 (someone verify there is such environment) */
! #define DVB_T_LOCATION "Suomessa II"
! #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
#define HP_CODERATE_DEFAULT FEC_1_2
+ #define CONSTELLATION_DEFAULT QAM_64
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_8
+ #define HIERARCHY_DEFAULT HIERARCHY_NONE
#endif
! #if defined (UK) && defined (HP_CODERATE_DEFAULT)
! #error Multible countries defined
! #endif
+ #ifndef DVB_T_LOCATION
+
+ #ifndef UK
#warning No DVB-T country defined in dvb_defaults.h
#warning defaulting to UK
#warning Ignore this if using Satellite or Cable
+ #endif
! /* UNITED KINGDOM settings */
! #define DVB_T_LOCATION "in United Kingdom"
! #define BANDWIDTH_DEFAULT BANDWIDTH_8_MHZ
#define HP_CODERATE_DEFAULT FEC_2_3
+ #define CONSTELLATION_DEFAULT QAM_64
#define TRANSMISSION_MODE_DEFAULT TRANSMISSION_MODE_2K
#define GUARD_INTERVAL_DEFAULT GUARD_INTERVAL_1_32
+ #define HIERARCHY_DEFAULT HIERARCHY_NONE
#endif
+ #if HIERARCHY_DEFAULT == HIERARCHY_NONE && !defined (LP_CODERATE_DEFAULT)
+ #define LP_CODERATE_DEFAULT (0) /* unused if HIERARCHY_NONE */
+ #endif
! #endif
|
|
From: <lin...@us...> - 2002-06-29 10:09:48
|
Update of /cvsroot/dvbtools/dvbstream
In directory usw-pr-cvs1:/tmp/cvs-serv25000
Modified Files:
tune.c dvb_defaults.h
Log Message:
moved slof,lof1,lof2 to dvb_defauls.h and renamed to upper-case
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/tune.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** tune.c 28 Jun 2002 06:38:36 -0000 1.4
--- tune.c 29 Jun 2002 10:09:46 -0000 1.5
***************
*** 34,41 ****
#include "dvb_defaults.h"
- #define slof (11700*1000UL)
- #define lof1 (9750*1000UL)
- #define lof2 (10600*1000UL)
-
int OSTSelftest(int fd)
{
--- 34,37 ----
***************
*** 193,201 ****
if (freq > 2200000) {
// 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;
}
--- 189,197 ----
if (freq > 2200000) {
// 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;
}
***************
*** 310,314 ****
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);
--- 306,310 ----
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);
Index: dvb_defaults.h
===================================================================
RCS file: /cvsroot/dvbtools/dvbstream/dvb_defaults.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** dvb_defaults.h 27 Jun 2002 19:29:36 -0000 1.1
--- dvb_defaults.h 29 Jun 2002 10:09:46 -0000 1.2
***************
*** 25,28 ****
--- 25,39 ----
#define _DVB_DEFAULTS_H
+ /* DVB-S */
+
+ // With a diseqc system you may need different values per LNB. I hope
+ // no-one ever asks for that :-)
+
+ #define SLOF (11700*1000UL)
+ #define LOF1 (9750*1000UL)
+ #define LOF2 (10600*1000UL)
+
+ /* DVB-T */
+
/* Either uncomment one of the following lines, or add it to your
"make" command. e.g.
|
|
From: <lin...@us...> - 2002-06-29 10:07:24
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv24277
Modified Files:
tune.c dvb_defaults.h
Log Message:
moved slof,lof1,lof2 to dvb_defauls.h and renamed to upper-case
Index: tune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/tune.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** tune.c 28 Jun 2002 06:38:09 -0000 1.6
--- tune.c 29 Jun 2002 10:07:21 -0000 1.7
***************
*** 34,41 ****
#include "dvb_defaults.h"
- #define slof (11700*1000UL)
- #define lof1 (9750*1000UL)
- #define lof2 (10600*1000UL)
-
int OSTSelftest(int fd)
{
--- 34,37 ----
***************
*** 193,201 ****
if (freq > 2200000) {
// 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;
}
--- 189,197 ----
if (freq > 2200000) {
// 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;
}
***************
*** 310,314 ****
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);
--- 306,310 ----
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);
Index: dvb_defaults.h
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvb_defaults.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** dvb_defaults.h 27 Jun 2002 18:41:40 -0000 1.1
--- dvb_defaults.h 29 Jun 2002 10:07:21 -0000 1.2
***************
*** 25,28 ****
--- 25,39 ----
#define _DVB_DEFAULTS_H
+ /* DVB-S */
+
+ // With a diseqc system you may need different values per LNB. I hope
+ // no-one ever asks for that :-)
+
+ #define SLOF (11700*1000UL)
+ #define LOF1 (9750*1000UL)
+ #define LOF2 (10600*1000UL)
+
+ /* DVB-T */
+
/* Either uncomment one of the following lines, or add it to your
"make" command. e.g.
|
|
From: <lin...@us...> - 2002-06-29 09:59:11
|
Update of /cvsroot/dvbtools/dvbtune
In directory usw-pr-cvs1:/tmp/cvs-serv21509
Modified Files:
dvbtune.c
Log Message:
more minor bug fixes - thanks again to Douglas Kosovic
Index: dvbtune.c
===================================================================
RCS file: /cvsroot/dvbtools/dvbtune/dvbtune.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** dvbtune.c 27 Jun 2002 20:20:47 -0000 1.4
--- dvbtune.c 29 Jun 2002 09:59:06 -0000 1.5
***************
*** 118,122 ****
}
! char xmlify_result[5];
char* xmlify (char c) {
switch(c) {
--- 118,122 ----
}
! char xmlify_result[10];
char* xmlify (char c) {
switch(c) {
***************
*** 555,561 ****
case 0x56:
printf("<teletext tag=\"0x56\">\n");
while (j < descriptor_length) {
! printf("<teletext_info lang=\"%s%s%s\" type=\"%d\" page=\"%d%02x\" />\n",xmlify(buf[i]),xmlify(buf[i+1]),xmlify(buf[i+2]),(buf[i+3]&0xf8)>>3,(buf[i+3]&0x07),buf[i+4]);
i+=5;
j+=5;
--- 555,566 ----
case 0x56:
+ j=0;
printf("<teletext tag=\"0x56\">\n");
while (j < descriptor_length) {
! printf("<teletext_info lang=\"");
! printf("%s",xmlify(buf[i]));
! printf("%s",xmlify(buf[i+1]));
! printf("%s",xmlify(buf[i+2]));
! printf("\" type=\"%d\" page=\"%d%02x\" />\n",(buf[i+3]&0xf8)>>3,(buf[i+3]&0x07),buf[i+4]);
i+=5;
j+=5;
***************
*** 568,572 ****
printf("<subtitling_descriptor tag=\"0x59\">\n");
while (j < descriptor_length) {
! printf("<subtitle_stream lang=\"%s%s%s\" type=\"%d\" composition_page_id=\"%04x\" ancillary_page_id=\"%04x\" />\n",xmlify(buf[i]),xmlify(buf[i+1]),xmlify(buf[i+2]),buf[i+3],(buf[i+4]<<8)|buf[i+5],(buf[i+6]<<8)|buf[i+7]);
i+=7;
j+=7;
--- 573,581 ----
printf("<subtitling_descriptor tag=\"0x59\">\n");
while (j < descriptor_length) {
! printf("<subtitle_stream lang=\"");
! printf("%s",xmlify(buf[i]));
! printf("%s",xmlify(buf[i+1]));
! printf("%s",xmlify(buf[i+2]));
! printf("\" type=\"%d\" composition_page_id=\"%04x\" ancillary_page_id=\"%04x\" />\n",buf[i+3],(buf[i+4]<<8)|buf[i+5],(buf[i+6]<<8)|buf[i+7]);
i+=7;
j+=7;
***************
*** 588,592 ****
printf("<canal_radio tag=\"0x%02x\" id=\"%d\" name=\"",descriptor_tag,buf[i]);
i++;
- j=0;
for (j=0;j<descriptor_length;j++)
if (buf[i+j]!=0) printf("%c",buf[i+j]);
--- 597,600 ----
|