more s2x stuff

Origin commit data
------------------
Branch: ni/coolstream
Commit: 674e842687
Author: BPanther <bpanther_ts@hotmail.com>
Date: 2019-12-31 (Tue, 31 Dec 2019)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
BPanther
2019-12-31 00:25:09 +01:00
committed by vanhofen
parent 303c3010d4
commit c1ba54dde2
11 changed files with 659 additions and 69 deletions

View File

@@ -523,6 +523,24 @@ extra.fec_7_8 7/8
extra.fec_8_9 8/9 extra.fec_8_9 8/9
extra.fec_9_10 9/10 extra.fec_9_10 9/10
extra.fec_auto Auto extra.fec_auto Auto
extra.fec_13_45 13/45
extra.fec_9_20 9/20
extra.fec_11_20 11/20
extra.fec_23_36 23/36
extra.fec_25_36 25/36
extra.fec_13_18 13/18
extra.fec_26_45 26/45
extra.fec_28_45 28/45
extra.fec_7_9 7/9
extra.fec_77_90 77/90
extra.fec_32_45 32/45
extra.fec_11_15 11/15
extra.fec_1_2_L 1/2L
extra.fec_8_15_L 8/15L
extra.fec_3_5_L 3/5L
extra.fec_2_3_L 2/3L
extra.fec_5_9_L 5/9L
extra.fec_26_45_L 26/45L
extra.key_current_transponder Aktueller Transponder extra.key_current_transponder Aktueller Transponder
extra.key_format_mode Videoformat extra.key_format_mode Videoformat
extra.key_help Hilfe extra.key_help Hilfe
@@ -584,6 +602,7 @@ extra.tp_delsys_dtmb DTMB
extra.tp_delsys_dvbc DVB-C extra.tp_delsys_dvbc DVB-C
extra.tp_delsys_dvbs DVB-S extra.tp_delsys_dvbs DVB-S
extra.tp_delsys_dvbs2 DVB-S2 extra.tp_delsys_dvbs2 DVB-S2
extra.tp_delsys_dvbs2x DVB-S2X
extra.tp_delsys_dvbt DVB-T extra.tp_delsys_dvbt DVB-T
extra.tp_delsys_dvbt2 DVB-T2 extra.tp_delsys_dvbt2 DVB-T2
extra.tp_delsys_isdbc ISDB-C extra.tp_delsys_isdbc ISDB-C
@@ -613,13 +632,16 @@ extra.tp_hierarchy_none None
extra.tp_mod Modulation extra.tp_mod Modulation
extra.tp_mod_128 QAM/128 extra.tp_mod_128 QAM/128
extra.tp_mod_16 QAM/16 extra.tp_mod_16 QAM/16
extra.tp_mod_16a 16APSK
extra.tp_mod_256 QAM/256 extra.tp_mod_256 QAM/256
extra.tp_mod_32 QAM/32 extra.tp_mod_32 QAM/32
extra.tp_mod_32a 32APSK
extra.tp_mod_4 QPSK extra.tp_mod_4 QPSK
extra.tp_mod_4_nr QAM/4-NR extra.tp_mod_4_nr QAM/4-NR
extra.tp_mod_64 QAM/64 extra.tp_mod_64 QAM/64
extra.tp_mod_8 8PSK extra.tp_mod_8 8PSK
extra.tp_mod_auto QAM/AUTO extra.tp_mod_8a 8APSK
extra.tp_mod_auto AUTO
extra.tp_pilot Pilot extra.tp_pilot Pilot
extra.tp_pilot_auto Auto (HW) extra.tp_pilot_auto Auto (HW)
extra.tp_pilot_auto_sw Auto (SW) extra.tp_pilot_auto_sw Auto (SW)

View File

@@ -523,6 +523,24 @@ extra.fec_7_8 7/8
extra.fec_8_9 8/9 extra.fec_8_9 8/9
extra.fec_9_10 9/10 extra.fec_9_10 9/10
extra.fec_auto Auto extra.fec_auto Auto
extra.fec_13_45 13/45
extra.fec_9_20 9/20
extra.fec_11_20 11/20
extra.fec_23_36 23/36
extra.fec_25_36 25/36
extra.fec_13_18 13/18
extra.fec_26_45 26/45
extra.fec_28_45 28/45
extra.fec_7_9 7/9
extra.fec_77_90 77/90
extra.fec_32_45 32/45
extra.fec_11_15 11/15
extra.fec_1_2_L 1/2L
extra.fec_8_15_L 8/15L
extra.fec_3_5_L 3/5L
extra.fec_2_3_L 2/3L
extra.fec_5_9_L 5/9L
extra.fec_26_45_L 26/45L
extra.key_current_transponder Current transponder extra.key_current_transponder Current transponder
extra.key_format_mode Video format extra.key_format_mode Video format
extra.key_help Help extra.key_help Help
@@ -584,6 +602,7 @@ extra.tp_delsys_dtmb DTMB
extra.tp_delsys_dvbc DVB-C extra.tp_delsys_dvbc DVB-C
extra.tp_delsys_dvbs DVB-S extra.tp_delsys_dvbs DVB-S
extra.tp_delsys_dvbs2 DVB-S2 extra.tp_delsys_dvbs2 DVB-S2
extra.tp_delsys_dvbs2x DVB-S2X
extra.tp_delsys_dvbt DVB-T extra.tp_delsys_dvbt DVB-T
extra.tp_delsys_dvbt2 DVB-T2 extra.tp_delsys_dvbt2 DVB-T2
extra.tp_delsys_isdbc ISDB-C extra.tp_delsys_isdbc ISDB-C
@@ -613,13 +632,16 @@ extra.tp_hierarchy_none None
extra.tp_mod Modulation extra.tp_mod Modulation
extra.tp_mod_128 QAM/128 extra.tp_mod_128 QAM/128
extra.tp_mod_16 QAM/16 extra.tp_mod_16 QAM/16
extra.tp_mod_16a 16APSK
extra.tp_mod_256 QAM/256 extra.tp_mod_256 QAM/256
extra.tp_mod_32 QAM/32 extra.tp_mod_32 QAM/32
extra.tp_mod_32a 32APSK
extra.tp_mod_4 QPSK extra.tp_mod_4 QPSK
extra.tp_mod_4_nr QAM/4-NR extra.tp_mod_4_nr QAM/4-NR
extra.tp_mod_64 QAM/64 extra.tp_mod_64 QAM/64
extra.tp_mod_8 8PSK extra.tp_mod_8 8PSK
extra.tp_mod_auto QAM/AUTO extra.tp_mod_8a 8APSK
extra.tp_mod_auto AUTO
extra.tp_pilot Pilot extra.tp_pilot Pilot
extra.tp_pilot_auto Auto (HW) extra.tp_pilot_auto Auto (HW)
extra.tp_pilot_auto_sw Auto (SW) extra.tp_pilot_auto_sw Auto (SW)

