dahdi-linux/drivers/dahdi/voicebus/gpakenum.h

193 lines
5.7 KiB
C
Raw Normal View History

/*
* Copyright (c) 2005, Adaptive Digital Technologies, Inc.
*
* File Name: gpakenum.h
*
* Description:
* This file contains common enumerations related to G.PAK application
* software.
*
* Version: 1.0
*
* Revision History:
* 06/15/05 - Initial release.
*
* This program has been released under the terms of the GPL version 2 by
* permission of Adaptive Digital Technologies, Inc.
*
*/
/*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2 as published by the
* Free Software Foundation. See the LICENSE file included with
* this program for more details.
*/
#ifndef _GPAKENUM_H /* prevent multiple inclusion */
#define _GPAKENUM_H
/* G.PAK Serial Port Word Size */
typedef enum
{
SerWordSize8 = 0, // 8-bit seial word
SerWordSize16 = 1 // 16-bit serial word
} GpakSerWordSize_t;
/* G.PAK Serial Port FrameSync Polarity */
typedef enum
{
FrameSyncActLow = 0, // active low frame sync signal
FrameSyncActHigh = 1 // active high frame sync signal
} GpakSerFrameSyncPol_t;
/* G.PAK Serial Port Clock Polarity */
typedef enum
{
SerClockActLow = 0, // active low serial clock
SerClockActHigh = 1 // active high serial clock
} GpakSerClockPol_t;
/* G.PAK Serial Port Data Delay */
typedef enum
{
DataDelay0 = 0, // no data delay
DataDelay1 = 1, // 1-bit data delay
DataDelay2 = 2 // 2-bit data delay
} GpakSerDataDelay_t;
/* G.PAK Serial Port Ids. */
typedef enum
{
SerialPortNull = 0, // null serial port
SerialPort1 = 1, // first PCM serial stream port (McBSP0)
SerialPort2 = 2, // second PCM serial stream port (McBSP1)
SerialPort3 = 3 // third PCM serial stream port (McBSP2)
} GpakSerialPort_t;
/* G.PAK serial port Slot Configuration selection codes. */
typedef enum
{
SlotCfgNone = 0, // no time slots used
SlotCfg2Groups = 2, // 2 groups of 16 time slots used, 32 Channels system
SlotCfg8Groups = 8 // 8-partition mode for 128-channel system
} GpakSlotCfg_t;
/* G.PAK serial port Companding Mode codes. */
typedef enum
{
cmpPCMU=0, // u-Law
cmpPCMA=1, // A-Law
cmpNone=2 // none
} GpakCompandModes;
/* G.PAK Active/Inactive selection codes. */
typedef enum
{
Disabled=0, // Inactive
Enabled=1 // Active
} GpakActivation;
/* G.PAK Channel Type codes. */
typedef enum
{
inactive=0, // channel inactive
tdmToTdm = 1, /* tdmToTdm */
tdmToTdmDebug = 2 /* tdmToTdm */
} GpakChanType;
/* G.PAK Algorithm control commands */
typedef enum
{
EnableEcanA = 0, // Enable A side echo canceller
BypassEcanA = 1, // Bypass A side echo canceller
ResetEcanA = 2, // Reset A side echo canceller
EnableEcanB = 3, // Enable B side echo canceller
BypassEcanB = 4, // Bypass B side echo canceller
ResetEcanB = 5, // Reset B side echo canceller
EnableMuLawSwCompanding = 6,// Enable Mu-law Software companding
EnableALawSwCompanding = 7, // Enable Mu-law Software companding
BypassSwCompanding = 8, // Bypass Software companding
EnableDTMFMuteA = 9, // Mute A side Dtmf digit after tone detected
DisableDTMFMuteA = 10, // Do not mute A side Dtmf digit once tone detected
EnableDTMFMuteB = 11, // Mute B side Dtmf digit after tone detected
DisableDTMFMuteB = 12, // Do not mute B side Dtmf digit once tone detected
EnableFaxCngDetectA = 13, // Enable A side Fax CNG detector, channel must be configed already
DisableFaxCngDetectA = 14, // Disable A side Fax CNG detector, channel must be configed already
EnableFaxCngDetectB = 15, // Enable B side Fax CNG detector, channel must be configed already
DisableFaxCngDetectB = 16 // Disable B side Fax CNG detector, channel must be configed already
} GpakAlgCtrl_t;
/* G.PAK Tone types. */
typedef enum
{
Null_tone = 0, // no tone detection
DTMF_tone = 1 // DTMF tone
} GpakToneTypes;
/* G.PAK direction. */
typedef enum
{
TDMAToB = 0, // A to B
TDMBToA = 1 // B to A
} GpakTdmDirection;
typedef enum
{
rate1ms=0,
rate2ms=1,
rate10ms=2
} GpakRate_t;
/* G.PAK Asynchronous Event Codes */
typedef enum
{
EventToneDetect = 0, // Tone detection event
EventDSPDebug = 7 // DSP debug data event
} GpakAsyncEventCode_t;
/* G.PAK MF Tone Code Indices */
typedef enum
{
DtmfDigit1 = 0, // DTMF Digit 1
DtmfDigit2 = 1, // DTMF Digit 2
DtmfDigit3 = 2, // DTMF Digit 3
DtmfDigitA = 3, // DTMF Digit A
DtmfDigit4 = 4, // DTMF Digit 4
DtmfDigit5 = 5, // DTMF Digit 5
DtmfDigit6 = 6, // DTMF Digit 6
DtmfDigitB = 7, // DTMF Digit B
DtmfDigit7 = 8, // DTMF Digit 7
DtmfDigit8 = 9, // DTMF Digit 8
DtmfDigit9 = 10, // DTMF Digit 9
DtmfDigitC = 11, // DTMF Digit C
DtmfDigitSt = 12, // DTMF Digit *
DtmfDigit0 = 13, // DTMF Digit 0
DtmfDigitPnd = 14, // DTMF Digit #
DtmfDigitD = 15, // DTMF Digit D
FaxCngDigit = 90, // Fax Calling Tone (1100 Hz)
EndofMFDigit = 100, // End of MF digit
EndofCngDigit = 101 // End of Cng Digit
} GpakToneCodes_t;
/* GPIO control code*/
typedef enum
{
GPIO_READ = 0,
GPIO_WRITE = 1,
GPIO_DIR = 2
} GpakGPIOCotrol_t;
#endif // end multiple inclusion