(Page 47 of 69 in this chapter) Version
|
Value
|
Description
|
|---|---|
|
0xA1
|
A bit went HI
|
|
0xB1
|
B bit went HI
|
|
0xC1
|
C bit went HI
|
|
0xD1
|
D bit went HI
|
|
0xA0
|
A bit went LO
|
|
0xB0
|
B bit went LO
|
|
0xC0
|
C bit went LO
|
|
0xD0
|
D bit went LO
|
|
Boards
|
CT Access Version
|
Signal DSP File Name
|
|---|---|---|
|
AG-8, AG-24/30/48/60, AG-T1/E1
|
3.0
|
signal.dsp
|
|
AG Dual/Quad T1/E1
|
3.0 or 4.0
|
None
|
|
AG 2000
|
3.0 or 4.0
|
signal.m54
|
|
AG 4000
|
3.0 or 4.0
|
None
|
|
CG 6000C
|
4.0
|
None
|
#define ALL_BITS (ADI_A_BIT|ADI_B_BIT|ADI_C_BIT|ADI_D_BIT)
int myMonitorSignal( CTAHD ctahd )
{
CTA_EVENT event;
/* start function to monitor all bit changes of 100 ms */
if( adiStartSignalDetector( ctahd, 0, ALL_BITS, 100, 100 ) != SUCCESS )
return MYFAILURE;
while( 1 )
{
const char *pc;
myGetEvent( &event ); /* see ctaWaitEvent example */
switch( event.id )
{
case ADIEVN_SIGNAL_DETECT_DONE:
if( event.value == CTA_REASON_STOPPED )
return SUCCESS;
else
return MYFAILURE;
case ADIEVN_SIGNALBIT_CHANGED:
switch( event.value ) /* value contains the change */
{ /* size contains current state */
case 0xA1: pc = "A ON"; break;
case 0xB1: pc = "B ON"; break;
case 0xC1: pc = "C ON"; break;
case 0xD1: pc = "D ON"; break;
case 0xA0: pc = "A OFF"; break;
case 0xB0: pc = "B OFF"; break;
case 0xC0: pc = "C OFF"; break;
case 0xD0: pc = "D OFF"; break;
}
printf( "MVIP bit change: %s\tsignalling bits = 0x%x " "(%c%c%c%c)\n",
pc, (event.value&0xf),
(event.size&0x8)?'A':'-', (event.size&0x4)?'B':'-',
(event.size&0x2)?'C':'-', (event.size&0x1)?'D':'-' );
break;
/* might include cases to handle disconnect event, DTMFs, etc. */
}
}
}
(Page 47 of 69 in this chapter) Version