📄 fntelgen.c
字号:
Writesoundway(4,mExtenNm,ON);
return (4);
}
if(bit_is_clear(OutsideBusy_Free,5)) //查找空闲外线
{
SetBit(OutsideBusy_Free,5); //外线被占
Writesoundway(5,mExtenNm,ON);
return (5);
}
return 0;
}
unsigned char fnLinkDTMF_Ext(unsigned char mY) //mExtenNm 0-5 return: return: 0:Unsuccess 1= DTMF 1 2= DTMF 2
{
if(bit_is_clear(DTMFBusy_Free,0))
{
SetBit(DTMFBusy_Free,0); //DTMF解码被占
Writesoundway(mY,cX_DTMF1,ON);
return (1);
}
if(bit_is_clear(DTMFBusy_Free,1))
{
SetBit(DTMFBusy_Free,1); //DTMF解码被占
Writesoundway(mY,cX_DTMF2,ON);
return (2);
}
return 0;
}
unsigned char fnFindRingOutLine(void)
{
if (Out1_FunPt==1)
{
return cOut1Bit;
}
if (Out2_FunPt==1)
{
return cOut2Bit;
}
return 0;
}
/*
unsigned char fnFindRingOutLine(void)
{
if (Out1_FunPt==1)
{
fnStopOutRing(Out1_NumdialOut);
return cOut1Bit;
}
if (Out2_FunPt==1)
{
fnStopOutRing(Out2_NumdialOut);
return cOut2Bit;
}
return 0;
}
*/
unsigned char fnFindRingDoorPhone(void)
{
return(NotHoldDoorphone());
}
unsigned char fnFindRingExtLine(unsigned char mExtNum)
{
if(Ext1_FunPt==6)
{
fnStopExtRing(Ext1_NumdialOut);
Ext1_NumdialOut=mExtNum+1;
return (cExt1Num+1);
}
if(Ext2_FunPt==6)
{
fnStopExtRing(Ext2_NumdialOut);
Ext2_NumdialOut=mExtNum+1;
return (cExt2Num+1);
}
if(Ext3_FunPt==6)
{
fnStopExtRing(Ext3_NumdialOut);
Ext3_NumdialOut=mExtNum+1;
return (cExt3Num+1);
}
if(Ext4_FunPt==6)
{
fnStopExtRing(Ext4_NumdialOut);
Ext4_NumdialOut=mExtNum+1;
return (cExt4Num+1);
}
if(Ext5_FunPt==6)
{
fnStopExtRing(Ext5_NumdialOut);
Ext5_NumdialOut=mExtNum+1;
return (cExt5Num+1);
}
if(Ext6_FunPt==6)
{
fnStopExtRing(Ext6_NumdialOut);
Ext6_NumdialOut=mExtNum+1;
return (cExt6Num+1);
}
return 0;
}
unsigned char fnFindRingExtY4Y5(void)
{
if(Ext1_FunPt==6)
{
return (Ext1_LineY4Y5Num);
}
if(Ext2_FunPt==6)
{
return (Ext2_LineY4Y5Num);
}
if(Ext3_FunPt==6)
{
return (Ext3_LineY4Y5Num);
}
if(Ext4_FunPt==6)
{
return (Ext4_LineY4Y5Num);
}
if(Ext5_FunPt==6)
{
return (Ext5_LineY4Y5Num);
}
if(Ext6_FunPt==6)
{
return (Ext6_LineY4Y5Num);
}
return 0;
}
unsigned char fnExt_DTMFIN1(unsigned char mDTMF_Num, unsigned char mY4Y5Num,unsigned char mExtNum ,unsigned char mExtdialOutNum )
{
tFSKPhoneNumber[10]=0x31+mExtNum;
switch (mDTMF_Num)
{
case 1:
if (Ext1_FunPt){ return 0; }
Ext1_FunPt=12; //对方响铃
SetBit(ExtTelRingState,cExt1Num);
Ext1_LineY4Y5Num=mY4Y5Num;
Ext1_FlashNumdialOut=mExtNum+1;
Ext1_MusicNumdialIn=mExtdialOutNum;
return 1;
case 2:
if (Ext2_FunPt){ return 0; }
Ext2_FunPt=12; //对方响铃
SetBit(ExtTelRingState,cExt2Num);
Ext2_LineY4Y5Num=mY4Y5Num;
Ext2_FlashNumdialOut=mExtNum+1;
Ext2_MusicNumdialIn=mExtdialOutNum;
return 1;
case 3:
if (Ext3_FunPt){ return 0; }
Ext3_FunPt=12; //对方响铃
SetBit(ExtTelRingState,cExt3Num);
Ext3_LineY4Y5Num=mY4Y5Num;
Ext3_FlashNumdialOut=mExtNum+1;
Ext3_MusicNumdialIn=mExtdialOutNum;
return 1;
case 4:
if (Ext4_FunPt){ return 0; }
Ext4_FunPt=12; //对方响铃
SetBit(ExtTelRingState,cExt4Num);
Ext4_LineY4Y5Num=mY4Y5Num;
Ext4_FlashNumdialOut=mExtNum+1;
Ext4_MusicNumdialIn=mExtdialOutNum;
return 1;
case 5:
if (Ext5_FunPt){ return 0; }
Ext5_FunPt=12; //对方响铃
SetBit(ExtTelRingState,cExt5Num);
Ext5_LineY4Y5Num=mY4Y5Num;
Ext5_FlashNumdialOut=mExtNum+1;
Ext5_MusicNumdialIn=mExtdialOutNum;
return 1;
case 6:
if (Ext6_FunPt){ return 0; }
Ext6_FunPt=12; //对方响铃
SetBit(ExtTelRingState,cExt6Num);
Ext6_LineY4Y5Num=mY4Y5Num;
Ext6_FlashNumdialOut=mExtNum+1;
Ext6_MusicNumdialIn=mExtdialOutNum;
return 1;
default:
return 0;
}
}
unsigned char fnExt_DTMFIN2(unsigned char mDTMF_Num, unsigned char mExtNum ,unsigned char mY4Y5Num)
{
tFSKPhoneNumber[10]=0x31+mExtNum;
switch (mDTMF_Num)
{
case 1:
if (Ext1_FunPt) return 0;
Ext1_FunPt=9; //对方响铃
SetBit(ExtTelRingState,cExt1Num);
Ext1_NumdialIn=mExtNum+1;
Ext1_LineY4Y5Num=mY4Y5Num;
return 1;
case 2:
if (Ext2_FunPt) return 0;
Ext2_FunPt=9; //对方响铃
SetBit(ExtTelRingState,cExt2Num);
Ext2_NumdialIn=mExtNum+1;
Ext2_LineY4Y5Num=mY4Y5Num;
return 1;
case 3:
if (Ext3_FunPt) return 0;
Ext3_FunPt=9; //对方响铃
SetBit(ExtTelRingState,cExt3Num);
Ext3_NumdialIn=mExtNum+1;
Ext3_LineY4Y5Num=mY4Y5Num;
return 1;
case 4:
if (Ext4_FunPt) return 0;
Ext4_FunPt=9; //对方响铃
SetBit(ExtTelRingState,cExt4Num);
Ext4_NumdialIn=mExtNum+1;
Ext4_LineY4Y5Num=mY4Y5Num;
return 1;
case 5:
if (Ext5_FunPt) return 0;
Ext5_FunPt=9; //对方响铃
SetBit(ExtTelRingState,cExt5Num);
Ext5_NumdialIn=mExtNum+1;
Ext5_LineY4Y5Num=mY4Y5Num;
return 1;
case 6:
if (Ext6_FunPt) return 0;
Ext6_FunPt=9; //对方响铃
SetBit(ExtTelRingState,cExt6Num);
Ext6_NumdialIn=mExtNum+1;
Ext6_LineY4Y5Num=mY4Y5Num;
return 1;
default:
return 0;
}
}
void fnStopAllExtRingFor_OutLine(void) // 停止 内机响铃
{
if (Out1_FunPt==1) return; // Line In 1 be Ringing, keep ext ring
if (Out2_FunPt==1) return; // Line In 2 be Ringing, keep ext ring
if (Doorphone_FunPt==1) {return;}
if (Ext1_FunPt==20)
{
Ext1_FunPt=0;
Writesoundway(SigCallID,cX_Ex1,OFF); //连接响铃
ClrBit(ExtTelRingState,cExt1Num);
}
if (Ext2_FunPt==20)
{
Ext2_FunPt=0;
Writesoundway(SigCallID,cX_Ex2,OFF); //连接响铃
ClrBit(ExtTelRingState,cExt2Num);
}
if (Ext3_FunPt==20)
{
Ext3_FunPt=0;
Writesoundway(SigCallID,cX_Ex3,OFF); //连接响铃
ClrBit(ExtTelRingState,cExt3Num);
}
if (Ext4_FunPt==20)
{
Ext4_FunPt=0;
Writesoundway(SigCallID,cX_Ex4,OFF); //连接响铃
ClrBit(ExtTelRingState,cExt4Num);
}
if (Ext5_FunPt==20)
{
Ext5_FunPt=0;
Writesoundway(SigCallID,cX_Ex5,OFF); //连接响铃
ClrBit(ExtTelRingState,cExt5Num);
}
if (Ext6_FunPt==20)
{
Ext6_FunPt=0;
Writesoundway(SigCallID,cX_Ex6,OFF); //连接响铃
ClrBit(ExtTelRingState,cExt6Num);
}
}
unsigned char fnFind_4FreeExt(unsigned char mOutNum)
{
unsigned char i;
i=0;
if (Doorphone_FunPt==1) {return 5;}
if (Out1_FunPt==1) {return 5;}
if (Out2_FunPt==1) {return 5;}
mLineInFirstRing = mOutNum; // 1 = Line In 1 2=Line In 2
if(!Ext1_FunPt)
{
Ext1_FunPt=20;
Ext1_dialtime=0;
SetBit(ExtTelRingState,cExt1Num);
i++;
}
if(!Ext2_FunPt)
{
Ext2_FunPt=20;
Ext2_dialtime=0;
SetBit(ExtTelRingState,cExt2Num);
i++;
}
if(!Ext3_FunPt)
{
Ext3_FunPt=20;
Ext3_dialtime=0;
SetBit(ExtTelRingState,cExt3Num);
i++;
}
if(!Ext4_FunPt)
{
Ext4_FunPt=20;
Ext4_dialtime=0;
SetBit(ExtTelRingState,cExt4Num);
i++;
}
if (i>=4) return i;
if(!Ext5_FunPt)
{
Ext5_FunPt=20;
Ext5_dialtime=0;
SetBit(ExtTelRingState,cExt5Num);
i++;
}
if (i>=4) return i;
if(!Ext6_FunPt)
{
Ext6_FunPt=20;
Ext6_dialtime=0;
SetBit(ExtTelRingState,cExt6Num);
i++;
}
return i;
}
unsigned char fnFindWhichLineInRingFirst(void)
{
if (mLineInFirstRing==1) // 第一路先打进
{
if (Doorphone_FunPt==1) {return 3;}
if (Out1_FunPt==1) { return 1;}
if (Out2_FunPt==1) { return 2;}
return 0;
}else
{
if (Doorphone_FunPt==1) {return 3;}
if (Out2_FunPt==1) { return 2;}
if (Out1_FunPt==1) { return 1;}
return 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -