📄 tmdlfe.h
字号:
Detection automatic mode of the transmission mode
To be detailed
\note NA
\sa NA
*/
typedef enum _tmdlFeTerTransmissionMode_t
{
/** DVB 2K mode */
tmdlFeTerTransmissionMode2K_E,
/** DVB 8K mode */
tmdlFeTerTransmissionMode8K_E,
/** DVB automatic choice*/
tmdlFeTerTransmissionModeAutoDetect_E,
/**Max value*/
tmdlFeTerTransmissionModeMax_E
}tmdlFeTerTransmissionMode_t;
/**
\brief Guard interval
interval used to minimize inter-symbol interference.
The more the guard interval is high, the more the reception
is robust to echoes.
\note NA
\sa NA
*/
typedef enum _tmdlFeTerGuardInterval_t
{
/** DVB guard interval 1/32 */
tmdlFeTerGuardInterval32_E,
/** DVB guard interval 1/16 */
tmdlFeTerGuardInterval16_E,
/** DVB guard interval 1/8 */
tmdlFeTerGuardInterval8_E,
/** DVB guard interval 1/4 */
tmdlFeTerGuardInterval4_E,
/** automatic choice */
tmdlFeTerGuardIntervalAutoDetect_E,
/**Max value*/
tmdlFeTerGuardIntervalMax
}tmdlFeTerGuardInterval_t;
/**
\brief Hierachical factor
factor between the distance between 2 symbols in the same quadran and
the distance between 2 different quadrans.
1: no difference, the code is uniform
2: the distance is twice larger
4: the distance is fouth larger
\note NA
\sa NA
*/
typedef enum _tmdlFeTerHierarchy_t
{
/** DVB non hierarchical */
tmdlFeTerHierarchyNonHierarchy_E,
/** DVB alpha = 1 */
tmdlFeTerHierarchyAlpha1_E,
/** DVB alpha = 2 */
tmdlFeTerHierarchyAlpha2_E,
/** DVB alpha = 4 */
tmdlFeTerHierarchyAlpha4_E,
/** automatic choice */
tmdlFeTerHierarchyAutoDetect_E,
/**Max value*/
tmdlFeTerHierarchyMax_E
}tmdlFeTerHierarchy_t;
/**
\brief Hierachical priority
Signal priority:
HP coded with the 2 most significant bits (also called IQ)
LP full signal
\note NA
\sa NA
*/
typedef enum _tmdlFeTerPriority_t
{
/** DVB Output high priority stream */
tmdlFeTerPriorityHigh_E,
/** DVB Output low priority stream */
tmdlFeTerPriorityLow_E,
/**Max value*/
tmdlFeTerPriorityMax_E
}tmdlFeTerPriority_t;
/**
\brief Offset of the signal
to be detailed
\note NA
\sa NA
*/
typedef enum tmdlFeTerOffset_t
{
tmdlFeTerOffsetAuto = 0,
tmdlFeTerOffsetNull,
tmdlFeTerOffsetPlus125,
tmdlFeTerOffsetMinus125,
tmdlFeTerOffsetPlus166,
tmdlFeTerOffsetMinus166,
tmdlFeTerOffsetPlus333,
tmdlFeTerOffsetMinus333,
tmdlFeTerOffsetPlus500,
tmdlFeTerOffsetMinus500,
/**Max value*/
tmdlFeTerOffsetMax
} tmdlFeTerOffset_t;
/**
\brief Stream configuration
transmision mode of the FFT
guard interval
hierachy factor
hierarchy priority
Viterbi puncturing rate for the High priority signal
Viterbi puncturing rate for the low priority signal
offset
Cell ID
reserved
\note NA
\sa NA
*/
typedef struct _tmdlFeTerDvbT_t
{
/** transmision mode of the FFT (number of sub carrriers 2k or 8k)*/
tmdlFeTerTransmissionMode_t TransmissionMode_E;
/** guard interval*/
tmdlFeTerGuardInterval_t GuardInterval_E;
/** hierachy factor (between 1, 2 or 4)*/
tmdlFeTerHierarchy_t Hierarchy_E;
/** hierarchy priority (low or high)*/
tmdlFeTerPriority_t Priority_E;
/** Viterbi puncturing rate for the High priority signal*/
tmdlFeTerViterbiRate_t ViterbiRateHP_E;
/** Viterbi puncturing rate for the low priority signal*/
tmdlFeTerViterbiRate_t ViterbiRateLP_E;
/** offset*/
tmdlFeTerOffset_t Offset;
/** Cell ID */
UInt16 Cellid;
/**reserved*/
Int32 Reserved;
}tmdlFeTerDvbT_t;
/**************************** VSB types ****************************/
/**
\brief Viterbi puncturing rate
Viterbi puncturing rate for VSB signal
\note NA
\sa NA
*/
typedef struct _tmdlFeTerVsb_t
{
/** Viterbi puncturing rate*/
tmdlFeTerViterbiRate_t ViterbiRate_E;
}tmdlFeTerVsb_t;
/**
\brief Signal specification
Standard of the signal
configuration in the standard
\note NA
\sa NA
*/
typedef struct _tmdlFeTerSignalSpecification_t
{
/** Terrestrial specific configuration of the signal*/
tmdlFeTerStandard_t Standard_S;
/** Protocol specific part*/
union
{
/** DVB T specific description*/
tmdlFeTerDvbT_t DvbT_S;
/** VSB specific description*/
tmdlFeTerVsb_t Vsb_S;
} uStd;
}tmdlFeTerSignalSpecification_t;
/**
\brief Terrestrial specific configuration of signal for tuning
\note NA
\sa NA
*/
typedef tmdlFeTerSignalSpecification_t tmdlFeTerTuningConfig_t;
/**
\brief Terrestrial specific configuration of signal for scanning
\note NA
\sa NA
*/
typedef tmdlFeTerSignalSpecification_t tmdlFeTerSearchConfig_t;
/**
\brief Terrestrial specific configuration of signal to get the status
of the signal
\note NA
\sa NA
*/
typedef tmdlFeTerSignalSpecification_t tmdlFeTerStatus_t;
/**
\brief Terrestrial specific configuration of signal
dupplicate of tmdlFeTerSignalSpecification_t or tmdlFeTerStandard_t
\note NA
\sa NA
*/
typedef struct _tmdlFeTerConfig
{
/** Terrestrial specific configuration of signal */
tmdlFeTerStandard_t Standard_S;
}tmdlFeTerConfig_t;
/**********************************************************************/
/**************************** Common types ****************************/
/**********************************************************************/
/**
\brief Media type
Media used:
satellite
Cable
Terrestrial
\note NA
\sa NA
*/
typedef enum _tmdlFeType_t
{
/** Media is satellite*/
tmdlFeSatellite_E,
/** Media is Cable*/
tmdlFeCable_E,
/** Media is terrestrial*/
tmdlFeTerrestrial_E,
/** Max value*/
tmdlFeTypeMax_E
}tmdlFeType_t;
/**
\brief Instance type
\note NA
\sa NA
*/
typedef UInt32 tmdlFeInstance_t;
/**
\brief Frequency in hertz
\note NA
\sa NA
*/
typedef UInt32 tmdlFeFrequency_t;
/**
\brief symbol rate in symbol per second
\note NA
\sa NA
*/
typedef UInt32 tmdlFeSrBw_t;
/**
\brief Hardware configuration
Media type
Demodulator used
tuner used
Address IIC of the demodulator
Address IIC of the demodulator
IIC unit used on the host IC (Mojo, Yoda)
Board type
Pin of Input/Output used for the interrupt
\note NA
\sa NA
*/
typedef struct _tmdlFeHwConfig_t
{
/** Media type*/
tmdlFeType_t FeType_E;
/** Demodulator used*/
UInt32 DemodName_U;
/** tuner used*/
UInt32 TunerName_U;
/** Address IIC of the demodulator*/
UInt8 DemodI2CAdd_BY;
/** Address IIC of the tuner*/
UInt8 TunerI2CAdd_BY;
/** IIC unit used on the host IC (Mojo, Yoda)*/
tmUnitSelect_t I2CUnit_BY;
/** Board type*/
UInt32 BoardType_U;
/** Pin of Input/Output used for the interrupt*/
UInt32 PioCtl;
} tmdlFeHwConfig_t;
/**
\brief Instance setup
setup of the instance,
mainly the hardware configuration
\note NA
\sa NA
*/
typedef struct _tmdlFeInstanceSetup_t
{
/** Hardware configuration*/
tmdlFeHwConfig_t HwCfg_S;
} tmdlFeInstanceSetup_t;
/**
\brief Spectrum direction
Thge spectrum can be normal or inverted
An automatic mode also exists
\note NA
\sa NA
*/
typedef enum _tmdlFeSpectrum_t
{
/** automatic detection of the spectum*/
tmdlSpectrumAuto_E,
/** Normal spectum*/
tmdlSpectrumNormal_E,
/** Inverted spectrum*/
tmdlSpectrumInverted_E,
/** Max value*/
tmdlSpectralInvMax_E
}tmdlFeSpectrum_t;
/**
\brief Constellation type
Constellation used between BPSK (2 states) and 256 QAM (256 states)
\note NA
\sa NA
*/
typedef enum _tmdlFeConstellation_t
{
/** 2 states constellation */
tmdlFeConstellationBpsk_E,
/** 4 states constellation */
tmdlFeConstellationQpsk_E,
/** 4 states constellation */
tmdlFeConstellationQam4_E = tmdlFeConstellationQpsk_E,
/** 8 states constellation */
tmdlFeConstellation8Psk_E,
/** 8 states constellation for VSB*/
tmdlFeConstellation8Vsb_E,
/** 16 states constellation */
tmdlFeConstellationQam16_E,
/** 32 states constellation */
tmdlFeConstellationQam32_E,
/** 64 states constellation */
tmdlFeConstellationQam64_E,
/** 128 states constellation */
tmdlFeConstellationQam128_E,
/** 256 states constellation */
tmdlFeConstellationQam256_E,
/** automatic detection constellation */
tmdlFeConstellationAuto_E,
/** Max value*/
tmdlFeConstellationMax_E
}tmdlFeConstellation_t;
/**
\brief Level of the signal
\note NA
\sa NA
*/
typedef Int8 tmdlFeLvl_t;
/**
\brief Agc value
to be precised which AGC????
\note NA
\sa NA
*/
typedef UInt32 tmdlFeAgc_t;
/**
\brief Status of the scanning state machine
\note NA
\sa NA
*/
typedef UInt8 tmdlFeScanProgress_t;
/**
\brief Status of the carrier phase lock loop
lock indicate a carrier is present in the signal
\note NA
\sa NA
*/
typedef enum _tmdlFeCarrierStatus_t
{
/** statuc unknown*/
tmdlFeCarrierUnknow_E = 0,
/** statuc loop locked*/
tmdlFeCarrierLock_E,
/** loop not locked */
tmdlFeCarrierNoLock_E
}tmdlFeCarrierStatus_t;
/**
\brief Satellite specific configuration of signal for tuning
\note NA
\sa NA
*/
typedef tmdlFeSatSignalSpecification_t tmdlFeSatTuningConfig_t;
/**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -