git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix calculation in calculateDifference for cable and terrestrial which should complet...
[enigma2.git]
/
lib
/
dvb
/
frontend.cpp
diff --git
a/lib/dvb/frontend.cpp
b/lib/dvb/frontend.cpp
index 21de11cdcc21cf0a6630ae8f5c826259b1a116fc..c8434c066bbe4556e940b56a44357d7e167398ff 100644
(file)
--- a/
lib/dvb/frontend.cpp
+++ b/
lib/dvb/frontend.cpp
@@
-17,15
+17,10
@@
#define BANDWIDTH_AUTO (BandWidth)3
#define GUARD_INTERVAL_AUTO (GuardInterval)4
#define HIERARCHY_AUTO (Hierarchy)4
#define BANDWIDTH_AUTO (BandWidth)3
#define GUARD_INTERVAL_AUTO (GuardInterval)4
#define HIERARCHY_AUTO (Hierarchy)4
-#define constellation Constellation
-#define guard_interval guardInterval
-#define hierarchy_information HierarchyInformation
-#define code_rate_HP HP_CodeRate
-#define code_rate_LP LP_CodeRate
#define parm.frequency parm.Frequency
#define parm.u.qam.symbol_rate parm.u.qam.SymbolRate
#define parm.u.qam.fec_inner parm.u.qam.FEC_inner
#define parm.frequency parm.Frequency
#define parm.u.qam.symbol_rate parm.u.qam.SymbolRate
#define parm.u.qam.fec_inner parm.u.qam.FEC_inner
-#define parm.u.qam.modulation parm.u.qam.
MOD
+#define parm.u.qam.modulation parm.u.qam.
QAM
#define parm.u.ofdm.bandwidth parm.u.ofdm.bandWidth
#define parm.u.ofdm.code_rate_LP parm.u.ofdm.LP_CodeRate
#define parm.u.ofdm.code_rate_HP parm.u.ofdm.HP_CodeRate
#define parm.u.ofdm.bandwidth parm.u.ofdm.bandWidth
#define parm.u.ofdm.code_rate_LP parm.u.ofdm.LP_CodeRate
#define parm.u.ofdm.code_rate_HP parm.u.ofdm.HP_CodeRate
@@
-57,11
+52,16
@@
void eDVBFrontendParametersSatellite::set(const SatelliteDeliverySystemDescripto
orbital_position += ((descriptor.getOrbitalPosition()) & 0xF);
if (orbital_position && (!descriptor.getWestEastFlag()))
orbital_position = 3600 - orbital_position;
orbital_position += ((descriptor.getOrbitalPosition()) & 0xF);
if (orbital_position && (!descriptor.getWestEastFlag()))
orbital_position = 3600 - orbital_position;
+ eDebug("SAT freq %d, %s, pos %d, sr %d, fec %d",
+ frequency,
+ polarisation ? "hor" : "vert",
+ orbital_position,
+ symbol_rate, fec);
}
void eDVBFrontendParametersCable::set(const CableDeliverySystemDescriptor &descriptor)
{
}
void eDVBFrontendParametersCable::set(const CableDeliverySystemDescriptor &descriptor)
{
- frequency = descriptor.getFrequency()
*
10;
+ frequency = descriptor.getFrequency()
/
10;
symbol_rate = descriptor.getSymbolRate() * 100;
fec_inner = descriptor.getFecInner();
if ( fec_inner == 0xF )
symbol_rate = descriptor.getSymbolRate() * 100;
fec_inner = descriptor.getFecInner();
if ( fec_inner == 0xF )
@@
-70,6
+70,9
@@
void eDVBFrontendParametersCable::set(const CableDeliverySystemDescriptor &descr
if ( modulation > 0x5 )
modulation = Modulation::Auto;
inversion = Inversion::Unknown;
if ( modulation > 0x5 )
modulation = Modulation::Auto;
inversion = Inversion::Unknown;
+ eDebug("Cable freq %d, mod %d, sr %d, fec %d",
+ frequency,
+ modulation, symbol_rate, fec_inner);
}
void eDVBFrontendParametersTerrestrial::set(const TerrestrialDeliverySystemDescriptor &descriptor)
}
void eDVBFrontendParametersTerrestrial::set(const TerrestrialDeliverySystemDescriptor &descriptor)
@@
-95,6
+98,9
@@
void eDVBFrontendParametersTerrestrial::set(const TerrestrialDeliverySystemDescr
if (modulation > 2)
modulation = Modulation::Auto;
inversion = Inversion::Unknown;
if (modulation > 2)
modulation = Modulation::Auto;
inversion = Inversion::Unknown;
+ eDebug("Terr freq %d, bw %d, cr_hp %d, cr_lp %d, tm_mode %d, guard %d, hierarchy %d, const %d",
+ frequency, bandwidth, code_rate_HP, code_rate_LP, transmission_mode,
+ guard_interval, hierarchy, modulation);
}
eDVBFrontendParameters::eDVBFrontendParameters(): m_type(-1)
}
eDVBFrontendParameters::eDVBFrontendParameters(): m_type(-1)
@@
-189,7
+195,22
@@
RESULT eDVBFrontendParameters::calculateDifference(const iDVBFrontendParameters
return 0;
}
case iDVBFrontend::feCable:
return 0;
}
case iDVBFrontend::feCable:
+ eDVBFrontendParametersCable ocable;
+ if (parm->getDVBC(ocable))
+ return -2;
+
+ diff = abs(cable.frequency - ocable.frequency);
+ diff += abs(cable.symbol_rate - ocable.symbol_rate);
+
+ return 0;
case iDVBFrontend::feTerrestrial:
case iDVBFrontend::feTerrestrial:
+ eDVBFrontendParametersTerrestrial oterrestrial;
+ if (parm->getDVBT(oterrestrial))
+ return -2;
+
+ diff = abs(terrestrial.frequency - oterrestrial.frequency);
+
+ return 0;
default:
return -1;
}
default:
return -1;
}