mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 16:01:20 +02:00
add basic support for DVB-T
This needs more fine tuning wrt scan setup etc, but should work for now.
This commit is contained in:
@@ -5,4 +5,4 @@ SUBDIRS += lcd
|
||||
endif
|
||||
|
||||
configdir = $(CONFIGDIR)
|
||||
config_DATA = cables.xml satellites.xml encoding.conf tobackup.conf providermap.xml
|
||||
config_DATA = cables.xml satellites.xml encoding.conf tobackup.conf providermap.xml terrestrial.xml
|
||||
|
@@ -1187,6 +1187,7 @@ scants.abort_body Scanvorgang wirklich abbrechen?
|
||||
scants.abort_header breche Scan ab...
|
||||
scants.actcable Kabelnetz:
|
||||
scants.actsatellite Satellit:
|
||||
scants.actterrestrial Terrestrisch:
|
||||
scants.bouquet Bouquets
|
||||
scants.bouquet_create neu erstellen
|
||||
scants.bouquet_erase löschen
|
||||
@@ -1274,6 +1275,7 @@ stringinput.caps Groß-/Kleinbuchstaben
|
||||
stringinput.clear Alles löschen
|
||||
subtitles.head Untertitel
|
||||
subtitles.stop Untertitel aus
|
||||
terrestrialsetup.provider DVB-T Region
|
||||
timer.eventrecord.msg Die Sendung wurde zur Aufnahme vorgemerkt.
|
||||
timer.eventrecord.title Aufnahme vormerken
|
||||
timer.eventtimed.msg Die Sendung wurde vorgemerkt.
|
||||
|
@@ -1188,6 +1188,7 @@ scants.abort_body Should the search really be aborted?
|
||||
scants.abort_header Abortion of channel scan
|
||||
scants.actcable Cable:
|
||||
scants.actsatellite Satellite:
|
||||
scants.actterrestrial Terrestrial:
|
||||
scants.bouquet Bouquet
|
||||
scants.bouquet_create create new
|
||||
scants.bouquet_erase erase all
|
||||
@@ -1275,6 +1276,7 @@ stringinput.caps caps / no caps
|
||||
stringinput.clear clear all
|
||||
subtitles.head Subtitles
|
||||
subtitles.stop Stop subtitles
|
||||
terrestrialsetup.provider Terrestrial Provider
|
||||
timer.eventrecord.msg ... TO be DONE, or not to be done
|
||||
timer.eventrecord.title Schedule Record
|
||||
timer.eventtimed.msg The event is scheduled.\nThe box will power on and \nswitch to this channel at the given time.
|
||||
|
92
data/mk_terrestrial_xml.pl
Executable file
92
data/mk_terrestrial_xml.pl
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# create a terrestrial.xml for neutrino from the data installed by the
|
||||
# dvb utils
|
||||
# the behaviour is similar to the "scan" program form the dvb utils.
|
||||
#
|
||||
# Released under the GPL V2 or later
|
||||
# (C) 2009-2012 Stefan Seyfried
|
||||
|
||||
use strict;
|
||||
my $srcdir = "/usr/share/dvb/dvb-t";
|
||||
|
||||
# can be given as "de-*"
|
||||
my $scanfile = shift;
|
||||
$scanfile = "auto-Default" unless (defined $scanfile);
|
||||
|
||||
my @sourcefiles = glob($srcdir . "/" . $scanfile);
|
||||
my ($sourcefile, $basename, $line, $k);
|
||||
my ($freq, $bw, $cr_hp, $cr_lp, $mod, $tmode, $gint, $hier);
|
||||
|
||||
# from /usr/include/linux/dvb/frontend.h
|
||||
# inversion is not used in the scan files
|
||||
my %INV = ("INVERSION_OFF" => 0, "INVERSION_ON" => 1, "INVERSION_AUTO" => 2);
|
||||
my %CODE_RATE = ("NONE" => 0, "1/2" => 1, "2/3" => 2, "3/4" => 3, "4/5" => 4,
|
||||
"5/6" => 5, "6/7" => 6, "7/8" => 7, "8/9" => 8, "AUTO" => 9);
|
||||
my %MODULATION = ("QPSK" => 0, "QAM16" => 1, "QAM32" => 2, "QAM64" => 3,
|
||||
"QAM128" => 4, "QAM256" => 5, "AUTO" => 6);
|
||||
my %T_MODE = ("2k" => 0, "8k" => 1, "AUTO" => 2);
|
||||
my %BWIDTH = ("8MHz" => 0, "7MHz" => 1, "6MHz" => 2, "AUTO" => 3);
|
||||
my %GINTERVAL = ("1/32" => 0, "1/16" => 1, "1/8" => 2, "1/4" => 3, "AUTO" => 4);
|
||||
my %HIERARCHY = ("NONE" => 0, "1" => 1, "2" => 2, "4" => 3, "AUTO" => 4);
|
||||
|
||||
|
||||
# print the header
|
||||
print("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
|
||||
print("<!-- useable flags are
|
||||
1 - Network Scan
|
||||
2 - use BAT
|
||||
4 - use ONIT
|
||||
8 - skip NITs of known networks
|
||||
and combinations of this -->\n\n");
|
||||
print("<!-- this file is autogenerated by mk_terrestrial_xml.pl
|
||||
WARNING! It is probably unsuitable for enigma! -->\n");
|
||||
#
|
||||
# explain the parameters
|
||||
print("<!-- Parameters are (unfortunately, the neutrino parser does not allow default settings,
|
||||
the default is always \"0\"):\n");
|
||||
print("\t* bandwidth:\n\t\t");
|
||||
foreach $k (sort {$BWIDTH{$a} <=> $BWIDTH{$b}} keys %BWIDTH) { printf("\"%d\"-%s ", $BWIDTH{$k}, $k); }
|
||||
print("\n\t* constellation:\n\t\t");
|
||||
foreach $k (sort {$MODULATION{$a} <=> $MODULATION{$b}} keys(%MODULATION)) { printf("\"%d\"-%s ", $MODULATION{$k}, $k); }
|
||||
print("\n\t* transmission_mode:\n\t\t");
|
||||
foreach $k (sort {$T_MODE{$a} <=> $T_MODE{$b}} keys(%T_MODE)) { printf("\"%d\"-%s ", $T_MODE{$k}, $k); }
|
||||
print("\n\t* code_rate_[HL]P:\n\t\t");
|
||||
foreach $k (sort {$CODE_RATE{$a} <=> $CODE_RATE{$b}} keys(%CODE_RATE)) { printf("\"%d\"-%s ", $CODE_RATE{$k}, $k); }
|
||||
print("\n\t* guard_interval:\n\t\t");
|
||||
foreach $k (sort {$GINTERVAL{$a} <=> $GINTERVAL{$b}} keys(%GINTERVAL)) { printf("\"%d\"-%s ", $GINTERVAL{$k}, $k); }
|
||||
print("\n\t* hierarchy:\n\t\t");
|
||||
foreach $k (sort {$HIERARCHY{$a} <=> $HIERARCHY{$b}} keys(%HIERARCHY)) { printf("\"%d\"-%s ", $HIERARCHY{$k}, $k); }
|
||||
print("\t-->\n\n");
|
||||
# header ends...
|
||||
|
||||
print("<locations>\n");
|
||||
foreach $sourcefile (@sourcefiles)
|
||||
{
|
||||
open(FILE, "< $sourcefile") or die "can't open $sourcefile: $!\n";
|
||||
$basename = $sourcefile;
|
||||
$basename =~ s#^.*/##;
|
||||
print("\t<terrestrial name=\"$basename\" flags=\"5\">\n");
|
||||
while ($line = <FILE>)
|
||||
{ # T 184500000 7MHz 3/4 NONE QAM16 8k 1/4 NONE
|
||||
next unless ($line =~ m/^T\s+(\d+)\s+(\dMHz)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/);
|
||||
$freq = $1; $bw = $2; $cr_hp = $3; $cr_lp = $4; $mod = $5; $tmode = $6; $gint = $7; $hier = $8;
|
||||
unless (defined($CODE_RATE{$cr_hp})) { warn "$basename: illegal cr_hp: $cr_hp, using AUTO\n"; $cr_hp="AUTO" };
|
||||
unless (defined($CODE_RATE{$cr_lp})) { warn "$basename: illegal cr_lp: $cr_lp, using AUTO\n"; $cr_lp="AUTO" };
|
||||
unless (defined($MODULATION{$mod})) { die "$basename: illegal mod: $mod\n" }; # no errors in those (yet).
|
||||
unless (defined($T_MODE{$tmode})) { die "$basename: illegal tmode: $tmode\n" };
|
||||
unless (defined($GINTERVAL{$gint})) { die "$basename: illegal gint: $gint\n" };
|
||||
unless (defined($HIERARCHY{$hier})) { die "$basename: illegal hier: $hier\n" };
|
||||
unless (defined($BWIDTH{$bw})) { die "$basename: illegal bw: $bw\n" };
|
||||
if ($cr_hp eq "NONE") { $cr_hp="AUTO" }; # same as scan.c
|
||||
if ($cr_lp eq "NONE") { $cr_lp="AUTO" }; # same as scan.c
|
||||
printf("\t\t<transponder frequency=\"%d\" bandwidth=\"%d\" constellation=\"%d\" ".
|
||||
"transmission_mode=\"%d\" code_rate_HP=\"%d\" code_rate_LP=\"%d\" ".
|
||||
"guard_interval=\"%d\" hierarchy=\"%d\" />\n",
|
||||
$freq / 1000, $BWIDTH{$bw}, $MODULATION{$mod},
|
||||
$T_MODE{$tmode}, $CODE_RATE{$cr_hp}, $CODE_RATE{$cr_lp},
|
||||
$GINTERVAL{$gint}, $HIERARCHY{$hier});
|
||||
}
|
||||
print("\t</terrestrial>\n");
|
||||
}
|
||||
print("</locations>\n");
|
86
data/terrestrial.xml
Normal file
86
data/terrestrial.xml
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- useable flags are
|
||||
1 - Network Scan
|
||||
2 - use BAT
|
||||
4 - use ONIT
|
||||
8 - skip NITs of known networks
|
||||
and combinations of this -->
|
||||
|
||||
<!-- this file is autogenerated by mk_terrestrial_xml.pl
|
||||
WARNING! It is probably unsuitable for enigma! -->
|
||||
<!-- Parameters are (unfortunately, the neutrino parser does not allow default settings,
|
||||
the default is always "0"):
|
||||
* bandwidth:
|
||||
"0"-8MHz "1"-7MHz "2"-6MHz "3"-AUTO
|
||||
* constellation:
|
||||
"0"-QPSK "1"-QAM16 "2"-QAM32 "3"-QAM64 "4"-QAM128 "5"-QAM256 "6"-AUTO
|
||||
* transmission_mode:
|
||||
"0"-2k "1"-8k "2"-AUTO
|
||||
* code_rate_[HL]P:
|
||||
"0"-NONE "1"-1/2 "2"-2/3 "3"-3/4 "4"-4/5 "5"-5/6 "6"-6/7 "7"-7/8 "8"-8/9 "9"-AUTO
|
||||
* guard_interval:
|
||||
"0"-1/32 "1"-1/16 "2"-1/8 "3"-1/4 "4"-AUTO
|
||||
* hierarchy:
|
||||
"0"-NONE "1"-1 "2"-2 "3"-4 "4"-AUTO -->
|
||||
|
||||
<locations>
|
||||
<terrestrial name="auto-Default" flags="5">
|
||||
<transponder frequency="177500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="184500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="191500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="198500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="205500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="212500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="219500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="226500" bandwidth="1" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="474000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="482000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="490000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="498000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="506000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="514000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="522000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="530000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="538000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="546000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="554000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="562000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="570000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="578000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="586000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="594000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="602000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="610000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="618000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="626000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="634000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="642000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="650000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="658000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="666000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="674000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="682000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="690000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="698000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="706000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="714000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="722000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="730000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="738000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="746000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="754000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="762000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="770000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="778000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="786000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="794000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="802000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="810000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="818000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="826000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="834000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="842000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="850000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
<transponder frequency="858000" bandwidth="0" constellation="6" transmission_mode="2" code_rate_HP="9" code_rate_LP="9" guard_interval="4" hierarchy="0" />
|
||||
</terrestrial>
|
||||
</locations>
|
Reference in New Issue
Block a user