View File

@@ -104,11 +104,12 @@ const CMenuOptionChooser::keyval SATSETUP_DISEQC_OPTIONS[SATSETUP_DISEQC_OPTION_
// { SMATV_REMOTE_TUNING, LOCALE_SATSETUP_SMATVREMOTE } // { SMATV_REMOTE_TUNING, LOCALE_SATSETUP_SMATVREMOTE }
}; };
#define SATSETUP_SCANTP_DELSYS_COUNT 5 #define SATSETUP_SCANTP_DELSYS_COUNT 6
const CMenuOptionChooser::keyval SATSETUP_SCANTP_DELSYS[SATSETUP_SCANTP_DELSYS_COUNT] = const CMenuOptionChooser::keyval SATSETUP_SCANTP_DELSYS[SATSETUP_SCANTP_DELSYS_COUNT] =
{ {
{ DVB_S, LOCALE_EXTRA_TP_DELSYS_DVBS }, { DVB_S, LOCALE_EXTRA_TP_DELSYS_DVBS },
{ DVB_S2, LOCALE_EXTRA_TP_DELSYS_DVBS2 }, { DVB_S2, LOCALE_EXTRA_TP_DELSYS_DVBS2 },
{ DVB_S2X, LOCALE_EXTRA_TP_DELSYS_DVBS2X },
{ DSS, LOCALE_EXTRA_TP_DELSYS_DSS }, { DSS, LOCALE_EXTRA_TP_DELSYS_DSS },
{ ISDBS, LOCALE_EXTRA_TP_DELSYS_ISDBS }, { ISDBS, LOCALE_EXTRA_TP_DELSYS_ISDBS },
{ TURBO, LOCALE_EXTRA_TP_DELSYS_TURBO } { TURBO, LOCALE_EXTRA_TP_DELSYS_TURBO }
@@ -130,22 +131,40 @@ const CMenuOptionChooser::keyval TERRSETUP_SCANTP_DELSYS[TERRSETUP_SCANTP_DELSYS
{ ISDBT, LOCALE_EXTRA_TP_DELSYS_ISDBT } { ISDBT, LOCALE_EXTRA_TP_DELSYS_ISDBT }
}; };
#define SATSETUP_SCANTP_FEC_COUNT 10 #define SATSETUP_SCANTP_FEC_COUNT 28
//#define CABLESETUP_SCANTP_FEC_COUNT 5
const CMenuOptionChooser::keyval SATSETUP_SCANTP_FEC[SATSETUP_SCANTP_FEC_COUNT] = const CMenuOptionChooser::keyval SATSETUP_SCANTP_FEC[SATSETUP_SCANTP_FEC_COUNT] =
{ {
// S // S
{ FEC_1_2, LOCALE_EXTRA_FEC_1_2 }, { FEC_1_2, LOCALE_EXTRA_FEC_1_2 },
{ FEC_2_3, LOCALE_EXTRA_FEC_2_3 }, { FEC_2_3, LOCALE_EXTRA_FEC_2_3 },
{ FEC_3_4, LOCALE_EXTRA_FEC_3_4 }, { FEC_3_4, LOCALE_EXTRA_FEC_3_4 },
{ FEC_5_6, LOCALE_EXTRA_FEC_5_6 }, { FEC_5_6, LOCALE_EXTRA_FEC_5_6 },
{ FEC_7_8, LOCALE_EXTRA_FEC_7_8 }, { FEC_7_8, LOCALE_EXTRA_FEC_7_8 },
{ FEC_AUTO, LOCALE_EXTRA_FEC_AUTO }, { FEC_AUTO, LOCALE_EXTRA_FEC_AUTO },
// S2 // S2
{ FEC_3_5, LOCALE_EXTRA_FEC_3_5 }, { FEC_3_5, LOCALE_EXTRA_FEC_3_5 },
{ FEC_4_5, LOCALE_EXTRA_FEC_4_5 }, { FEC_4_5, LOCALE_EXTRA_FEC_4_5 },
{ FEC_8_9, LOCALE_EXTRA_FEC_8_9 }, { FEC_8_9, LOCALE_EXTRA_FEC_8_9 },
{ FEC_9_10, LOCALE_EXTRA_FEC_9_10 } { FEC_9_10, LOCALE_EXTRA_FEC_9_10 },
// S2X
{ FEC_13_45, LOCALE_EXTRA_FEC_13_45 },
{ FEC_9_20, LOCALE_EXTRA_FEC_9_20 },
{ FEC_11_20, LOCALE_EXTRA_FEC_11_20 },
{ FEC_23_36, LOCALE_EXTRA_FEC_23_36 },
{ FEC_25_36, LOCALE_EXTRA_FEC_25_36 },
{ FEC_13_18, LOCALE_EXTRA_FEC_13_18 },
{ FEC_26_45, LOCALE_EXTRA_FEC_26_45 },
{ FEC_28_45, LOCALE_EXTRA_FEC_28_45 },
{ FEC_7_9, LOCALE_EXTRA_FEC_7_9 },
{ FEC_77_90, LOCALE_EXTRA_FEC_77_90 },
{ FEC_32_45, LOCALE_EXTRA_FEC_32_45 },
{ FEC_11_15, LOCALE_EXTRA_FEC_11_15 },
{ FEC_1_2_L, LOCALE_EXTRA_FEC_1_2_L },
{ FEC_8_15_L, LOCALE_EXTRA_FEC_8_15_L },
{ FEC_3_5_L, LOCALE_EXTRA_FEC_3_5_L },
{ FEC_2_3_L, LOCALE_EXTRA_FEC_2_3_L },
{ FEC_5_9_L, LOCALE_EXTRA_FEC_5_9_L },
{ FEC_26_45_L, LOCALE_EXTRA_FEC_26_45_L }
}; };
#if 0 #if 0
@@ -256,11 +275,14 @@ const CMenuOptionChooser::keyval TERRSETUP_SCANTP_TRANSMIT_MODE[TERRSETUP_SCANTP
{ TRANSMISSION_MODE_AUTO, LOCALE_EXTRA_TP_TRANSMIT_MODE_AUTO } { TRANSMISSION_MODE_AUTO, LOCALE_EXTRA_TP_TRANSMIT_MODE_AUTO }
}; };
#define SATSETUP_SCANTP_MOD_COUNT 3 #define SATSETUP_SCANTP_MOD_COUNT 6
const CMenuOptionChooser::keyval SATSETUP_SCANTP_MOD[SATSETUP_SCANTP_MOD_COUNT] = const CMenuOptionChooser::keyval SATSETUP_SCANTP_MOD[SATSETUP_SCANTP_MOD_COUNT] =
{ {
{ QPSK, LOCALE_EXTRA_TP_MOD_4 }, { QPSK, LOCALE_EXTRA_TP_MOD_4 },
{ PSK_8, LOCALE_EXTRA_TP_MOD_8 }, { PSK_8, LOCALE_EXTRA_TP_MOD_8 },
{ APSK_8, LOCALE_EXTRA_TP_MOD_8A },
{ APSK_16, LOCALE_EXTRA_TP_MOD_16A },
{ APSK_32, LOCALE_EXTRA_TP_MOD_32A },
{ QAM_AUTO, LOCALE_EXTRA_TP_MOD_AUTO } { QAM_AUTO, LOCALE_EXTRA_TP_MOD_AUTO }
}; };

