projects
/
vuplus_dvbapp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit 'dm/experimental' into test branch
[vuplus_dvbapp]
/
lib
/
dvb
/
frontend.cpp
diff --git
a/lib/dvb/frontend.cpp
b/lib/dvb/frontend.cpp
old mode 100644
(file)
new mode 100755
(executable)
index
6f78197
..
47e1ab5
--- a/
lib/dvb/frontend.cpp
+++ b/
lib/dvb/frontend.cpp
@@
-490,6
+490,11
@@
void eDVBFrontend::reopenFrontend()
openFrontend();
}
openFrontend();
}
+#ifdef BUILD_VUPLUS /* ikseong */
+int frontend0_fd;
+int frontend1_fd;
+#endif
+
int eDVBFrontend::openFrontend()
{
if (m_state != stateClosed)
int eDVBFrontend::openFrontend()
{
if (m_state != stateClosed)
@@
-514,6
+519,15
@@
int eDVBFrontend::openFrontend()
eWarning("failed! (%s) %m", m_filename);
return -1;
}
eWarning("failed! (%s) %m", m_filename);
return -1;
}
+#ifdef BUILD_VUPLUS /* ikseong */
+ else
+ {
+ if (m_dvbid==0)
+ frontend0_fd = m_fd;
+ else if (m_dvbid==1)
+ frontend1_fd = m_fd;
+ }
+#endif
}
}
else
}
}
else
@@
-739,6
+753,10
@@
void eDVBFrontend::timeout()
m_tuning = 0;
if (m_state == stateTuning)
{
m_tuning = 0;
if (m_state == stateTuning)
{
+#ifdef BUILD_VUPLUS /* ikseong */
+ eDVBFrontend *sec_fe = this;
+ sec_fe->m_data[CSW] = sec_fe->m_data[UCSW] = sec_fe->m_data[TONEBURST] = -1; // reset diseqc
+#endif
m_state = stateFailed;
m_stateChanged(this);
}
m_state = stateFailed;
m_stateChanged(this);
}
@@
-813,7
+831,7
@@
int eDVBFrontend::readFrontendData(int type)
float fval1 = SDS_SNRE / 268435456.0,
fval2, fval3, fval4;
float fval1 = SDS_SNRE / 268435456.0,
fval2, fval3, fval4;
- if (
parm_u_qpsk_fec_inner <= FEC_S2_QPSK_9_10) // DVB-S2 QPSK
+ if (
oparm.sat.modulation == eDVBFrontendParametersSatellite::Modulation_QPSK)
{
fval2 = 6.76;
fval3 = 4.35;
{
fval2 = 6.76;
fval3 = 4.35;
@@
-1860,11
+1878,11
@@
int eDVBFrontend::tuneLoopInt() // called by m_tuneTimer
int slotid = sec_fe->m_slotid;
// FIXMEEEEEE hardcoded i2c devices for dm7025 and dm8000
if (slotid < 2)
int slotid = sec_fe->m_slotid;
// FIXMEEEEEE hardcoded i2c devices for dm7025 and dm8000
if (slotid < 2)
- sprintf(dev, "/dev/i2c
/
%d", slotid);
+ sprintf(dev, "/dev/i2c
-
%d", slotid);
else if (slotid == 2)
else if (slotid == 2)
- sprintf(dev, "/dev/i2c
/2"); // first nim socket on DM8000 use /dev/i2c/
2
+ sprintf(dev, "/dev/i2c
-2"); // first nim socket on DM8000 use /dev/i2c-
2
else if (slotid == 3)
else if (slotid == 3)
- sprintf(dev, "/dev/i2c
/4"); // second nim socket on DM8000 use /dev/i2c/
4
+ sprintf(dev, "/dev/i2c
-4"); // second nim socket on DM8000 use /dev/i2c-
4
int fd = ::open(dev, O_RDWR);
unsigned char data[2];
int fd = ::open(dev, O_RDWR);
unsigned char data[2];
@@
-2111,8
+2129,8
@@
RESULT eDVBFrontend::prepare_sat(const eDVBFrontendParametersSatellite &feparm,
return -EINVAL;
}
#if HAVE_DVB_API_VERSION < 5
return -EINVAL;
}
#if HAVE_DVB_API_VERSION < 5
- parm_inversion
|= (feparm.rolloff << 2
); // Hack.. we use bit 2..3 of inversion param for rolloff
- parm_inversion
|= (feparm.pilot << 4
); // Hack.. we use bit 4..5 of inversion param for pilot
+ parm_inversion
= (fe_spectral_inversion_t)((feparm.rolloff << 2) | parm_inversion
); // Hack.. we use bit 2..3 of inversion param for rolloff
+ parm_inversion
= (fe_spectral_inversion_t)((feparm.pilot << 4) | parm_inversion
); // Hack.. we use bit 4..5 of inversion param for pilot
if (feparm.modulation == eDVBFrontendParametersSatellite::Modulation_8PSK)
{
parm_u_qpsk_fec_inner = (fe_code_rate_t)((int)parm_u_qpsk_fec_inner+9);
if (feparm.modulation == eDVBFrontendParametersSatellite::Modulation_8PSK)
{
parm_u_qpsk_fec_inner = (fe_code_rate_t)((int)parm_u_qpsk_fec_inner+9);