#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.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
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)
{
- frequency = descriptor.getFrequency() * 10;
+ frequency = descriptor.getFrequency() / 10;
symbol_rate = descriptor.getSymbolRate() * 100;
fec_inner = descriptor.getFecInner();
if ( fec_inner == 0xF )
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)
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)
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:
+ eDVBFrontendParametersTerrestrial oterrestrial;
+ if (parm->getDVBT(oterrestrial))
+ return -2;
+
+ diff = abs(terrestrial.frequency - oterrestrial.frequency);
+
+ return 0;
default:
return -1;
}