View File

@@ -550,6 +550,24 @@ typedef enum
LOCALE_EXTRA_FEC_8_9, LOCALE_EXTRA_FEC_8_9,
LOCALE_EXTRA_FEC_9_10, LOCALE_EXTRA_FEC_9_10,
LOCALE_EXTRA_FEC_AUTO, LOCALE_EXTRA_FEC_AUTO,
LOCALE_EXTRA_FEC_13_45,
LOCALE_EXTRA_FEC_9_20,
LOCALE_EXTRA_FEC_11_20,
LOCALE_EXTRA_FEC_23_36,
LOCALE_EXTRA_FEC_25_36,
LOCALE_EXTRA_FEC_13_18,
LOCALE_EXTRA_FEC_26_45,
LOCALE_EXTRA_FEC_28_45,
LOCALE_EXTRA_FEC_7_9,
LOCALE_EXTRA_FEC_77_90,
LOCALE_EXTRA_FEC_32_45,
LOCALE_EXTRA_FEC_11_15,
LOCALE_EXTRA_FEC_1_2_L,
LOCALE_EXTRA_FEC_8_15_L,
LOCALE_EXTRA_FEC_3_5_L,
LOCALE_EXTRA_FEC_2_3_L,
LOCALE_EXTRA_FEC_5_9_L,
LOCALE_EXTRA_FEC_26_45_L,
LOCALE_EXTRA_KEY_CURRENT_TRANSPONDER, LOCALE_EXTRA_KEY_CURRENT_TRANSPONDER,
LOCALE_EXTRA_KEY_FORMAT_MODE, LOCALE_EXTRA_KEY_FORMAT_MODE,
LOCALE_EXTRA_KEY_HELP, LOCALE_EXTRA_KEY_HELP,
@@ -611,6 +629,7 @@ typedef enum
LOCALE_EXTRA_TP_DELSYS_DVBC, LOCALE_EXTRA_TP_DELSYS_DVBC,
LOCALE_EXTRA_TP_DELSYS_DVBS, LOCALE_EXTRA_TP_DELSYS_DVBS,
LOCALE_EXTRA_TP_DELSYS_DVBS2, LOCALE_EXTRA_TP_DELSYS_DVBS2,
LOCALE_EXTRA_TP_DELSYS_DVBS2X,
LOCALE_EXTRA_TP_DELSYS_DVBT, LOCALE_EXTRA_TP_DELSYS_DVBT,
LOCALE_EXTRA_TP_DELSYS_DVBT2, LOCALE_EXTRA_TP_DELSYS_DVBT2,
LOCALE_EXTRA_TP_DELSYS_ISDBC, LOCALE_EXTRA_TP_DELSYS_ISDBC,
@@ -640,12 +659,15 @@ typedef enum
LOCALE_EXTRA_TP_MOD, LOCALE_EXTRA_TP_MOD,
LOCALE_EXTRA_TP_MOD_128, LOCALE_EXTRA_TP_MOD_128,
LOCALE_EXTRA_TP_MOD_16, LOCALE_EXTRA_TP_MOD_16,
LOCALE_EXTRA_TP_MOD_16A,
LOCALE_EXTRA_TP_MOD_256, LOCALE_EXTRA_TP_MOD_256,
LOCALE_EXTRA_TP_MOD_32, LOCALE_EXTRA_TP_MOD_32,
LOCALE_EXTRA_TP_MOD_32A,
LOCALE_EXTRA_TP_MOD_4, LOCALE_EXTRA_TP_MOD_4,
LOCALE_EXTRA_TP_MOD_4_NR, LOCALE_EXTRA_TP_MOD_4_NR,
LOCALE_EXTRA_TP_MOD_64, LOCALE_EXTRA_TP_MOD_64,
LOCALE_EXTRA_TP_MOD_8, LOCALE_EXTRA_TP_MOD_8,
LOCALE_EXTRA_TP_MOD_8A,
LOCALE_EXTRA_TP_MOD_AUTO, LOCALE_EXTRA_TP_MOD_AUTO,
LOCALE_EXTRA_TP_PILOT, LOCALE_EXTRA_TP_PILOT,
LOCALE_EXTRA_TP_PILOT_AUTO, LOCALE_EXTRA_TP_PILOT_AUTO,

View File

@@ -550,6 +550,24 @@ const char * locale_real_names[] =
"extra.fec_8_9", "extra.fec_8_9",
"extra.fec_9_10", "extra.fec_9_10",
"extra.fec_auto", "extra.fec_auto",
"extra.fec_13_45",
"extra.fec_9_20",
"extra.fec_11_20",
"extra.fec_23_36",
"extra.fec_25_36",
"extra.fec_13_18",
"extra.fec_26_45",
"extra.fec_28_45",
"extra.fec_7_9",
"extra.fec_77_90",
"extra.fec_32_45",
"extra.fec_11_15",
"extra.fec_1_2_L",
"extra.fec_8_15_L",
"extra.fec_3_5_L",
"extra.fec_2_3_L",
"extra.fec_5_9_L",
"extra.fec_26_45_L",
"extra.key_current_transponder", "extra.key_current_transponder",
"extra.key_format_mode", "extra.key_format_mode",
"extra.key_help", "extra.key_help",
@@ -611,6 +629,7 @@ const char * locale_real_names[] =
"extra.tp_delsys_dvbc", "extra.tp_delsys_dvbc",
"extra.tp_delsys_dvbs", "extra.tp_delsys_dvbs",
"extra.tp_delsys_dvbs2", "extra.tp_delsys_dvbs2",
"extra.tp_delsys_dvbs2x",
"extra.tp_delsys_dvbt", "extra.tp_delsys_dvbt",
"extra.tp_delsys_dvbt2", "extra.tp_delsys_dvbt2",
"extra.tp_delsys_isdbc", "extra.tp_delsys_isdbc",
@@ -640,12 +659,15 @@ const char * locale_real_names[] =
"extra.tp_mod", "extra.tp_mod",
"extra.tp_mod_128", "extra.tp_mod_128",
"extra.tp_mod_16", "extra.tp_mod_16",
"extra.tp_mod_16a",
"extra.tp_mod_256", "extra.tp_mod_256",
"extra.tp_mod_32", "extra.tp_mod_32",
"extra.tp_mod_32a",
"extra.tp_mod_4", "extra.tp_mod_4",
"extra.tp_mod_4_nr", "extra.tp_mod_4_nr",
"extra.tp_mod_64", "extra.tp_mod_64",
"extra.tp_mod_8", "extra.tp_mod_8",
"extra.tp_mod_8a",
"extra.tp_mod_auto", "extra.tp_mod_auto",
"extra.tp_pilot", "extra.tp_pilot",
"extra.tp_pilot_auto", "extra.tp_pilot_auto",

