1
0
mirror of https://github.com/DigitalDevices/dddvb.git synced 2023-10-10 13:37:43 +02:00

add new structs

This commit is contained in:
none 2021-06-06 20:23:06 +02:00
parent dfe6b385a9
commit b9998ee9e2

View File

@ -132,6 +132,7 @@
#define MCI_BANDWIDTH_7MHZ (7) #define MCI_BANDWIDTH_7MHZ (7)
#define MCI_BANDWIDTH_8MHZ (8) #define MCI_BANDWIDTH_8MHZ (8)
#define SX8_CMD_GETBIST (0x0F)
#define SX8_CMD_INPUT_ENABLE (0x40) #define SX8_CMD_INPUT_ENABLE (0x40)
#define SX8_CMD_INPUT_DISABLE (0x41) #define SX8_CMD_INPUT_DISABLE (0x41)
#define SX8_CMD_START_IQ (0x42) #define SX8_CMD_START_IQ (0x42)
@ -190,6 +191,7 @@
#define MOD_SETUP_CHANNELS (0x60) #define MOD_SETUP_CHANNELS (0x60)
#define MOD_SETUP_OUTPUT (0x61) #define MOD_SETUP_OUTPUT (0x61)
#define MOD_SETUP_STREAM (0x62) #define MOD_SETUP_STREAM (0x62)
#define MOD_SET_STREAM_CHANNEL (0x63)
#define MOD_SETUP_FLAG_FIRST (0x01) #define MOD_SETUP_FLAG_FIRST (0x01)
#define MOD_SETUP_FLAG_LAST (0x02) #define MOD_SETUP_FLAG_LAST (0x02)
@ -199,6 +201,7 @@
#define MOD_STANDARD_DVBT_8 (0x01) #define MOD_STANDARD_DVBT_8 (0x01)
#define MOD_STANDARD_DVBT_7 (0x02) #define MOD_STANDARD_DVBT_7 (0x02)
#define MOD_STANDARD_DVBT_6 (0x03) #define MOD_STANDARD_DVBT_6 (0x03)
#define MOD_STANDARD_DVBT_5 (0x04)
#define MOD_CONNECTOR_OFF (0x00) #define MOD_CONNECTOR_OFF (0x00)
#define MOD_CONNECTOR_F (0x01) #define MOD_CONNECTOR_F (0x01)
@ -213,6 +216,22 @@
#define MOD_FORMAT_IDX8 (0x03) #define MOD_FORMAT_IDX8 (0x03)
#define MOD_FORMAT_TS (0x04) #define MOD_FORMAT_TS (0x04)
#define MOD_DVBT_FFT_8K (0x01)
#define MOD_DVBT_GI_1_32 (0x00)
#define MOD_DVBT_GI_1_16 (0x01)
#define MOD_DVBT_GI_1_8 (0x02)
#define MOD_DVBT_GI_1_4 (0x03)
#define MOD_DVBT_PR_1_2 (0x00)
#define MOD_DVBT_PR_2_3 (0x01)
#define MOD_DVBT_PR_3_4 (0x02)
#define MOD_DVBT_PR_5_6 (0x03)
#define MOD_DVBT_PR_7_8 (0x04)
#define MOD_DVBT_QPSK (0x00)
#define MOD_DVBT_16QAM (0x01)
#define MOD_DVBT_64QAM (0x02)
struct mod_setup_channels { struct mod_setup_channels {
u8 flags; u8 flags;
u8 standard; u8 standard;
@ -226,11 +245,14 @@ struct mod_setup_channels {
struct mod_setup_stream { struct mod_setup_stream {
u8 standard; u8 standard;
u8 stream_format; u8 stream_format;
u8 rsvd[2]; u8 rsvd1[2];
u32 symbol_rate; /* only used when Standard doesn't define a fixed symbol rate */ u32 symbol_rate; /* only used when Standard doesn't define a fixed symbol rate */
u8 fft_size; /* 0 = 2K, 1 = 8K (2K yet supported) */ u8 fft_size; /* 0 = 2K, 1 = 8K (2K yet supported) */
u8 guard_interval; /* 0 = 1/32, 1 = 1/16, 2 = 1/8, 3 = 1/4 (DVB-T Encoding) */ u8 guard_interval; /* 0 = 1/32, 1 = 1/16, 2 = 1/8, 3 = 1/4 (DVB-T Encoding) */
u8 puncture_rate; /* 0 = 1/2, 1 = 2/3, 2 = 3/4, 3 = 5/6, 4 = 7/8 (DVB-T Encoding) */ u8 puncture_rate; /* 0 = 1/2, 1 = 2/3, 2 = 3/4, 3 = 5/6, 4 = 7/8 (DVB-T Encoding) */
u8 constellation;
u8 rsvd2[2]; /* Reserved for DVB-T hierarchical */
u16 cell_identifier;
}; };
struct mod_setup_output { struct mod_setup_output {
@ -358,7 +380,7 @@ struct mci_command {
} j83b_search; } j83b_search;
struct { struct {
u8 flags; // Bit 0 : 1 = short info (1st 4 Bytes) u8 flags; /* Bit 0 : 1 = short info (1st 4 Bytes) */
} get_signalinfo; } get_signalinfo;
struct { struct {
@ -382,7 +404,7 @@ struct mci_command {
struct { struct {
u8 flags; u8 flags;
/* Bit 0:1 Preamp Mode; 0 = Preamp AGC, 1 == Minimum (~ -17dB) , /* Bit 0:1 Preamp Mode; 0 = Preamp AGC, 1 == Minimum (~ -17dB) ,
2 = Medium, 3 = Maximum gain {~ 15dB} 2 = Medium, 3 = Maximum gain {~ 15dB}
Bit 2: Bypass Input LNA (6 dB less gain) (Note this is after Preamp) Bit 2: Bypass Input LNA (6 dB less gain) (Note this is after Preamp)
Bit 4: Set RF Gain Bit 4: Set RF Gain
@ -392,18 +414,18 @@ struct mci_command {
} sx8_input_enable; } sx8_input_enable;
struct { struct {
u8 offset; // Offset into list, must be multiple of 64 u8 offset; /* Offset into list, must be multiple of 64 */
u8 select; // 0 = Slices, 1 = PLPs (C2 Only) u8 select; /* 0 = Slices, 1 = PLPs (C2 Only) */
u8 data_slice; // DataSlice to get PLPList (C2 Only) u8 data_slice; /* DataSlice to get PLPList (C2 Only) */
} get_ids; } get_ids;
struct { struct {
u8 select; // 0 = Base, 1 = DataSilce, 2 = PLP, Bit 7: Set new ID u8 select; /* 0 = Base, 1 = DataSilce, 2 = PLP, Bit 7: Set new ID */
u8 id; // DataSliceID, PLPId u8 id; /* DataSliceID, PLPId */
} get_l1_info; } get_l1_info;
struct { struct {
u8 select; // 0 = Data PLP, 1 = Common PLP, only DVB-T2 and DVB-C2 u8 select; /* 0 = Data PLP, 1 = Common PLP, only DVB-T2 and DVB-C2 */
} get_bb_header; } get_bb_header;
struct mod_setup_channels mod_setup_channels[4]; struct mod_setup_channels mod_setup_channels[4];
@ -429,16 +451,16 @@ struct mci_result {
u8 Rsvd0[3]; u8 Rsvd0[3];
u8 Flags; u8 Flags;
u32 frequency; // actual frequency in Hz u32 frequency; /* actual frequency in Hz */
u32 rsvd1; u32 rsvd1;
s16 channel_power; // channel power in dBm x 100 s16 channel_power; /* channel power in dBm x 100 */
s16 rsvd2; s16 rsvd2;
s16 signal_to_noise; // SNR in dB x 100, Note: negativ values are valid in DVB-S2 s16 signal_to_noise; /* SNR in dB x 100, Note: negativ values are valid in DVB-S2 */
s16 rsvd3; s16 rsvd3;
u32 rsvd4; u32 rsvd4;
u32 ber_numerator; /* Bit error rate: PreRS in DVB-S, PreBCH in DVB-S2X */ u32 ber_numerator; /* Bit error rate: PreRS in DVB-S, PreBCH in DVB-S2X */
u32 ber_denominator; u32 ber_denominator;
u32 ber_rsvd1; // Place holder for modulation bit error rate u32 ber_rsvd1; /* Place holder for modulation bit error rate */
u32 ber_rsvd2; u32 ber_rsvd2;
} common_signal_info; } common_signal_info;
@ -491,8 +513,8 @@ struct mci_result {
struct { struct {
u8 modulation1; // bit 7..6: Constellation, bit 5..3 Hierachy, bit 2..0 CodeRate High u8 modulation1; // bit 7..6: Constellation, bit 5..3 Hierachy, bit 2..0 CodeRate High
u8 modulation2; // bit 7..5: CodeRate Low, bit 4..3 Guard Interval, bit 2..1 FFT Mode u8 modulation2; // bit 7..5: CodeRate Low, bit 4..3 Guard Interval, bit 2..1 FFT Mode
u8 Rsvd0; u8 rsvd0;
u8 Flags; u8 flags;
u32 frequency; /* actual frequency in Hz */ u32 frequency; /* actual frequency in Hz */
u32 rsvd1; u32 rsvd1;
s16 channel_power; /* channel power in dBm x 100 */ s16 channel_power; /* channel power in dBm x 100 */
@ -553,37 +575,37 @@ struct mci_result {
} isdbt_signal_info; } isdbt_signal_info;
struct { struct {
u8 Constellation; u8 constellation;
u8 Rsvd0[2]; u8 rsvd0[2];
u8 Flags; u8 flags;
u32 Frequency; // actual frequency in Hz u32 frequency; // actual frequency in Hz
u32 SymbolRate; // actual symbolrate in Hz u32 symbol_rate; // actual symbolrate in Hz
s16 ChannelPower; // channel power in dBm x 100 s16 channel_power; // channel power in dBm x 100
s16 BandPower; // band power in dBm x 100 s16 band_power; // band power in dBm x 100
s16 SignalToNoise; // SNR in dB x 100, Note: negativ values are valid in DVB-S2 s16 signal_to_noise; // SNR in dB x 100, Note: negativ values are valid in DVB-S2
s16 Rsvd2; s16 rsvd2;
u32 PacketErrors; // Counter for packet errors. (set to 0 on Start command) u32 packet_errors; // Counter for packet errors. (set to 0 on Start command)
u32 BERNumerator; // Bit error rate: PreRS in DVB-S, PreBCH in DVB-S2X u32 ber_numerator; // Bit error rate: PreRS in DVB-S, PreBCH in DVB-S2X
u32 BERDenominator; u32 ber_denominator;
} ISDBC_SignalInfo; } isdbc_signal_info;
struct { struct {
u8 Constellation; u8 constellation;
u8 Interleaving; u8 interleaving;
u8 Rsvd0; u8 rsvd0;
u8 Flags; u8 flags;
u32 Frequency; // actual frequency in Hz u32 frequency; // actual frequency in Hz
u32 SymbolRate; // actual symbolrate in Hz u32 symbol_rate; // actual symbolrate in Hz
s16 ChannelPower; // channel power in dBm x 100 s16 channel_power; // channel power in dBm x 100
s16 BandPower; // band power in dBm x 100 s16 band_power; // band power in dBm x 100
s16 SignalToNoise; // SNR in dB x 100, Note: negativ values are valid in DVB-S2 s16 signal_to_noise; // SNR in dB x 100, Note: negativ values are valid in DVB-S2
s16 Rsvd2; s16 rsvd2;
u32 PacketErrors; // Counter for packet errors. (set to 0 on Start command) u32 packet_errors; // Counter for packet errors. (set to 0 on Start command)
u32 BERNumerator; // Bit error rate: PreRS in DVB-S, PreBCH in DVB-S2X u32 ber_numerator; // Bit error rate: PreRS in DVB-S, PreBCH in DVB-S2X
u32 BERDenominator; u32 ber_denominator;
} J83B_SignalInfo; } j83b_signal_info;
struct { struct {
s16 i; s16 i;
@ -591,13 +613,13 @@ struct mci_result {
} iq_symbol; } iq_symbol;
struct { struct {
u8 TPSInfo[7]; u8 tps_info[7];
// uint16_t TPS_CellID; // Cell Identifier // uint16_t tps_cell_id;
} DVBT_TPSInfo; } DVBT_TPSInfo;
struct { struct {
struct { struct {
u8 Type; u8 type;
u8 BWExtension; u8 BWExtension;
u8 S1; u8 S1;
u8 S2; u8 S2;
@ -623,6 +645,7 @@ struct mci_result {
u8 T2Version_PostScrambled_BaseLite_Rsvd[2]; // 4,1,1,4 bit u8 T2Version_PostScrambled_BaseLite_Rsvd[2]; // 4,1,1,4 bit
u8 CRC32[4]; u8 CRC32[4];
} DVBT2_L1Pre; } DVBT2_L1Pre;
struct { struct {
u8 SubSlicesPerFrame[2]; u8 SubSlicesPerFrame[2];
u8 NumPLP; u8 NumPLP;
@ -745,6 +768,13 @@ struct mci_result {
u8 Flags; // Bit 5: EWS flag, bit 4: Site Diversity flag, bit 3..1: Site Diversity information, bit 0: Extension flag u8 Flags; // Bit 5: EWS flag, bit 4: Site Diversity flag, bit 3..1: Site Diversity information, bit 0: Extension flag
u8 Extension[8]; // 61 bits, right aligned u8 Extension[8]; // 61 bits, right aligned
} ISDBS_TMCCInfo; } ISDBS_TMCCInfo;
struct {
uint8_t cut;
uint8_t avs_code;
uint8_t temperature;
uint8_t rsvd[13];
} sx8_bist;
}; };
u32 version[3]; u32 version[3];
u8 version_rsvd; u8 version_rsvd;