mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-01 09:51:13 +02:00
Revert "complete rebuild of frontend cmds"
This reverts commit20509db8e5
. Origin commit data ------------------ Branch: ni/coolstream Commit:c6a6138008
Author: vanhofen <vanhofen@gmx.de> Date: 2020-10-29 (Thu, 29 Oct 2020) ------------------ This commit was generated by Migit
This commit is contained in:
@@ -54,7 +54,122 @@ extern int zapit_debug;
|
|||||||
#define WEST 1
|
#define WEST 1
|
||||||
#define USALS
|
#define USALS
|
||||||
|
|
||||||
#define FE_MAX_PROPS 13
|
#define CLEAR 0
|
||||||
|
// Common properties
|
||||||
|
#define FREQUENCY 1
|
||||||
|
#define MODULATION 2
|
||||||
|
#define INVERSION 3
|
||||||
|
// common to S/S2/C
|
||||||
|
#define SYMBOL_RATE 4
|
||||||
|
#define DELIVERY_SYSTEM 5
|
||||||
|
#define INNER_FEC 6
|
||||||
|
// DVB-S/S2 specific
|
||||||
|
#define PILOTS 7
|
||||||
|
#define ROLLOFF 8
|
||||||
|
// DVB-S2X specific
|
||||||
|
#define MIS 9
|
||||||
|
// DVB-T specific
|
||||||
|
#define BANDWIDTH 4
|
||||||
|
#define CODE_RATE_HP 6
|
||||||
|
#define CODE_RATE_LP 7
|
||||||
|
#define TRANSMISSION_MODE 8
|
||||||
|
#define GUARD_INTERVAL 9
|
||||||
|
#define HIERARCHY 10
|
||||||
|
// DVB-T2 specific
|
||||||
|
#define PLP_ID 11
|
||||||
|
|
||||||
|
#define FE_COMMON_PROPS 2
|
||||||
|
#define FE_DVBS_PROPS 6
|
||||||
|
#define FE_DVBS2_PROPS 8
|
||||||
|
#define FE_DVBS2X_PROPS 9
|
||||||
|
#define FE_DVBC_PROPS 6
|
||||||
|
#define FE_DVBT_PROPS 10
|
||||||
|
#define FE_DVBT2_PROPS 11
|
||||||
|
|
||||||
|
/* stolen from dvb.c from vlc */
|
||||||
|
static const struct dtv_property dvbs_cmdargs[] = {
|
||||||
|
{ DTV_CLEAR, {0,0,0}, { 0 }, 0 },
|
||||||
|
{ DTV_FREQUENCY, {} , { 0 }, 0 },
|
||||||
|
{ DTV_MODULATION, {} , { QPSK }, 0 },
|
||||||
|
{ DTV_INVERSION, {} , { INVERSION_AUTO }, 0 },
|
||||||
|
{ DTV_SYMBOL_RATE, {} , { 27500000 }, 0 },
|
||||||
|
{ DTV_DELIVERY_SYSTEM, {} , { SYS_DVBS }, 0 },
|
||||||
|
{ DTV_INNER_FEC, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_TUNE, {} , { 0 }, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct dtv_property dvbs2_cmdargs[] = {
|
||||||
|
{ DTV_CLEAR, {0,0,0}, { 0 }, 0 },
|
||||||
|
{ DTV_FREQUENCY, {} , { 0 }, 0 },
|
||||||
|
{ DTV_MODULATION, {} , { PSK_8 }, 0 },
|
||||||
|
{ DTV_INVERSION, {} , { INVERSION_AUTO }, 0 },
|
||||||
|
{ DTV_SYMBOL_RATE, {} , { 27500000 }, 0 },
|
||||||
|
{ DTV_DELIVERY_SYSTEM, {} , { SYS_DVBS2 }, 0 },
|
||||||
|
{ DTV_INNER_FEC, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_PILOT, {} , { PILOT_AUTO }, 0 },
|
||||||
|
{ DTV_ROLLOFF, {} , { ROLLOFF_AUTO }, 0 },
|
||||||
|
{ DTV_TUNE, {} , { 0 }, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct dtv_property dvbs2x_cmdargs[] = {
|
||||||
|
{ DTV_CLEAR, {0,0,0}, { 0 }, 0 },
|
||||||
|
{ DTV_FREQUENCY, {} , { 0 }, 0 },
|
||||||
|
{ DTV_MODULATION, {} , { PSK_8 }, 0 },
|
||||||
|
{ DTV_INVERSION, {} , { INVERSION_AUTO }, 0 },
|
||||||
|
{ DTV_SYMBOL_RATE, {} , { 27500000 }, 0 },
|
||||||
|
{ DTV_DELIVERY_SYSTEM, {} , { SYS_DVBS2 }, 0 },
|
||||||
|
{ DTV_INNER_FEC, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_PILOT, {} , { PILOT_AUTO }, 0 },
|
||||||
|
{ DTV_ROLLOFF, {} , { ROLLOFF_AUTO }, 0 },
|
||||||
|
{ DTV_STREAM_ID, {} , { NO_STREAM_ID_FILTER }, 0 },
|
||||||
|
{ DTV_TUNE, {} , { 0 }, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct dtv_property dvbc_cmdargs[] = {
|
||||||
|
{ DTV_CLEAR, {0,0,0}, { 0 }, 0 },
|
||||||
|
{ DTV_FREQUENCY, {} , { 0 }, 0 },
|
||||||
|
{ DTV_MODULATION, {} , { QAM_AUTO }, 0 },
|
||||||
|
{ DTV_INVERSION, {} , { INVERSION_AUTO }, 0 },
|
||||||
|
{ DTV_SYMBOL_RATE, {} , { 27500000 }, 0 },
|
||||||
|
{ DTV_DELIVERY_SYSTEM, {} , { SYS_DVBC_ANNEX_AC }, 0 },
|
||||||
|
{ DTV_INNER_FEC, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_TUNE, {} , { 0 }, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct dtv_property dvbt_cmdargs[] = {
|
||||||
|
{ DTV_CLEAR, {0,0,0}, { 0 }, 0 },
|
||||||
|
{ DTV_FREQUENCY, {} , { 0 }, 0 },
|
||||||
|
{ DTV_MODULATION, {} , { QAM_AUTO }, 0 },
|
||||||
|
{ DTV_INVERSION, {} , { INVERSION_AUTO }, 0 },
|
||||||
|
{ DTV_BANDWIDTH_HZ, {} , { 8000000 }, 0 },
|
||||||
|
{ DTV_DELIVERY_SYSTEM, {} , { SYS_DVBT }, 0 },
|
||||||
|
{ DTV_CODE_RATE_HP, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_CODE_RATE_LP, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_TRANSMISSION_MODE,{} , { TRANSMISSION_MODE_AUTO }, 0 },
|
||||||
|
{ DTV_GUARD_INTERVAL, {} , { GUARD_INTERVAL_AUTO }, 0 },
|
||||||
|
{ DTV_HIERARCHY, {} , { HIERARCHY_AUTO }, 0 },
|
||||||
|
{ DTV_TUNE, {} , { 0 }, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct dtv_property dvbt2_cmdargs[] = {
|
||||||
|
{ DTV_CLEAR, {0,0,0}, { 0 }, 0 },
|
||||||
|
{ DTV_FREQUENCY, {} , { 0 }, 0 },
|
||||||
|
{ DTV_MODULATION, {} , { QAM_AUTO }, 0 },
|
||||||
|
{ DTV_INVERSION, {} , { INVERSION_AUTO }, 0 },
|
||||||
|
{ DTV_BANDWIDTH_HZ, {} , { 8000000 }, 0 },
|
||||||
|
{ DTV_DELIVERY_SYSTEM, {} , { SYS_DVBT2 }, 0 },
|
||||||
|
{ DTV_CODE_RATE_HP, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_CODE_RATE_LP, {} , { FEC_AUTO }, 0 },
|
||||||
|
{ DTV_TRANSMISSION_MODE,{} , { TRANSMISSION_MODE_AUTO }, 0 },
|
||||||
|
{ DTV_GUARD_INTERVAL, {} , { GUARD_INTERVAL_AUTO }, 0 },
|
||||||
|
{ DTV_HIERARCHY, {} , { HIERARCHY_AUTO }, 0 },
|
||||||
|
#if defined DTV_STREAM_ID
|
||||||
|
{ DTV_STREAM_ID, {} , { NO_STREAM_ID_FILTER }, 0 },
|
||||||
|
#elif defined DTV_DVBT2_PLP_ID
|
||||||
|
{ DTV_DVBT2_PLP_ID, {} , { NO_STREAM_ID_FILTER }, 0 },
|
||||||
|
#endif
|
||||||
|
{ DTV_TUNE, {} , { 0 }, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
#define diff(x,y) (max(x,y) - min(x,y))
|
#define diff(x,y) (max(x,y) - min(x,y))
|
||||||
|
|
||||||
@@ -1468,123 +1583,135 @@ bool CFrontend::buildProperties(const FrontendParameters *feparams, struct dtv_p
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
INFO("[fe%d/%d] DEMOD: unknown FEC: %d\n", adapter, fenumber, fec_inner);
|
INFO("[fe%d/%d] DEMOD: unknown FEC: %d\n", adapter, fenumber, fec_inner);
|
||||||
/* fall through */
|
/* fall through */
|
||||||
case FEC_AUTO:
|
case FEC_AUTO:
|
||||||
fec = FEC_AUTO;
|
fec = FEC_AUTO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
switch(feparams->pilot)
|
switch(feparams->pilot)
|
||||||
{
|
{
|
||||||
case ZPILOT_ON:
|
case ZPILOT_ON:
|
||||||
pilot = PILOT_ON;
|
pilot = PILOT_ON;
|
||||||
break;
|
break;
|
||||||
case ZPILOT_OFF:
|
case ZPILOT_OFF:
|
||||||
pilot = PILOT_OFF;
|
pilot = PILOT_OFF;
|
||||||
break;
|
break;
|
||||||
case ZPILOT_AUTO:
|
case ZPILOT_AUTO:
|
||||||
default:
|
default:
|
||||||
pilot = PILOT_AUTO;
|
pilot = PILOT_AUTO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct dtv_property p[FE_MAX_PROPS];
|
int nrOfProps = 0;
|
||||||
|
|
||||||
switch (feparams->delsys)
|
switch (feparams->delsys)
|
||||||
{
|
{
|
||||||
case DVB_S:
|
case DVB_S:
|
||||||
case DVB_S2:
|
case DVB_S2:
|
||||||
case DVB_S2X:
|
case DVB_S2X:
|
||||||
cmdseq.props = p;
|
|
||||||
cmdseq.num = 0;
|
|
||||||
p[cmdseq.num].cmd = DTV_CLEAR, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_DELIVERY_SYSTEM, p[cmdseq.num].u.data = getFEDeliverySystem(feparams->delsys), cmdseq.num++;
|
|
||||||
if (config.diseqcType == DISEQC_UNICABLE)
|
|
||||||
p[cmdseq.num].cmd = DTV_FREQUENCY,
|
|
||||||
p[cmdseq.num].u.data = sendEN50494TuningCommand(feparams->frequency, currentToneMode == SEC_TONE_ON,
|
|
||||||
currentVoltage == SEC_VOLTAGE_18, !!config.uni_lnb), cmdseq.num++;
|
|
||||||
|
|
||||||
else if (config.diseqcType == DISEQC_UNICABLE2)
|
|
||||||
p[cmdseq.num].cmd = DTV_FREQUENCY,
|
|
||||||
p[cmdseq.num].u.data = sendEN50607TuningCommand(feparams->frequency, currentToneMode == SEC_TONE_ON,
|
|
||||||
currentVoltage == SEC_VOLTAGE_18, config.uni_lnb), cmdseq.num++;
|
|
||||||
else
|
|
||||||
p[cmdseq.num].cmd = DTV_FREQUENCY, p[cmdseq.num].u.data = feparams->frequency, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_MODULATION, p[cmdseq.num].u.data = feparams->modulation, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_SYMBOL_RATE, p[cmdseq.num].u.data = feparams->symbol_rate, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_INNER_FEC, p[cmdseq.num].u.data = fec, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_INVERSION, p[cmdseq.num].u.data = feparams->inversion, cmdseq.num++;
|
|
||||||
if (feparams->delsys == DVB_S2 || feparams->delsys == DVB_S2X)
|
if (feparams->delsys == DVB_S2 || feparams->delsys == DVB_S2X)
|
||||||
{
|
{
|
||||||
p[cmdseq.num].cmd = DTV_ROLLOFF, p[cmdseq.num].u.data = feparams->rolloff, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_PILOT, p[cmdseq.num].u.data = pilot, cmdseq.num++;
|
|
||||||
if (can_multistream)
|
if (can_multistream)
|
||||||
{
|
{
|
||||||
p[cmdseq.num].cmd = DTV_STREAM_ID, p[cmdseq.num].u.data = feparams->plp_id | (feparams->pls_code << 8) | (feparams->pls_mode << 26), cmdseq.num++;
|
nrOfProps = FE_DVBS2X_PROPS;
|
||||||
|
memcpy(cmdseq.props, dvbs2x_cmdargs, sizeof(dvbs2x_cmdargs));
|
||||||
|
cmdseq.props[MIS].u.data = feparams->plp_id | (feparams->pls_code << 8) | (feparams->pls_mode << 26);
|
||||||
}
|
}
|
||||||
p[cmdseq.num].cmd = DTV_TUNE, cmdseq.num++;
|
else
|
||||||
|
{
|
||||||
|
nrOfProps = FE_DVBS2_PROPS;
|
||||||
|
memcpy(cmdseq.props, dvbs2_cmdargs, sizeof(dvbs2_cmdargs));
|
||||||
|
}
|
||||||
|
cmdseq.props[MODULATION].u.data = feparams->modulation;
|
||||||
|
cmdseq.props[ROLLOFF].u.data = feparams->rolloff;
|
||||||
|
cmdseq.props[PILOTS].u.data = pilot;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
p[cmdseq.num].cmd = DTV_TUNE, cmdseq.num++;
|
memcpy(cmdseq.props, dvbs_cmdargs, sizeof(dvbs_cmdargs));
|
||||||
|
nrOfProps = FE_DVBS_PROPS;
|
||||||
}
|
}
|
||||||
|
cmdseq.props[FREQUENCY].u.data = feparams->frequency;
|
||||||
|
cmdseq.props[SYMBOL_RATE].u.data = feparams->symbol_rate;
|
||||||
|
cmdseq.props[INNER_FEC].u.data = fec; /*_inner*/ ;
|
||||||
if (can_multistream)
|
if (can_multistream)
|
||||||
INFO("[fe%d/%d] tuner pilot %d (feparams %d) streamid (%d/%d/%d)\n", adapter, fenumber, pilot, feparams->pilot, feparams->plp_id, feparams->pls_code, feparams->pls_mode );
|
INFO("[fe%d/%d] tuner pilot %d (feparams %d) streamid (%d/%d/%d)\n", adapter, fenumber, pilot, feparams->pilot, feparams->plp_id, feparams->pls_code, feparams->pls_mode );
|
||||||
else
|
else
|
||||||
INFO("[fe%d/%d] tuner pilot %d (feparams %d)\n", adapter, fenumber, pilot, feparams->pilot);
|
INFO("[fe%d/%d] tuner pilot %d (feparams %d)\n", adapter, fenumber, pilot, feparams->pilot);
|
||||||
break;
|
break;
|
||||||
case DVB_C:
|
case DVB_C:
|
||||||
cmdseq.props = p;
|
memcpy(cmdseq.props, dvbc_cmdargs, sizeof(dvbc_cmdargs));
|
||||||
cmdseq.num = 0;
|
nrOfProps = FE_DVBC_PROPS;
|
||||||
p[cmdseq.num].cmd = DTV_CLEAR, cmdseq.num++;
|
cmdseq.props[FREQUENCY].u.data = feparams->frequency;
|
||||||
p[cmdseq.num].cmd = DTV_DELIVERY_SYSTEM, p[cmdseq.num].u.data = getFEDeliverySystem(feparams->delsys), cmdseq.num++;
|
cmdseq.props[MODULATION].u.data = feparams->modulation;
|
||||||
p[cmdseq.num].cmd = DTV_FREQUENCY, p[cmdseq.num].u.data = feparams->frequency, cmdseq.num++;
|
cmdseq.props[SYMBOL_RATE].u.data = feparams->symbol_rate;
|
||||||
p[cmdseq.num].cmd = DTV_MODULATION, p[cmdseq.num].u.data = feparams->modulation, cmdseq.num++;
|
cmdseq.props[INNER_FEC].u.data = fec_inner;
|
||||||
p[cmdseq.num].cmd = DTV_SYMBOL_RATE, p[cmdseq.num].u.data = feparams->symbol_rate, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_INNER_FEC, p[cmdseq.num].u.data = fec_inner, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_INVERSION, p[cmdseq.num].u.data = feparams->inversion, cmdseq.num++;
|
|
||||||
p[cmdseq.num].cmd = DTV_TUNE, cmdseq.num++;
|
|
||||||
break;
|
break;
|
||||||
case DVB_T:
|
case DVB_T:
|
||||||
case DVB_T2:
|
|
||||||
case DTMB:
|
case DTMB:
|
||||||
cmdseq.props = p;
|
memcpy(cmdseq.props, dvbt_cmdargs, sizeof(dvbt_cmdargs));
|
||||||
cmdseq.num = 0;
|
nrOfProps = FE_DVBT_PROPS;
|
||||||
p[cmdseq.num].cmd = DTV_CLEAR, cmdseq.num++;
|
cmdseq.props[FREQUENCY].u.data = feparams->frequency;
|
||||||
p[cmdseq.num].cmd = DTV_DELIVERY_SYSTEM, p[cmdseq.num].u.data = getFEDeliverySystem(feparams->delsys), cmdseq.num++;
|
cmdseq.props[MODULATION].u.data = feparams->modulation;
|
||||||
p[cmdseq.num].cmd = DTV_FREQUENCY, p[cmdseq.num].u.data = feparams->frequency, cmdseq.num++;
|
cmdseq.props[INVERSION].u.data = feparams->inversion;
|
||||||
p[cmdseq.num].cmd = DTV_CODE_RATE_LP, p[cmdseq.num].u.data = feparams->code_rate_LP, cmdseq.num++;
|
cmdseq.props[CODE_RATE_HP].u.data = feparams->code_rate_HP;
|
||||||
p[cmdseq.num].cmd = DTV_CODE_RATE_HP, p[cmdseq.num].u.data = feparams->code_rate_HP, cmdseq.num++;
|
cmdseq.props[CODE_RATE_LP].u.data = feparams->code_rate_LP;
|
||||||
p[cmdseq.num].cmd = DTV_MODULATION, p[cmdseq.num].u.data = feparams->modulation, cmdseq.num++;
|
cmdseq.props[TRANSMISSION_MODE].u.data = feparams->transmission_mode;
|
||||||
p[cmdseq.num].cmd = DTV_TRANSMISSION_MODE, p[cmdseq.num].u.data = feparams->transmission_mode, cmdseq.num++;
|
cmdseq.props[GUARD_INTERVAL].u.data = feparams->guard_interval;
|
||||||
p[cmdseq.num].cmd = DTV_GUARD_INTERVAL, p[cmdseq.num].u.data = feparams->guard_interval, cmdseq.num++;
|
cmdseq.props[HIERARCHY].u.data = feparams->hierarchy;
|
||||||
p[cmdseq.num].cmd = DTV_HIERARCHY, p[cmdseq.num].u.data = feparams->hierarchy, cmdseq.num++;
|
cmdseq.props[DELIVERY_SYSTEM].u.data = getFEDeliverySystem(feparams->delsys);
|
||||||
p[cmdseq.num].cmd = DTV_BANDWIDTH_HZ, p[cmdseq.num].u.data = getFEBandwidth(feparams->bandwidth), cmdseq.num++;
|
cmdseq.props[BANDWIDTH].u.data = getFEBandwidth(feparams->bandwidth);
|
||||||
p[cmdseq.num].cmd = DTV_INVERSION, p[cmdseq.num].u.data = feparams->inversion, cmdseq.num++;
|
break;
|
||||||
if (can_multistream)
|
case DVB_T2:
|
||||||
{
|
memcpy(cmdseq.props, dvbt2_cmdargs, sizeof(dvbt2_cmdargs));
|
||||||
#if defined DTV_STREAM_ID
|
nrOfProps = FE_DVBT2_PROPS;
|
||||||
p[cmdseq.num].cmd = DTV_STREAM_ID , p[cmdseq.num].u.data = feparams->plp_id, cmdseq.num++;
|
cmdseq.props[FREQUENCY].u.data = feparams->frequency;
|
||||||
#elif defined DTV_DVBT2_PLP_ID
|
cmdseq.props[MODULATION].u.data = feparams->modulation;
|
||||||
p[cmdseq.num].cmd = DTV_DVBT2_PLP_ID , p[cmdseq.num].u.data = feparams->plp_id, cmdseq.num++;
|
cmdseq.props[INVERSION].u.data = feparams->inversion;
|
||||||
#endif
|
cmdseq.props[CODE_RATE_HP].u.data = feparams->code_rate_HP;
|
||||||
}
|
cmdseq.props[CODE_RATE_LP].u.data = feparams->code_rate_LP;
|
||||||
p[cmdseq.num].cmd = DTV_TUNE, cmdseq.num++;
|
cmdseq.props[TRANSMISSION_MODE].u.data = feparams->transmission_mode;
|
||||||
|
cmdseq.props[GUARD_INTERVAL].u.data = feparams->guard_interval;
|
||||||
|
cmdseq.props[HIERARCHY].u.data = feparams->hierarchy;
|
||||||
|
cmdseq.props[DELIVERY_SYSTEM].u.data = getFEDeliverySystem(feparams->delsys);
|
||||||
|
cmdseq.props[BANDWIDTH].u.data = getFEBandwidth(feparams->bandwidth);
|
||||||
|
cmdseq.props[PLP_ID].u.data = feparams->plp_id;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
INFO("[fe%d/%d] unknown frontend type, exiting\n", adapter, fenumber);
|
INFO("[fe%d/%d] unknown frontend type, exiting\n", adapter, fenumber);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (config.diseqcType == DISEQC_UNICABLE)
|
||||||
|
cmdseq.props[FREQUENCY].u.data = sendEN50494TuningCommand(feparams->frequency,
|
||||||
|
currentToneMode == SEC_TONE_ON,
|
||||||
|
currentVoltage == SEC_VOLTAGE_18,
|
||||||
|
!!config.uni_lnb);
|
||||||
|
|
||||||
|
if (config.diseqcType == DISEQC_UNICABLE2)
|
||||||
|
cmdseq.props[FREQUENCY].u.data = sendEN50607TuningCommand(feparams->frequency,
|
||||||
|
currentToneMode == SEC_TONE_ON,
|
||||||
|
currentVoltage == SEC_VOLTAGE_18,
|
||||||
|
config.uni_lnb);
|
||||||
|
|
||||||
|
cmdseq.num += nrOfProps;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CFrontend::setFrontend(const FrontendParameters *feparams, bool nowait)
|
int CFrontend::setFrontend(const FrontendParameters *feparams, bool nowait)
|
||||||
{
|
{
|
||||||
|
struct dtv_property cmdargs[FE_COMMON_PROPS + FE_DVBT2_PROPS]; // WARNING: increase when needed more space
|
||||||
struct dtv_properties cmdseq;
|
struct dtv_properties cmdseq;
|
||||||
#ifdef PEDANTIC_VALGRIND_SETUP
|
#ifdef PEDANTIC_VALGRIND_SETUP
|
||||||
|
memset(&cmdargs, 0, sizeof(cmdargs));
|
||||||
memset(&cmdseq, 0, sizeof(cmdseq));
|
memset(&cmdseq, 0, sizeof(cmdseq));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
cmdseq.num = FE_COMMON_PROPS;
|
||||||
|
cmdseq.props = cmdargs;
|
||||||
|
|
||||||
tuned = false;
|
tuned = false;
|
||||||
|
|
||||||
struct dvb_frontend_event ev;
|
struct dvb_frontend_event ev;
|
||||||
|
Reference in New Issue
Block a user