View File

@@ -77,6 +77,129 @@ typedef enum dmx_ts_pes
DMX_PES_SUBTITLE3, DMX_PES_SUBTITLE3,
DMX_PES_PCR3, DMX_PES_PCR3,
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE
DMX_PES_AUDIO4,
DMX_PES_VIDEO4,
DMX_PES_TELETEXT4,
DMX_PES_SUBTITLE4,
DMX_PES_PCR4,
DMX_PES_AUDIO5,
DMX_PES_VIDEO5,
DMX_PES_TELETEXT5,
DMX_PES_SUBTITLE5,
DMX_PES_PCR5,
DMX_PES_AUDIO6,
DMX_PES_VIDEO6,
DMX_PES_TELETEXT6,
DMX_PES_SUBTITLE6,
DMX_PES_PCR6,
DMX_PES_AUDIO7,
DMX_PES_VIDEO7,
DMX_PES_TELETEXT7,
DMX_PES_SUBTITLE7,
DMX_PES_PCR7,
DMX_PES_AUDIO8,
DMX_PES_VIDEO8,
DMX_PES_TELETEXT8,
DMX_PES_SUBTITLE8,
DMX_PES_PCR8,
DMX_PES_AUDIO9,
DMX_PES_VIDEO9,
DMX_PES_TELETEXT9,
DMX_PES_SUBTITLE9,
DMX_PES_PCR9,
DMX_PES_AUDIO10,
DMX_PES_VIDEO10,
DMX_PES_TELETEXT10,
DMX_PES_SUBTITLE10,
DMX_PES_PCR10,
DMX_PES_AUDIO11,
DMX_PES_VIDEO11,
DMX_PES_TELETEXT11,
DMX_PES_SUBTITLE11,
DMX_PES_PCR11,
DMX_PES_AUDIO12,
DMX_PES_VIDEO12,
DMX_PES_TELETEXT12,
DMX_PES_SUBTITLE12,
DMX_PES_PCR12,
DMX_PES_AUDIO13,
DMX_PES_VIDEO13,
DMX_PES_TELETEXT13,
DMX_PES_SUBTITLE13,
DMX_PES_PCR13,
DMX_PES_AUDIO14,
DMX_PES_VIDEO14,
DMX_PES_TELETEXT14,
DMX_PES_SUBTITLE14,
DMX_PES_PCR14,
DMX_PES_AUDIO15,
DMX_PES_VIDEO15,
DMX_PES_TELETEXT15,
DMX_PES_SUBTITLE15,
DMX_PES_PCR15,
#if BOXMODEL_VUULTIMO4K
DMX_PES_AUDIO16,
DMX_PES_VIDEO16,
DMX_PES_TELETEXT16,
DMX_PES_SUBTITLE16,
DMX_PES_PCR16,
DMX_PES_AUDIO17,
DMX_PES_VIDEO17,
DMX_PES_TELETEXT17,
DMX_PES_SUBTITLE17,
DMX_PES_PCR17,
DMX_PES_AUDIO18,
DMX_PES_VIDEO18,
DMX_PES_TELETEXT18,
DMX_PES_SUBTITLE18,
DMX_PES_PCR18,
DMX_PES_AUDIO19,
DMX_PES_VIDEO19,
DMX_PES_TELETEXT19,
DMX_PES_SUBTITLE19,
DMX_PES_PCR19,
DMX_PES_AUDIO20,
DMX_PES_VIDEO20,
DMX_PES_TELETEXT20,
DMX_PES_SUBTITLE20,
DMX_PES_PCR20,
DMX_PES_AUDIO21,
DMX_PES_VIDEO21,
DMX_PES_TELETEXT21,
DMX_PES_SUBTITLE21,
DMX_PES_PCR21,
DMX_PES_AUDIO22,
DMX_PES_VIDEO22,
DMX_PES_TELETEXT22,
DMX_PES_SUBTITLE22,
DMX_PES_PCR22,
DMX_PES_AUDIO23,
DMX_PES_VIDEO23,
DMX_PES_TELETEXT23,
DMX_PES_SUBTITLE23,
DMX_PES_PCR23,
#endif
#endif
DMX_PES_OTHER DMX_PES_OTHER
} dmx_pes_type_t; } dmx_pes_type_t;
@@ -127,10 +250,62 @@ typedef enum {
DMX_SOURCE_FRONT1, DMX_SOURCE_FRONT1,
DMX_SOURCE_FRONT2, DMX_SOURCE_FRONT2,
DMX_SOURCE_FRONT3, DMX_SOURCE_FRONT3,
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE
DMX_SOURCE_FRONT4,
DMX_SOURCE_FRONT5,
DMX_SOURCE_FRONT6,
DMX_SOURCE_FRONT7,
DMX_SOURCE_FRONT8,
DMX_SOURCE_FRONT9,
DMX_SOURCE_FRONT10,
DMX_SOURCE_FRONT11,
DMX_SOURCE_FRONT12,
DMX_SOURCE_FRONT13,
DMX_SOURCE_FRONT14,
DMX_SOURCE_FRONT15,
#if BOXMODEL_VUULTIMO4K
DMX_SOURCE_FRONT16,
DMX_SOURCE_FRONT17,
DMX_SOURCE_FRONT18,
DMX_SOURCE_FRONT19,
DMX_SOURCE_FRONT20,
DMX_SOURCE_FRONT21,
DMX_SOURCE_FRONT22,
DMX_SOURCE_FRONT23,
#endif
#endif
#if BOXMODEL_VUPLUS4K
DMX_SOURCE_DVR0 = 32,
#else
DMX_SOURCE_DVR0 = 16, DMX_SOURCE_DVR0 = 16,
#endif
DMX_SOURCE_DVR1, DMX_SOURCE_DVR1,
DMX_SOURCE_DVR2, DMX_SOURCE_DVR2,
DMX_SOURCE_DVR3 DMX_SOURCE_DVR3
#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE
, DMX_SOURCE_DVR4
, DMX_SOURCE_DVR5
, DMX_SOURCE_DVR6
, DMX_SOURCE_DVR7
, DMX_SOURCE_DVR8
, DMX_SOURCE_DVR9
, DMX_SOURCE_DVR10
, DMX_SOURCE_DVR11
, DMX_SOURCE_DVR12
, DMX_SOURCE_DVR13
, DMX_SOURCE_DVR14
, DMX_SOURCE_DVR15
#if BOXMODEL_VUULTIMO4K
, DMX_SOURCE_DVR16
, DMX_SOURCE_DVR17
, DMX_SOURCE_DVR18
, DMX_SOURCE_DVR19
, DMX_SOURCE_DVR20
, DMX_SOURCE_DVR21
, DMX_SOURCE_DVR22
, DMX_SOURCE_DVR23
#endif
#endif
} dmx_source_t; } dmx_source_t;
struct dmx_stc { struct dmx_stc {

View File

@@ -164,12 +164,30 @@ typedef enum fe_code_rate {
FEC_AUTO, FEC_AUTO,
FEC_3_5, FEC_3_5,
FEC_9_10, FEC_9_10,
FEC_2_5 FEC_2_5,
FEC_13_45=13,
FEC_9_20=14,
FEC_11_20=15,
FEC_23_36=16,
FEC_25_36=17,
FEC_13_18=18,
FEC_26_45=19,
FEC_28_45=20,
FEC_7_9=21,
FEC_77_90=22,
FEC_32_45=23,
FEC_11_15=24,
FEC_1_2_L=25,
FEC_8_15_L=26,
FEC_3_5_L=27,
FEC_2_3_L=28,
FEC_5_9_L=29,
FEC_26_45_L=30
} fe_code_rate_t; } fe_code_rate_t;
typedef enum fe_modulation { typedef enum fe_modulation {
QPSK, QPSK, // mod=1
QAM_16, QAM_16,
QAM_32, QAM_32,
QAM_64, QAM_64,
@@ -178,11 +196,12 @@ typedef enum fe_modulation {
QAM_AUTO, QAM_AUTO,
VSB_8, VSB_8,
VSB_16, VSB_16,
PSK_8, PSK_8, // mod=2 ==> S2(X)
APSK_16, APSK_16, // mod=4 ==> S2(X) 16APSK
APSK_32, APSK_32, // mod=5 ==> S2(X) 32APSK ==> ?? 64APSK, 128APSK, 256APSK (mod= 6,7,8)
DQPSK, DQPSK,
QAM_4_NR QAM_4_NR,
APSK_8 // mod=3 ==> S2(X) 8APSK
} fe_modulation_t; } fe_modulation_t;
typedef enum fe_transmit_mode { typedef enum fe_transmit_mode {
@@ -409,7 +428,8 @@ typedef enum fe_delivery_system {
SYS_DAB, SYS_DAB,
SYS_DVBT2, SYS_DVBT2,
SYS_TURBO, SYS_TURBO,
SYS_DVBC_ANNEX_C SYS_DVBC_ANNEX_C,
SYS_DVBS2X = 21
} fe_delivery_system_t; } fe_delivery_system_t;
/* backward compatibility */ /* backward compatibility */

View File

@@ -28,6 +28,7 @@
/* zapit */ /* zapit */
#include "zapittypes.h" #include "zapittypes.h"
#include <zapit/frontend_c.h>
#include <connection/basicclient.h> #include <connection/basicclient.h>
#define CHANNEL_NAME_SIZE 40 #define CHANNEL_NAME_SIZE 40
@@ -151,9 +152,9 @@ class CZapitClient:public CBasicClient
struct responseGetBouquets struct responseGetBouquets
{ {
unsigned int bouquet_nr; unsigned int bouquet_nr;
char name[30]; char name[30];
bool locked; bool locked;
bool hidden; bool hidden;
}; };
typedef std::vector<responseGetBouquets> BouquetList; typedef std::vector<responseGetBouquets> BouquetList;
@@ -162,7 +163,7 @@ class CZapitClient:public CBasicClient
{ {
unsigned int nr; unsigned int nr;
t_channel_id channel_id; t_channel_id channel_id;
char name[CHANNEL_NAME_SIZE]; char name[CHANNEL_NAME_SIZE];
t_satellite_position satellitePosition; t_satellite_position satellitePosition;
unsigned char service_type; unsigned char service_type;
}; };
@@ -184,12 +185,12 @@ class CZapitClient:public CBasicClient
#define DESC_MAX_LEN 38 //component descriptor name length + " (AC3)" #define DESC_MAX_LEN 38 //component descriptor name length + " (AC3)"
struct responseGetAPIDs struct responseGetAPIDs
{ {
uint32_t pid; uint32_t pid;
char desc[DESC_MAX_LEN]; char desc[DESC_MAX_LEN];
int is_ac3; int is_ac3;
int is_aac; int is_aac;
int is_eac3; int is_eac3;
int component_tag; int component_tag;
}; };
typedef std::vector<responseGetAPIDs> APIDList; typedef std::vector<responseGetAPIDs> APIDList;
@@ -211,16 +212,16 @@ class CZapitClient:public CBasicClient
t_original_network_id onid; t_original_network_id onid;
t_service_id sid; t_service_id sid;
t_transport_stream_id tsid; t_transport_stream_id tsid;
unsigned short vpid; unsigned short vpid;
unsigned short vtype; unsigned short vtype;
unsigned short apid; unsigned short apid;
unsigned short pcrpid; unsigned short pcrpid;
unsigned short vtxtpid; unsigned short vtxtpid;
unsigned int tsfrequency; unsigned int tsfrequency;
unsigned char polarisation; unsigned char polarisation;
unsigned char diseqc; unsigned char diseqc;
unsigned short pmtpid; unsigned short pmtpid;
unsigned short pmt_version; unsigned short pmt_version;
uint32_t rate; uint32_t rate;
fe_code_rate fec; fe_code_rate fec;
}; };
@@ -246,11 +247,11 @@ class CZapitClient:public CBasicClient
unsigned int sig; unsigned int sig;
unsigned int snr; unsigned int snr;
unsigned long ber; unsigned long ber;
// maybe later... // maybe later...
// int has_lock; // int has_lock;
// int has_signal; // int has_signal;
// int has_sync; // int has_sync;
// int has_carrier; // int has_carrier;
}; };
@@ -339,8 +340,8 @@ class CZapitClient:public CBasicClient
/* reloads channels and services*/ /* reloads channels and services*/
void reinitChannels(); void reinitChannels();
/* called when sectionsd updates currentservices.xml */ /* called when sectionsd updates currentservices.xml */
void reloadCurrentServices(); void reloadCurrentServices();
/* get current APID-List */ /* get current APID-List */
void getPIDS( responseGetPIDs& pids ); void getPIDS( responseGetPIDs& pids );
@@ -383,6 +384,8 @@ class CZapitClient:public CBasicClient
/* send diseqc 1.2 motor command */ /* send diseqc 1.2 motor command */
void sendMotorCommand(uint8_t cmdtype, uint8_t address, uint8_t cmd, uint8_t num_parameters, uint8_t param1, uint8_t param2); void sendMotorCommand(uint8_t cmdtype, uint8_t address, uint8_t cmd, uint8_t num_parameters, uint8_t param1, uint8_t param2);
//CFrontend GetLiveFrontend() { return live_fe; };
/****************************************/ /****************************************/
/* */ /* */
/* Scanning stuff */ /* Scanning stuff */
@@ -421,7 +424,7 @@ class CZapitClient:public CBasicClient
void setScanBouquetMode(const bouquetMode mode); void setScanBouquetMode(const bouquetMode mode);
/* set Scan-Type for channel search */ /* set Scan-Type for channel search */
//void setScanType(const scanType mode); //void setScanType(const scanType mode);
/* get FrontEnd Signal Params */ /* get FrontEnd Signal Params */
//void getFESignal (struct responseFESignal& f); //void getFESignal (struct responseFESignal& f);
@@ -536,5 +539,4 @@ class CZapitClient:public CBasicClient
#define PAL 0 #define PAL 0
#define NTSC 1 #define NTSC 1
#endif #endif

