📄 ac48drdf.h
字号:
Word16 Const_0_3_6 :2;
Word16 SecondToneLevel :6;
Word16 Const_0_3_8 :8;
}TTonePair;
#endif /* AC48_SIGNALING_MODE */
typedef struct
{
TInitCommandHeader Header;
Word16 Const_0_2_4 :3;
Word16 Delay :5;
Word16 Const_0_2_8 :7;
Word16 Type :1;
}TDecoderDelayCommand;
#endif /* ENDIAN_MODE */
typedef struct
{
TInitCommandHeader Header;
}TRunCommand;
/********************************************************************/
/* extended signaling edditionals in 'Initialization' mode commands */
#if AC48_SIGNALING_MODE == AC48_EXTENDED_SIGNALING_MODE
typedef enum
{
BASIC_SIGNALING,
EXTENDED_SIGNALING
}TExtendedSignaling;
#if ENDIAN_MODE == LITTLE_ENDIAN
#if AC48_DEVICE != AC4830X_DEVICE
typedef struct
{
TInitCommandHeader Header;
Word16 ExtendedSignaling :1;
Word16 Const_0_2_1 :7;
Word16 Const_0_2_8 :8;
}TExtendedSignalingCommand;
#endif /* AC48_DEVICE */
typedef struct
{
Word16 TotalEnergyThreshold :6;
Word16 Const_0_0_6 :2;
Word16 Const_0_0_8 :8;
Word16 LowEnergyThreshold :6;
Word16 Const_0_1_6 :2;
Word16 HighEnergyThreshold :6;
Word16 Const_0_1_14 :2;
Word16 MaxFrequenceDeviationLsb :8;
Word16 MaxFrequenceDeviationMsb :4;
Word16 Twist :4;
}TThresholds;
typedef struct
{
Word16 NumberOfFrequencies :4;
Word16 Const_0_0_8 :4;
Word16 NumberOfSignals :5;
Word16 Const_0_0_13 :3;
}TFreqAndSigQuantity;
typedef struct
{
Word16 FrequencyLsb :8;
Word16 FrequencyMsb :4;
Word16 Const_0_0_12 :4;
}TExtendedSignalingFrequency;
typedef struct
{
Word16 LowFrequencyIndex :4;
Word16 HighFrequencyIndex :4;
Word16 Const_0_0_8 :8;
Word16 FirstTOnLsb :8;
Word16 FirstTOnMsb :2;
Word16 Const_0_1_10 :6;
Word16 FirstTOffLsb :8;
Word16 FirstTOffMsb :2;
Word16 Const_0_2_10 :6;
Word16 SecondTOnLsb :8;
Word16 SecondTOnMsb :2;
Word16 Const_0_3_10 :6;
Word16 SecondTOffLsb :8;
Word16 SecondTOffMsb :2;
Word16 Const_0_4_10 :6;
}TCallProgressSignalAttributes;
typedef struct
{
Word16 LowFrequencyIndex :4;
Word16 HighFrequencyIndex :4;
Word16 Const_0_0_8 :8;
}TUserDefinedTonesAttributes;
typedef struct
{
Word16 LowFrequencyLevel :6;
Word16 Const_0_0_6 :2;
Word16 HighFrequencyLevel :6;
Word16 Const_0_0_14 :2;
}TExtendedSignalingSignalLevels;
#elif ENDIAN_MODE == BIG_ENDIAN
#if AC48_DEVICE != AC4830X_DEVICE
typedef struct
{
TInitCommandHeader Header;
Word16 Const_0_2_1 :7;
Word16 ExtendedSignaling :1;
Word16 Const_0_2_8 :8;
}TExtendedSignalingCommand;
#endif /* AC48_DEVICE */
typedef struct
{
Word16 Const_0_0_6 :2;
Word16 TotalEnergyThreshold :6;
Word16 Const_0_0_8 :8;
Word16 Const_0_1_6 :2;
Word16 LowEnergyThreshold :6;
Word16 Const_0_1_14 :2;
Word16 HighEnergyThreshold :6;
Word16 MaxFrequenceDeviationLsb :8;
Word16 Twist :4;
Word16 MaxFrequenceDeviationMsb :4;
}TThresholds;
typedef struct
{
Word16 Const_0_0_8 :4;
Word16 NumberOfFrequencies :4;
Word16 Const_0_0_13 :3;
Word16 NumberOfSignals :5;
}TFreqAndSigQuantity;
typedef struct
{
Word16 FrequencyLsb :8;
Word16 Const_0_0_12 :4;
Word16 FrequencyMsb :4;
}TExtendedSignalingFrequency;
typedef struct
{
Word16 HighFrequencyIndex :4;
Word16 LowFrequencyIndex :4;
Word16 Const_0_0_8 :8;
Word16 FirstTOnLsb :8;
Word16 Const_0_1_10 :6;
Word16 FirstTOnMsb :2;
Word16 FirstTOffLsb :8;
Word16 Const_0_2_10 :6;
Word16 FirstTOffMsb :2;
Word16 SecondTOnLsb :8;
Word16 Const_0_3_10 :6;
Word16 SecondTOnMsb :2;
Word16 SecondTOffLsb :8;
Word16 Const_0_4_10 :6;
Word16 SecondTOffMsb :2;
}TCallProgressSignalAttributes;
typedef struct
{
Word16 HighFrequencyIndex :4;
Word16 LowFrequencyIndex :4;
Word16 Const_0_0_8 :8;
}TUserDefinedTonesAttributes;
typedef struct
{
Word16 Const_0_0_6 :2;
Word16 LowFrequencyLevel :6;
Word16 Const_0_0_14 :2;
Word16 HighFrequencyLevel :6;
}TExtendedSignalingSignalLevels;
#endif /* ENDIAN_MODE */
#define MAX_FREQUENCY_QUANTITY 15
#define MAX_SIGNAL_QUANTITY 16
typedef struct
{
TThresholds Thresholds;
TFreqAndSigQuantity FreqAndSigQuantity;
TExtendedSignalingFrequency ExtendedSignalingFrequency[MAX_FREQUENCY_QUANTITY];
TUserDefinedTonesAttributes UserDefinedTonesAttributes[MAX_SIGNAL_QUANTITY];
TExtendedSignalingSignalLevels ExtendedSignalingSignalLevels[MAX_SIGNAL_QUANTITY];
}TUserDefinedTones;
typedef struct
{
TInitCommandHeader Header;
TUserDefinedTones UserDefinedTones;
}TUserDefinedTonesCommand;
typedef struct
{
TThresholds Thresholds;
TFreqAndSigQuantity FreqAndSigQuantity;
TExtendedSignalingFrequency ExtendedSignalingFrequency[MAX_FREQUENCY_QUANTITY];
TCallProgressSignalAttributes CallProgressSignalAttributes[MAX_SIGNAL_QUANTITY];
TExtendedSignalingSignalLevels ExtendedSignalingSignalLevels[MAX_SIGNAL_QUANTITY];
}TCallProgress;
typedef struct
{
TInitCommandHeader Header;
TCallProgress CallProgress;
}TCallProgressCommand;
#endif /* AC48_SIGNALING_MODE */
/****************************************************/
/* Idle(run) mode commands */
typedef enum
{
DEFAULT_COMMAND_OP_CODE = 0,
PCM_SLOT_COMMAND_OP_CODE = 1,
VOICE_COMMAND_OP_CODE = 2,
FAX_COMMAND_OP_CODE = 4,
TONE_PAIRS_COMMAND_OP_CODE = 5,
ACTIVE_COMMAND_OP_CODE = 6,
INIT_COMMAND_OP_CODE = 8,
DTMF_COMMAND_OP_CODE = 9,
INPUT_GAIN_COMMAND_OP_CODE = 0xA,
CAS_PORT_PRESET_COMMAND_OP_CODE = 0xB,
}TIdleCommandOpCode;
#if AC48_SIGNALING_MODE == AC48_BASIC_SIGNALING_MODE
#define MAX_TONE_PAIRS_QUANTITY 16
typedef struct
{
TInitCommandHeader Header;
TTonePair TonePair[MAX_TONE_PAIRS_QUANTITY];
}TTonePairsCommand;
#endif /* AC48_SIGNALING_MODE */
typedef enum
{
ECHO_DISABLE,
ECHO_ENABLE
}TEchoCanseler;
typedef enum
{
SILENCE_DISABLE,
SILENCE_ENABLE
}TSilenceCompression;
typedef enum
{
POST_FILTER_DISABLE,
POST_FILTER_ENABLE
}TPostFilter;
typedef enum
{
HIGH_PASS_DISABLE,
HIGH_PASS_ENABLE
}THighPassFilter;
typedef enum
{
ONE_BLOCK,
TWO_BLOCKS,
THREE_BLOCKS,
FOUR_BLOCKS
}TNumberOfBlocks;
typedef enum
{
FRF_BIT_FORMAT,
VOIP_BIT_FORMAT
}TPayloadFormat;
typedef enum
{
HYBRID_LOSS_OF_6_DB, /* (Default) */
HYBRID_LOSS_OF_9_DB,
HYBRID_LOSS_OF_0_DB,
HYBRID_LOSS_OF_3_DB
}THybridLoss;
typedef enum
{
ECHO_SUPPRESSOR_ADAPTIVE,
ECHO_SUPPRESSOR_DISABLE,
ECHO_SUPPRESSOR_SILENCE_OUT
}TNonLinearProcessorMode;
typedef enum
{
ECHO_CANCELLER_OF_10_MILLISEC,
ECHO_CANCELLER_OF_15_MILLISEC,
ECHO_CANCELLER_OF_20_MILLISEC,
ECHO_CANCELLER_OF_25_MILLISEC, /* (Default) */
ECHO_CANCELLER_OF_30_MILLISEC,
ECHO_CANCELLER_OF_35_MILLISEC,
ECHO_CANCELLER_OF_40_MILLISEC,
ECHO_CANCELLER_OF_45_MILLISEC,
ECHO_CANCELLER_OF_50_MILLISEC,
ECHO_CANCELLER_OF_55_MILLISEC,
ECHO_CANCELLER_OF_60_MILLISEC
}TEchoCancellerLength;
typedef enum
{
TONES_DETECTOR_DISABLE,
TONES_DETECTOR_ENABLE,
}TEchoCancellerTonesDetector;
typedef enum
{
SILENCE_INFORMATION_DESCRIPTOR_UPDATING_WHILE_SILENCE_ALLOWED,
SILENCE_INFORMATION_DESCRIPTOR_AT_THE_BEGINNING_OF_SILENCE_ONLY
}TLowSidRate;
typedef struct
{
TCoder Coder;
TEchoCanseler EchoCanselerEnable;
TSilenceCompression SilenceCompressionEnable;
TPostFilter PostFilterEnable;
THighPassFilter HighPassFilterEnable;
TPayloadFormat PayloadFormat;
TNumberOfBlocks NumberOfBlocks;
THybridLoss HybridLoss;
TNonLinearProcessorMode NonLinearProcessorMode;
#ifdef VOICE_COMMAND_TEST_MODE
Word16 TestParameter1;
Word16 TestParameter2;
TLowSidRate LowSidRate;
#endif /* VOICE_COMMAND_TEST_MODE */
}TVoiceAttributes;
typedef enum
{
MAX2400,
MAX4800,
MAX7200,
MAX9600,
MAX12000,
MAX14400
}TMaxRate;
#ifdef EXTENDED_FAX_COMMAND
typedef enum
{
DISABLE_RELAY_MODE,
ENABLE_FAX_DATA_RELAY_MODE,
ENABLE_PCM_ADPCM_BYPASS_MODE
}TFaxDataMode;
typedef enum
{
FRF11_COMPLIANT,
FRF11_NON_COMPATIBLE,
T38_TCP,
T38_UDP
}TProtocolMode;
#else
typedef enum
{
FAX_DISABLE,
FAX_ENABLE
}TFaxEnable;
typedef enum
{
BYPASS_DISABLE,
BYPASS_ENABLE
}TBypassEnable;
#endif /* EXTENDED_FAX_COMMAND */
typedef struct
{
TMaxRate FaxMaxRate;
TCoder BypassCoder;
TNumberOfBlocks NumberOfBlocks;
#ifdef EXTENDED_FAX_COMMAND
Word16 Volume;
TFaxDataMode Fax;
TFaxDataMode Bell;
TFaxDataMode V21;
TFaxDataMode V22;
TFaxDataMode V23;
TFaxDataMode V32;
TFaxDataMode V34;
TFaxDataMode CallerID;
BOOL EcmEnable;
BOOL HdlcEnable;
TMaxRate V32MaxRate;
TProtocolMode ProtocolMode;
Word16 JitterPeriod;
#else
Word16 FaxVolume;
TFaxEnable FaxEnable;
TBypassEnable BypassEnable;
#endif /* EXTENDED_FAX_COMMAND */
}TFaxAttributes;
typedef struct
{
Word16 LowFrequencyLevel;
Word16 HighFrequencyLevel;
Word16 MuteEncoder;
}TDtmf;
#if ENDIAN_MODE == LITTLE_ENDIAN
typedef struct
{
Word16 ConstAA :8;
Word16 Id :4;
Word16 Const_0_0_10 :4;
Word16 IdleCommandOpCode :8;
Word16 IdleCommandLength :8;
}TIdleCommandHeader;
typedef struct
{
TIdleCommandHeader Header;
}TDefaultCommand;
typedef struct
{
TIdleCommandHeader Header;
Word16 Slot :7;
Word16 Const_0_2_5 :1;
Word16 Const_0_2_8 :8;
}TPcmSlotCommand;
typedef struct
{
TIdleCommandHeader Header;
Word16 Coder :5;
Word16 EchoCanselerEnable :1; /* "ECE" */
Word16 SilenceCompressionEnable :1; /* "SCE" */
Word16 PostFilterEnable :1; /* "PFE" */
Word16 HighPassFilterEnable :1; /* "HPFE" */
Word16 PayloadFormat :1;
Word16 NumberOfBlocks :2;
Word16 HybridLoss :2; /* Word16 Const_0_2_12 :4; */
Word16 NonLinearProcessorMode :2; /* ---------""----------------- */
#ifdef VOICE_COMMAND_TEST_MODE
Word16 TestParameter1 :4; /* default 3 */
Word16 Const_0_3_4 :3;
Word16 TestParameter2 :1; /* DEFAULT 0 */
Word16 LowSidRate :1;
Word16 Const_0_3_9 :7;
#endif /* VOICE_COMMAND_TEST_MODE */
}TVoiceCommand;
typedef struct
{
TIdleCommandHeader Header;
Word16 Gain :6;
Word16 Const_0_2_6 :2;
Word16 Const_0_2_8 :8;
}TInputGainCommand;
typedef struct
{
TIdleCommandHeader Header;
#ifdef EXTENDED_FAX_COMMAND
Word16 Volume :4;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -