diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 862b16dd9..54195a2f4 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -584,6 +584,7 @@ extra.tp_delsys_dtmb DTMB extra.tp_delsys_dvbc DVB-C extra.tp_delsys_dvbs DVB-S extra.tp_delsys_dvbs2 DVB-S2 +extra.tp_delsys_dvbs2x DVB-S2X extra.tp_delsys_dvbt DVB-T extra.tp_delsys_dvbt2 DVB-T2 extra.tp_delsys_isdbc ISDB-C @@ -613,13 +614,16 @@ extra.tp_hierarchy_none None extra.tp_mod Modulation extra.tp_mod_128 QAM/128 extra.tp_mod_16 QAM/16 +extra.tp_mod_16a 16APSK extra.tp_mod_256 QAM/256 extra.tp_mod_32 QAM/32 +extra.tp_mod_32a 32APSK extra.tp_mod_4 QPSK extra.tp_mod_4_nr QAM/4-NR extra.tp_mod_64 QAM/64 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_auto Auto (HW) extra.tp_pilot_auto_sw Auto (SW) diff --git a/data/locale/english.locale b/data/locale/english.locale index b8deffab2..53090da9a 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -584,6 +584,7 @@ extra.tp_delsys_dtmb DTMB extra.tp_delsys_dvbc DVB-C extra.tp_delsys_dvbs DVB-S extra.tp_delsys_dvbs2 DVB-S2 +extra.tp_delsys_dvbs2x DVB-S2X extra.tp_delsys_dvbt DVB-T extra.tp_delsys_dvbt2 DVB-T2 extra.tp_delsys_isdbc ISDB-C @@ -613,13 +614,16 @@ extra.tp_hierarchy_none None extra.tp_mod Modulation extra.tp_mod_128 QAM/128 extra.tp_mod_16 QAM/16 +extra.tp_mod_16a 16APSK extra.tp_mod_256 QAM/256 extra.tp_mod_32 QAM/32 +extra.tp_mod_32a 32APSK extra.tp_mod_4 QPSK extra.tp_mod_4_nr QAM/4-NR extra.tp_mod_64 QAM/64 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_auto Auto (HW) extra.tp_pilot_auto_sw Auto (SW) diff --git a/src/gui/scan_setup.cpp b/src/gui/scan_setup.cpp index 8f1c352eb..39c09a989 100644 --- a/src/gui/scan_setup.cpp +++ b/src/gui/scan_setup.cpp @@ -104,11 +104,12 @@ const CMenuOptionChooser::keyval SATSETUP_DISEQC_OPTIONS[SATSETUP_DISEQC_OPTION_ // { 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] = { { DVB_S, LOCALE_EXTRA_TP_DELSYS_DVBS }, { DVB_S2, LOCALE_EXTRA_TP_DELSYS_DVBS2 }, + { DVB_S2X, LOCALE_EXTRA_TP_DELSYS_DVBS2X }, { DSS, LOCALE_EXTRA_TP_DELSYS_DSS }, { ISDBS, LOCALE_EXTRA_TP_DELSYS_ISDBS }, { TURBO, LOCALE_EXTRA_TP_DELSYS_TURBO } @@ -256,11 +257,14 @@ const CMenuOptionChooser::keyval TERRSETUP_SCANTP_TRANSMIT_MODE[TERRSETUP_SCANTP { 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] = { { QPSK, LOCALE_EXTRA_TP_MOD_4 }, { 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 } }; diff --git a/src/system/locals.h b/src/system/locals.h index 9ba7dee63..d994ba148 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -611,6 +611,7 @@ typedef enum LOCALE_EXTRA_TP_DELSYS_DVBC, LOCALE_EXTRA_TP_DELSYS_DVBS, LOCALE_EXTRA_TP_DELSYS_DVBS2, + LOCALE_EXTRA_TP_DELSYS_DVBS2X, LOCALE_EXTRA_TP_DELSYS_DVBT, LOCALE_EXTRA_TP_DELSYS_DVBT2, LOCALE_EXTRA_TP_DELSYS_ISDBC, @@ -640,12 +641,15 @@ typedef enum LOCALE_EXTRA_TP_MOD, LOCALE_EXTRA_TP_MOD_128, LOCALE_EXTRA_TP_MOD_16, + LOCALE_EXTRA_TP_MOD_16A, LOCALE_EXTRA_TP_MOD_256, LOCALE_EXTRA_TP_MOD_32, + LOCALE_EXTRA_TP_MOD_32A, LOCALE_EXTRA_TP_MOD_4, LOCALE_EXTRA_TP_MOD_4_NR, LOCALE_EXTRA_TP_MOD_64, LOCALE_EXTRA_TP_MOD_8, + LOCALE_EXTRA_TP_MOD_8A, LOCALE_EXTRA_TP_MOD_AUTO, LOCALE_EXTRA_TP_PILOT, LOCALE_EXTRA_TP_PILOT_AUTO, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 17aef9d8e..de5eb1ecb 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -611,6 +611,7 @@ const char * locale_real_names[] = "extra.tp_delsys_dvbc", "extra.tp_delsys_dvbs", "extra.tp_delsys_dvbs2", + "extra.tp_delsys_dvbs2x", "extra.tp_delsys_dvbt", "extra.tp_delsys_dvbt2", "extra.tp_delsys_isdbc", @@ -640,12 +641,15 @@ const char * locale_real_names[] = "extra.tp_mod", "extra.tp_mod_128", "extra.tp_mod_16", + "extra.tp_mod_16a", "extra.tp_mod_256", "extra.tp_mod_32", + "extra.tp_mod_32a", "extra.tp_mod_4", "extra.tp_mod_4_nr", "extra.tp_mod_64", "extra.tp_mod_8", + "extra.tp_mod_8a", "extra.tp_mod_auto", "extra.tp_pilot", "extra.tp_pilot_auto", diff --git a/src/zapit/include/private/linux/dvb/frontend.h b/src/zapit/include/private/linux/dvb/frontend.h index 838c05ede..180d1f75a 100644 --- a/src/zapit/include/private/linux/dvb/frontend.h +++ b/src/zapit/include/private/linux/dvb/frontend.h @@ -169,7 +169,7 @@ typedef enum fe_code_rate { typedef enum fe_modulation { - QPSK, + QPSK, // mod=1 QAM_16, QAM_32, QAM_64, @@ -178,11 +178,12 @@ typedef enum fe_modulation { QAM_AUTO, VSB_8, VSB_16, - PSK_8, - APSK_16, - APSK_32, + PSK_8, // mod=2 ==> S2(X) + APSK_16, // mod=4 ==> S2(X) 16APSK + APSK_32, // mod=5 ==> S2(X) 32APSK ==> ?? 64APSK, 128APSK, 256APSK (mod= 6,7,8) DQPSK, - QAM_4_NR + QAM_4_NR, + APSK_8 // mod=3 ==> S2(X) 8APSK } fe_modulation_t; typedef enum fe_transmit_mode { diff --git a/src/zapit/include/zapit/client/zapitclient.h b/src/zapit/include/zapit/client/zapitclient.h index 0b24e6ca6..1d095e409 100644 --- a/src/zapit/include/zapit/client/zapitclient.h +++ b/src/zapit/include/zapit/client/zapitclient.h @@ -28,6 +28,7 @@ /* zapit */ #include "zapittypes.h" +#include #include #define CHANNEL_NAME_SIZE 40 @@ -56,12 +57,12 @@ class CZapitClient:public CBasicClient EVT_SCAN_FAILED, EVT_SCAN_NUM_TRANSPONDERS, EVT_SCAN_REPORT_NUM_SCANNED_TRANSPONDERS, - EVT_SCAN_REPORT_FREQUENCYP, - EVT_SCAN_SERVICENAME, - EVT_SCAN_FOUND_A_CHAN, - EVT_SCAN_FOUND_TV_CHAN, - EVT_SCAN_FOUND_RADIO_CHAN, - EVT_SCAN_FOUND_DATA_CHAN, + EVT_SCAN_REPORT_FREQUENCYP, + EVT_SCAN_SERVICENAME, + EVT_SCAN_FOUND_A_CHAN, + EVT_SCAN_FOUND_TV_CHAN, + EVT_SCAN_FOUND_RADIO_CHAN, + EVT_SCAN_FOUND_DATA_CHAN, EVT_SCAN_SATELLITE, EVT_SCAN_NUM_CHANNELS, EVT_SCAN_PROVIDER, @@ -95,13 +96,13 @@ class CZapitClient:public CBasicClient BM_CREATESATELLITEBOUQUET }; - enum scanType - { - ST_TVRADIO, - ST_TV, - ST_RADIO, - ST_ALL - }; + enum scanType + { + ST_TVRADIO, + ST_TV, + ST_RADIO, + ST_ALL + }; typedef enum channelsMode_ { @@ -151,9 +152,9 @@ class CZapitClient:public CBasicClient struct responseGetBouquets { unsigned int bouquet_nr; - char name[30]; - bool locked; - bool hidden; + char name[30]; + bool locked; + bool hidden; }; typedef std::vector BouquetList; @@ -162,7 +163,7 @@ class CZapitClient:public CBasicClient { unsigned int nr; t_channel_id channel_id; - char name[CHANNEL_NAME_SIZE]; + char name[CHANNEL_NAME_SIZE]; t_satellite_position satellitePosition; unsigned char service_type; }; @@ -184,12 +185,12 @@ class CZapitClient:public CBasicClient #define DESC_MAX_LEN 38 //component descriptor name length + " (AC3)" struct responseGetAPIDs { - uint32_t pid; - char desc[DESC_MAX_LEN]; - int is_ac3; - int is_aac; - int is_eac3; - int component_tag; + uint32_t pid; + char desc[DESC_MAX_LEN]; + int is_ac3; + int is_aac; + int is_eac3; + int component_tag; }; typedef std::vector APIDList; @@ -211,16 +212,16 @@ class CZapitClient:public CBasicClient t_original_network_id onid; t_service_id sid; t_transport_stream_id tsid; - unsigned short vpid; - unsigned short vtype; - unsigned short apid; - unsigned short pcrpid; - unsigned short vtxtpid; - unsigned int tsfrequency; - unsigned char polarisation; - unsigned char diseqc; - unsigned short pmtpid; - unsigned short pmt_version; + unsigned short vpid; + unsigned short vtype; + unsigned short apid; + unsigned short pcrpid; + unsigned short vtxtpid; + unsigned int tsfrequency; + unsigned char polarisation; + unsigned char diseqc; + unsigned short pmtpid; + unsigned short pmt_version; uint32_t rate; fe_code_rate fec; }; @@ -246,11 +247,11 @@ class CZapitClient:public CBasicClient unsigned int sig; unsigned int snr; unsigned long ber; - // maybe later... - // int has_lock; - // int has_signal; - // int has_sync; - // int has_carrier; + // maybe later... + // int has_lock; + // int has_signal; + // int has_sync; + // int has_carrier; }; @@ -339,8 +340,8 @@ class CZapitClient:public CBasicClient /* reloads channels and services*/ void reinitChannels(); - /* called when sectionsd updates currentservices.xml */ - void reloadCurrentServices(); + /* called when sectionsd updates currentservices.xml */ + void reloadCurrentServices(); /* get current APID-List */ void getPIDS( responseGetPIDs& pids ); @@ -383,6 +384,9 @@ class CZapitClient:public CBasicClient /* 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); + //CFrontend GetLiveFrontend() { return live_fe; }; + + /****************************************/ /* */ /* Scanning stuff */ @@ -421,7 +425,7 @@ class CZapitClient:public CBasicClient void setScanBouquetMode(const bouquetMode mode); /* set Scan-Type for channel search */ - //void setScanType(const scanType mode); + //void setScanType(const scanType mode); /* get FrontEnd Signal Params */ //void getFESignal (struct responseFESignal& f); @@ -536,5 +540,4 @@ class CZapitClient:public CBasicClient #define PAL 0 #define NTSC 1 - #endif diff --git a/src/zapit/src/frontend.cpp b/src/zapit/src/frontend.cpp index 9b09a6ed0..14a8c3d40 100644 --- a/src/zapit/src/frontend.cpp +++ b/src/zapit/src/frontend.cpp @@ -375,6 +375,10 @@ void CFrontend::getFEInfo(void) deliverySystemMask |= DVB_S2; isMultistream = info.caps & FE_CAN_MULTISTREAM; break; + case SYS_DVBS2X: + deliverySystemMask |= DVB_S2X; + isMultistream = info.caps & FE_CAN_MULTISTREAM; + break; case SYS_DTMB: deliverySystemMask |= DTMB; break; @@ -956,6 +960,15 @@ void CFrontend::getDelSys(delivery_system_t delsys, int f, int m, const char *&f 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 modulation %d!\n", m); mod = "UNKNOWN"; @@ -1083,6 +1096,9 @@ fe_delivery_system_t CFrontend::getFEDeliverySystem(delivery_system_t Delsys) case DVB_S2: delsys = SYS_DVBS2; break; + case DVB_S2X: + delsys = SYS_DVBS2X; + break; case DVB_T: delsys = SYS_DVBT; break; @@ -1172,6 +1188,9 @@ uint32_t CFrontend::getXMLDeliverySystem(delivery_system_t delsys) case ISDBT: delnr = 11; break; + case DVB_S2X: + delnr = 12; + break; default: printf("%s: unknown delivery system (%d)\n", __FUNCTION__, delsys); delnr = 0; diff --git a/src/zapit/src/getservices.cpp b/src/zapit/src/getservices.cpp index af27229d8..b69f67f45 100644 --- a/src/zapit/src/getservices.cpp +++ b/src/zapit/src/getservices.cpp @@ -715,6 +715,15 @@ void CServiceManager::ParseSatTransponders(delivery_system_t delsys, xmlNodePtr case 2: // 8PSK feparams.modulation = PSK_8; 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: feparams.modulation = QAM_AUTO; fprintf(stderr, "[getservices] %s: unknown modulation %d!\n", __func__, modulation);