View File

@@ -39,10 +39,12 @@
#define ZAPIT_DS_ISDBS 0x00000200 #define ZAPIT_DS_ISDBS 0x00000200
#define ZAPIT_DS_ISDBC 0x00000400 #define ZAPIT_DS_ISDBC 0x00000400
#define ZAPIT_DS_ISDBT 0x00000800 #define ZAPIT_DS_ISDBT 0x00000800
#define ZAPIT_DS_MASK 0x00000FFF // WARNING: update this mask if delivery systems are added. #define ZAPIT_DS_DVB_S2X 0x00001000
#define ZAPIT_DS_MASK 0x0000FFFF // WARNING: update this mask if delivery systems are added.
// Delivery Method // Delivery Method
#define ZAPIT_DM_SAT (ZAPIT_DS_DVB_S | \ #define ZAPIT_DM_SAT (ZAPIT_DS_DVB_S | \
ZAPIT_DS_DVB_S2 | \ ZAPIT_DS_DVB_S2 | \
ZAPIT_DS_DVB_S2X| \
ZAPIT_DS_DSS | \ ZAPIT_DS_DSS | \
ZAPIT_DS_TURBO | \ ZAPIT_DS_TURBO | \
ZAPIT_DS_ISDBS) ZAPIT_DS_ISDBS)
@@ -93,6 +95,7 @@ typedef enum {
ISDBS = ZAPIT_DS_ISDBS, ISDBS = ZAPIT_DS_ISDBS,
ISDBC = ZAPIT_DS_ISDBC, ISDBC = ZAPIT_DS_ISDBC,
ISDBT = ZAPIT_DS_ISDBT, ISDBT = ZAPIT_DS_ISDBT,
DVB_S2X = ZAPIT_DS_DVB_S2X,
// //
ALL_SAT = ZAPIT_DM_SAT, ALL_SAT = ZAPIT_DM_SAT,
ALL_CABLE = ZAPIT_DM_CABLE, ALL_CABLE = ZAPIT_DM_CABLE,

View File

@@ -63,7 +63,7 @@ extern int zapit_debug;
#define SYMBOL_RATE 4 #define SYMBOL_RATE 4
#define DELIVERY_SYSTEM 5 #define DELIVERY_SYSTEM 5
#define INNER_FEC 6 #define INNER_FEC 6
// DVB-S/S2 specific // DVB-S/S2/S2X specific
#define PILOTS 7 #define PILOTS 7
#define ROLLOFF 8 #define ROLLOFF 8
#define MIS 9 #define MIS 9
@@ -177,15 +177,15 @@ static const struct dtv_property dvbt2_cmdargs[] = {
timer_start); \ timer_start); \
if(tmin > timer_msec) tmin = timer_msec; \ if(tmin > timer_msec) tmin = timer_msec; \
if(tmax < timer_msec) tmax = timer_msec; \ if(tmax < timer_msec) tmax = timer_msec; \
printf("[fe%d/%d] %s: %u msec (min %u max %u)\n", \ printf("[fe%d/%d] %s: %u msec (min %u max %u)\n", \
adapter, fenumber, label, timer_msec, tmin, tmax); adapter, fenumber, label, timer_msec, tmin, tmax);
#define SETCMD(c, d) { \ #define SETCMD(c, d) { \
prop[cmdseq.num].cmd = (c); \ prop[cmdseq.num].cmd = (c); \
prop[cmdseq.num].u.data = (d); \ prop[cmdseq.num].u.data = (d); \
if (cmdseq.num++ > DTV_IOCTL_MAX_MSGS) { \ if (cmdseq.num++ > DTV_IOCTL_MAX_MSGS) { \
printf("ERROR: too many tuning commands on frontend %d/%d", adapter, fenumber);\ printf("ERROR: too many tuning commands on frontend %d/%d", adapter, fenumber); \
return; \ return; \
} \ } \
} }
@@ -201,7 +201,25 @@ typedef enum dvb_fec {
f3_5, f3_5,
f4_5, f4_5,
f9_10, f9_10,
fNone = 15 fNone = 15,
f13_45,
f9_20,
f11_20,
f23_36,
f25_36,
f13_18,
f26_45,
f28_45,
f7_9,
f77_90,
f32_45,
f11_15,
f1_2_L,
f8_15_L,
f3_5_L,
f2_3_L,
f5_9_L,
f26_45_L
} dvb_fec_t; } dvb_fec_t;
static fe_sec_voltage_t unicable_lowvolt = SEC_VOLTAGE_13; static fe_sec_voltage_t unicable_lowvolt = SEC_VOLTAGE_13;
@@ -274,6 +292,7 @@ bool CFrontend::Open(bool init)
if (adapter == -1) { if (adapter == -1) {
deliverySystemMask |= DVB_S; deliverySystemMask |= DVB_S;
deliverySystemMask |= DVB_S2; deliverySystemMask |= DVB_S2;
deliverySystemMask |= DVB_S2X;
info.type = FE_QPSK; info.type = FE_QPSK;
strcpy(info.name, "dummyfe"); strcpy(info.name, "dummyfe");
return false; return false;
@@ -286,9 +305,7 @@ bool CFrontend::Open(bool init)
mutex.unlock(); mutex.unlock();
return false; return false;
} }
getFEInfo(); getFEInfo();
} }
currentTransponder.setTransponderId(0); currentTransponder.setTransponderId(0);
@@ -352,7 +369,7 @@ void CFrontend::getFEInfo(void)
if (ret == 0) { if (ret == 0) {
for (uint32_t i = 0; i < prop[0].u.buffer.len; i++) { for (uint32_t i = 0; i < prop[0].u.buffer.len; i++) {
if (i >= MAX_DELSYS) { if (i >= MAX_DELSYS) {
printf("ERROR: too many delivery systems on frontend %d/%d", adapter, fenumber); printf("ERROR: too many delivery systems on frontend %d/%d\n", adapter, fenumber);
break; break;
} }
@@ -376,11 +393,15 @@ void CFrontend::getFEInfo(void)
deliverySystemMask |= DVB_S2; deliverySystemMask |= DVB_S2;
isMultistream = info.caps & FE_CAN_MULTISTREAM; isMultistream = info.caps & FE_CAN_MULTISTREAM;
break; break;
case SYS_DVBS2X:
deliverySystemMask |= DVB_S2X;
isMultistream = info.caps & FE_CAN_MULTISTREAM;
break;
case SYS_DTMB: case SYS_DTMB:
deliverySystemMask |= DTMB; deliverySystemMask |= DTMB;
break; break;
default: default:
printf("ERROR: too many delivery systems on frontend %d/%d", adapter, fenumber); printf("ERROR: delivery system unknown on frontend %d/%d (delivery_system: %d)\n", adapter, fenumber, (fe_delivery_system_t)prop[0].u.buffer.data[i]);
continue; continue;
} }
@@ -396,6 +417,7 @@ void CFrontend::getFEInfo(void)
case FE_QPSK: case FE_QPSK:
deliverySystemMask |= DVB_S; deliverySystemMask |= DVB_S;
deliverySystemMask |= DVB_S2; deliverySystemMask |= DVB_S2;
deliverySystemMask |= DVB_S2X;
break; break;
case FE_OFDM: case FE_OFDM:
deliverySystemMask |= DVB_T; deliverySystemMask |= DVB_T;
@@ -555,9 +577,63 @@ fe_code_rate_t CFrontend::getCodeRate(const uint8_t fec_inner, delivery_system_t
case f9_10: case f9_10:
fec = FEC_9_10; fec = FEC_9_10;
break; break;
case f13_45:
fec = FEC_13_45;
break;
case f9_20:
fec = FEC_9_20;
break;
case f11_20:
fec = FEC_11_20;
break;
case f23_36:
fec = FEC_23_36;
break;
case f25_36:
fec = FEC_25_36;
break;
case f13_18:
fec = FEC_13_18;
break;
case f26_45:
fec = FEC_26_45;
break;
case f28_45:
fec = FEC_28_45;
break;
case f7_9:
fec = FEC_7_9;
break;
case f77_90:
fec = FEC_77_90;
break;
case f32_45:
fec = FEC_32_45;
break;
case f11_15:
fec = FEC_11_15;
break;
case f1_2_L:
fec = FEC_1_2_L;
break;
case f8_15_L:
fec = FEC_8_15_L;
break;
case f3_5_L:
fec = FEC_3_5_L;
break;
case f2_3_L:
fec = FEC_2_3_L;
break;
case f5_9_L:
fec = FEC_5_9_L;
break;
case f26_45_L:
fec = FEC_26_45_L;
break;
default: default:
if (zapit_debug) if (zapit_debug)
printf("no valid fec for DVB-S2 set.. !!\n"); printf("No valid fec for DVB-S2/DVB-S2X set!\n");
/* fall through */ /* fall through */
case fAuto: case fAuto:
fec = FEC_AUTO; fec = FEC_AUTO;
@@ -734,7 +810,7 @@ fe_status_t CFrontend::getStatus(void) const
return (fe_status_t) (event.status & FE_HAS_LOCK); return (fe_status_t) (event.status & FE_HAS_LOCK);
} }
#if 0 #if 0
//never used //never used
FrontendParameters CFrontend::getFrontend(void) const FrontendParameters CFrontend::getFrontend(void) const
{ {
@@ -767,7 +843,7 @@ uint16_t CFrontend::getSignalNoiseRatio(void) const
return snr; return snr;
} }
#if 0 #if 0
//never used //never used
uint32_t CFrontend::getUncorrectedBlocks(void) const uint32_t CFrontend::getUncorrectedBlocks(void) const
{ {
@@ -930,6 +1006,62 @@ void CFrontend::getXMLDelsysFEC(fe_code_rate_t xmlfec, delivery_system_t & delsy
case FEC_S2_8PSK_9_10: case FEC_S2_8PSK_9_10:
fec = FEC_9_10; fec = FEC_9_10;
break; break;
#if 0 // TODO
case FEC_13_45:
fec = FEC_13_45;
break;
case FEC_9_20:
fec = FEC_9_20;
break;
case FEC_11_20:
fec = FEC_11_20;
break;
case FEC_23_36:
fec = FEC_23_36;
break;
case FEC_25_36:
fec = FEC_25_36;
break;
case FEC_13_18:
fec = FEC_13_18;
break;
case FEC_26_45:
fec = FEC_26_45;
break;
case FEC_28_45:
fec = FEC_28_45;
break;
case FEC_7_9:
fec = FEC_7_9;
break;
case FEC_77_90:
fec = FEC_77_90;
break;
case FEC_32_45:
fec = FEC_32_45;
break;
case FEC_11_15:
fec = FEC_11_15;
break;
case FEC_1_2_L:
fec = FEC_1_2_L;
break;
case FEC_8_15_L:
fec = FEC_8_15_L;
break;
case FEC_3_5_L:
fec = FEC_3_5_L;
break;
case FEC_2_3_L:
fec = FEC_2_3_L;
break;
case FEC_5_9_L:
fec = FEC_5_9_L;
break;
case FEC_26_45_L:
fec = FEC_26_45_L;
break;
#endif
default: default:
printf("[frontend] getXMLDelsysFEC: unknown FEC: %d !!!\n", xmlfec); printf("[frontend] getXMLDelsysFEC: unknown FEC: %d !!!\n", xmlfec);
/* fall through */ /* fall through */
@@ -957,7 +1089,30 @@ void CFrontend::getDelSys(delivery_system_t delsys, int f, int m, const char *&f
mod = "8PSK"; mod = "8PSK";
break; break;
default: default:
printf("[frontend] unknown modulation %d!\n", m); printf("[frontend] unknown DVB-S2 modulation %d!\n", m);
mod = "UNKNOWN";
}
break;
case DVB_S2X:
sys = "DVB-S2X";
switch (m) {
case QPSK:
mod = "QPSK";
break;
case PSK_8:
mod = "8PSK";
break;
case APSK_8:
mod = "8APSK";
break;
case APSK_16:
mod = "16APSK";
break;
case APSK_32:
mod = "32APSK";
break;
default:
printf("[frontend] unknown DVB-S2X modulation %d!\n", m);
mod = "UNKNOWN"; mod = "UNKNOWN";
} }
break; break;
@@ -1063,6 +1218,60 @@ void CFrontend::getDelSys(delivery_system_t delsys, int f, int m, const char *&f
fec = "0"; fec = "0";
break; break;
#endif #endif
case FEC_13_45:
fec = "13/45";
break;
case FEC_9_20:
fec = "9/20";
break;
case FEC_11_20:
fec = "11/20";
break;
case FEC_23_36:
fec = "23/36";
break;
case FEC_25_36:
fec = "25/36";
break;
case FEC_13_18:
fec = "13/18";
break;
case FEC_26_45:
fec = "26/45";
break;
case FEC_28_45:
fec = "28/45";
break;
case FEC_7_9:
fec = "7/9";
break;
case FEC_77_90:
fec = "77/90";
break;
case FEC_32_45:
fec = "32/45";
break;
case FEC_11_15:
fec = "11/15";
break;
case FEC_1_2_L:
fec = "1/2L";
break;
case FEC_8_15_L:
fec = "8/15L";
break;
case FEC_3_5_L:
fec = "3/5L";
break;
case FEC_2_3_L:
fec = "2/3L";
break;
case FEC_5_9_L:
fec = "5/9L";
break;
case FEC_26_45_L:
fec = "26/45L";
break;
default: default:
INFO("[frontend] getDelSys: unknown FEC: %d !!!\n", f); INFO("[frontend] getDelSys: unknown FEC: %d !!!\n", f);
/* fall through */ /* fall through */
@@ -1083,6 +1292,9 @@ fe_delivery_system_t CFrontend::getFEDeliverySystem(delivery_system_t Delsys)
case DVB_S2: case DVB_S2:
delsys = SYS_DVBS2; delsys = SYS_DVBS2;
break; break;
case DVB_S2X:
delsys = SYS_DVBS2X;
break;
case DVB_T: case DVB_T:
delsys = SYS_DVBT; delsys = SYS_DVBT;
break; break;
@@ -1172,6 +1384,9 @@ uint32_t CFrontend::getXMLDeliverySystem(delivery_system_t delsys)
case ISDBT: case ISDBT:
delnr = 11; delnr = 11;
break; break;
case DVB_S2X:
delnr = 12;
break;
default: default:
printf("%s: unknown delivery system (%d)\n", __FUNCTION__, delsys); printf("%s: unknown delivery system (%d)\n", __FUNCTION__, delsys);
delnr = 0; delnr = 0;
@@ -1291,6 +1506,60 @@ bool CFrontend::buildProperties(const FrontendParameters *feparams, struct dtv_p
fec = FEC_NONE; fec = FEC_NONE;
break; break;
#endif #endif
case FEC_13_45:
fec = FEC_13_45;
break;
case FEC_9_20:
fec = FEC_9_20;
break;
case FEC_11_20:
fec = FEC_11_20;
break;
case FEC_23_36:
fec = FEC_23_36;
break;
case FEC_25_36:
fec = FEC_25_36;
break;
case FEC_13_18:
fec = FEC_13_18;
break;
case FEC_26_45:
fec = FEC_26_45;
break;
case FEC_28_45:
fec = FEC_28_45;
break;
case FEC_7_9:
fec = FEC_7_9;
break;
case FEC_77_90:
fec = FEC_77_90;
break;
case FEC_32_45:
fec = FEC_32_45;
break;
case FEC_11_15:
fec = FEC_11_15;
break;
case FEC_1_2_L:
fec = FEC_1_2_L;
break;
case FEC_8_15_L:
fec = FEC_8_15_L;
break;
case FEC_3_5_L:
fec = FEC_3_5_L;
break;
case FEC_2_3_L:
fec = FEC_2_3_L;
break;
case FEC_5_9_L:
fec = FEC_5_9_L;
break;
case FEC_26_45_L:
fec = FEC_26_45_L;
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 */
@@ -1318,7 +1587,8 @@ bool CFrontend::buildProperties(const FrontendParameters *feparams, struct dtv_p
switch (feparams->delsys) { switch (feparams->delsys) {
case DVB_S: case DVB_S:
case DVB_S2: case DVB_S2:
if (feparams->delsys == DVB_S2) { case DVB_S2X:
if (feparams->delsys == DVB_S2 || feparams->delsys == DVB_S2X) {
nrOfProps = FE_DVBS2_PROPS; nrOfProps = FE_DVBS2_PROPS;
memcpy(cmdseq.props, dvbs2_cmdargs, sizeof(dvbs2_cmdargs)); memcpy(cmdseq.props, dvbs2_cmdargs, sizeof(dvbs2_cmdargs));
@@ -1394,7 +1664,7 @@ bool CFrontend::buildProperties(const FrontendParameters *feparams, struct dtv_p
currentVoltage == SEC_VOLTAGE_18, currentVoltage == SEC_VOLTAGE_18,
config.uni_lnb); config.uni_lnb);
cmdseq.num += nrOfProps; cmdseq.num += nrOfProps;
return true; return true;
} }
@@ -1841,6 +2111,7 @@ int CFrontend::setParameters(transponder *TP, bool nowait)
switch (feparams.delsys) { switch (feparams.delsys) {
case DVB_S: case DVB_S:
case DVB_S2: case DVB_S2:
case DVB_S2X:
if (freq < lnbSwitch) { if (freq < lnbSwitch) {
high_band = false; high_band = false;
freq_offset = lnbOffsetLow; freq_offset = lnbOffsetLow;

View File

@@ -715,6 +715,15 @@ void CServiceManager::ParseSatTransponders(delivery_system_t delsys, xmlNodePtr
case 2: // 8PSK case 2: // 8PSK
feparams.modulation = PSK_8; feparams.modulation = PSK_8;
break; break;
case 3: // 8APSK
feparams.modulation = APSK_8;
break;
case 4: // 16APSK
feparams.modulation = APSK_16;
break;
case 5: // 32APSK
feparams.modulation = APSK_32;
break;
default: default:
feparams.modulation = QAM_AUTO; feparams.modulation = QAM_AUTO;
fprintf(stderr, "[getservices] %s: unknown modulation %d!\n", __func__, modulation); fprintf(stderr, "[getservices] %s: unknown modulation %d!\n", __func__, modulation);