📄 task_app.c
字号:
MPUPstnInit();
Pstn1PrevHookState = 0xFF;
Pstn2PrevHookState = 0xFF;
Pstn1Tick0HookState = 0xFF;
Pstn1Tick1HookState = 0xFF;
Pstn1Tick2HookState = 0xFF;
Pstn2Tick0HookState = 0xFF;
Pstn2Tick1HookState = 0xFF;
Pstn2Tick2HookState = 0xFF;
while (1)
{
if (0 == Tick)
{
Pstn1Tick0HookState = GetPstn1HookState();
}
else if (1 == Tick)
{
Pstn1Tick1HookState = GetPstn1HookState();
}
else
{
Pstn1Tick2HookState = GetPstn1HookState();
}
if ((Pstn1Tick0HookState == Pstn1Tick1HookState)
&& (Pstn1Tick0HookState == Pstn1Tick2HookState))
{
Pstn1CurrHookState = Pstn1Tick0HookState;
if (Pstn1PrevHookState != Pstn1CurrHookState)
{
if (Pstn1CurrHookState == PSTN_HOOK_OFF)
{
BYPrintf("Hook1Off");
MPUPstnSendHookOffMsgToMPU(0);
}
else
{
BYPrintf("Hook1On");
MPUPstnSendHookOnMsgToMPU(0);
}
MPUPstn1Ring = FALSE;
Pstn1PrevHookState = Pstn1CurrHookState;
}
}
if (0 == Tick)
{
Pstn2Tick0HookState = GetPstn2HookState();
}
else if (1 == Tick)
{
Pstn2Tick1HookState = GetPstn2HookState();
}
else
{
Pstn2Tick2HookState = GetPstn2HookState();
}
if ((Pstn2Tick0HookState == Pstn2Tick1HookState)
&& (Pstn2Tick0HookState == Pstn2Tick2HookState))
{
Pstn2CurrHookState = Pstn2Tick0HookState;
if (Pstn2PrevHookState != Pstn2CurrHookState)
{
if (Pstn2CurrHookState == PSTN_HOOK_OFF)
{
BYPrintf("Hook2Off");
MPUPstnSendHookOffMsgToMPU(1);
}
else
{
BYPrintf("Hook2On");
MPUPstnSendHookOnMsgToMPU(1);
}
MPUPstn2Ring = FALSE;
Pstn2PrevHookState = Pstn2CurrHookState;
}
}
Tick++;
if (Tick >= 3) Tick = 0;
if( msgQReceive( MPUPSTN_SYS_Q_ID, msg, MAX_MSG_LEN, NO_WAIT) > 0 )
{
MPUMsgInMPUPSTNHdl(msg);
}
taskDelay(1);
}
}
VOID MiniE1SysTask(VOID)
{
UC msg[MAX_MSG_LEN];
CloseAllE1Led();
taskDelay(100);
MiniE1Init();
while (1)
{
if ( msgQReceive( MINIE1_SYS_Q_ID, msg, MAX_MSG_LEN, NO_WAIT) > 0 )
{
MPUMsgInMiniE1Hdl(msg);
}
E1_LED_CON();
taskDelay(3);
}
}
#endif
#ifdef TEST_PSTN
VOID TTestTask(VOID)
{
struct BRD_MSG
{
UC unit_type;
UC brd;
UC line; /*Mean to port number*/
UI len;
UC data[MAX_UNIT_LEN];
};
UC i;
UC brd, line;
UC code;
struct BRD_MSG BrdMsg;
UC g_Run = FALSE;
taskDelay(1000);
while (1)
{
if (FALSE == g_Run)
{
taskDelay(10);
continue;
}
brd = 7;
for (line = 0; line < 4; line++)
{
BrdMsg.unit_type = 0;
BrdMsg.brd = brd;
BrdMsg.line = line;
BrdMsg.len = 1;
BrdMsg.data[0] = 4;
SendLetterToMail(PID_BRD, PID_SYSMAN, 0XFF, brd, sizeof(struct BRD_MSG), &BrdMsg);
taskDelay(10);
code = 3;
SendLetterToMail(PID_DTMF, PID_CCA_PSTN, 0xFF, line, 1, &code);
code = 0;
taskDelay(10);
SendLetterToMail(PID_DTMF, PID_CCA_PSTN, 0xFF, line, 1, &code);
code = 0;
SendLetterToMail(PID_DTMF, PID_CCA_PSTN, 0xFF, line, 1, &code);
taskDelay(10);
code = 1;
SendLetterToMail(PID_DTMF, PID_CCA_PSTN, 0xFF, line, 1, &code);
taskDelay(10);
code = 6 + line;
SendLetterToMail(PID_DTMF, PID_CCA_PSTN, 0xFF, line, 1, &code);
taskDelay(10);
}
for (line = 0; line < 4; line++)
{
BrdMsg.unit_type = 0;
BrdMsg.brd = brd;
BrdMsg.line = line;
BrdMsg.len = 1;
BrdMsg.data[0] = 5;
SendLetterToMail(PID_BRD, PID_SYSMAN, 0XFF, brd, sizeof(struct BRD_MSG), &BrdMsg);
taskDelay(10);
}
}
}
#endif
#ifdef TEST_FANGHUA
VOID FangHuaTask(void)
{
BOOL bNoCallerHookOff = FALSE;
BOOL bLackCallerHookOff = FALSE;
BOOL bMuchCallerHookOff = FALSE;
BOOL bExCallerHookOff = FALSE;
BOOL bNormal = FALSE;
BOOL bSendDtmf = FALSE;
BOOL bConfigPTT = FALSE;
UC Code[MAX_CODE_LEN] = {3, 0, 0, 3, 2};
UC CallCode[MAX_CODE_LEN] = {3, 8, 1, 1, 2, 1, 6};
DLCC_NET_MSG_DATA_STRUCT DlccNet;
DLCC_TERMINAL_PORT_HOOKOFF_STRUCT * pHookOff;
DLCC_TERMINAL_PORT_HOOKON_STRUCT * pHookOn;
DLCC_TERMINAL_PORT_DIAL_CODES_STRUCT * pDial;
DLCC_EM_SEND_CODE_STRUCT * pSendCode;
DLCC_PTT_CONFIG_STRUCT * pPttConfig;
while (1)
{
if (bNoCallerHookOff)
{
/* bNoCallerHookOff = FALSE;*/
DlccNet.type = DLCC_SER_TERMINAL_MANAGE;
DlccNet.cmd = DLCC_TERMINAL_PORT_SIGNAL;
DlccNet.unit[0] = DLCC_TERMINAL_PORT_HOOKOFF;
pHookOff = (DLCC_TERMINAL_PORT_HOOKOFF_STRUCT *)&(DlccNet.unit[1]);
pHookOff->caller_len = 0;
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
}
if (bLackCallerHookOff)
{
/* bLackCallerHookOff = FALSE;*/
DlccNet.type = DLCC_SER_TERMINAL_MANAGE;
DlccNet.cmd = DLCC_TERMINAL_PORT_SIGNAL;
DlccNet.unit[0] = DLCC_TERMINAL_PORT_HOOKOFF;
pHookOff = (DLCC_TERMINAL_PORT_HOOKOFF_STRUCT *)&(DlccNet.unit[1]);
pHookOff->caller_len = 6;
memcpy(pHookOff->caller_code, Code, MAX_CODE_LEN);
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
}
if (bMuchCallerHookOff)
{
/* bMuchCallerHookOff = FALSE;*/
DlccNet.type = DLCC_SER_TERMINAL_MANAGE;
DlccNet.cmd = DLCC_TERMINAL_PORT_SIGNAL;
DlccNet.unit[0] = DLCC_TERMINAL_PORT_HOOKOFF;
pHookOff = (DLCC_TERMINAL_PORT_HOOKOFF_STRUCT *)&(DlccNet.unit[1]);
pHookOff->caller_len = MAX_CODE_LEN;
memcpy(pHookOff->caller_code, Code, MAX_CODE_LEN);
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
}
if (bExCallerHookOff)
{
/* bExCallerHookOff = FALSE;*/
DlccNet.type = DLCC_SER_TERMINAL_MANAGE;
DlccNet.cmd = DLCC_TERMINAL_PORT_SIGNAL;
DlccNet.unit[0] = DLCC_TERMINAL_PORT_HOOKOFF;
pHookOff = (DLCC_TERMINAL_PORT_HOOKOFF_STRUCT *)&(DlccNet.unit[1]);
pHookOff->caller_len = MAX_CODE_LEN + 1;
memcpy(pHookOff->caller_code, Code, MAX_CODE_LEN);
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
}
if (bNormal)
{
DlccNet.type = DLCC_SER_TERMINAL_MANAGE;
DlccNet.cmd = DLCC_TERMINAL_PORT_SIGNAL;
DlccNet.unit[0] = DLCC_TERMINAL_PORT_HOOKOFF;
pHookOff = (DLCC_TERMINAL_PORT_HOOKOFF_STRUCT *)&(DlccNet.unit[1]);
pHookOff->caller_len = MAX_CODE_LEN;
memcpy(pHookOff->caller_code, Code, MAX_CODE_LEN);
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
taskDelay(1);
DlccNet.type = DLCC_SER_TERMINAL_MANAGE;
DlccNet.cmd = DLCC_TERMINAL_PORT_SIGNAL;
DlccNet.unit[0] = DLCC_TERMINAL_PORT_DIAL_CODES;
pDial = (DLCC_TERMINAL_PORT_DIAL_CODES_STRUCT *)&(DlccNet.unit[1]);
pDial->caller_len = MAX_CODE_LEN;
memcpy(pDial->caller_code, Code, MAX_CODE_LEN);
pDial->called_len = MAX_CODE_LEN;
memcpy(pDial->called_code, CallCode, MAX_CODE_LEN);
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
taskDelay(10);
DlccNet.type = DLCC_SER_TERMINAL_MANAGE;
DlccNet.cmd = DLCC_TERMINAL_PORT_SIGNAL;
DlccNet.unit[0] = DLCC_TERMINAL_PORT_HOOKON;
pHookOn = (DLCC_TERMINAL_PORT_HOOKON_STRUCT *)&(DlccNet.unit[1]);
pHookOn->caller_len = MAX_CODE_LEN;
memcpy(pDial->caller_code, Code, MAX_CODE_LEN);
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
}
if (bSendDtmf)
{
DlccNet.type = DLCC_SER_DTMF_SIGNAL_MANAGE;
DlccNet.cmd = DLCC_SEND_SIGNAL;
pSendCode = (DLCC_TERMINAL_PORT_HOOKOFF_STRUCT *)&(DlccNet.unit[0]);
pSendCode->EmCode.EmCodeLen = MAX_CODE_LEN + 1;
memcpy(pSendCode->EmCode.EmCode, Code, MAX_CODE_LEN);
pSendCode->TxInfo.EmCodeLen = MAX_CODE_LEN;
memcpy(pSendCode->TxInfo.EmCode, CallCode, MAX_CODE_LEN);
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_SERVICE_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
taskDelay(190);
}
if (bConfigPTT == TRUE)
{
DlccNet.type = DLCC_CONFIG_PTT;
DlccNet.cmd = DLCC_DBMS_CHANGE;
pPttConfig = (DLCC_PTT_CONFIG_STRUCT *)&(DlccNet.unit[0]);
pPttConfig->PttCodeLen = MAX_CODE_LEN;
memcpy(pPttConfig->PttCode, Code, MAX_CODE_LEN);
pPttConfig->ControlMode = 1;
pPttConfig->PTTONOFF = 0;
SendLetterToMail(PID_NET_MAN, PID_DLCC_SYSMAN, DLCCSEV_CONFIG_MN,
0xFFFF, sizeof(DLCC_NET_MSG_DATA_STRUCT), &DlccNet);
taskDelay(10);
}
taskDelay(10);
}
}
#endif
VOID CheckMemTask(VOID)
{
UL size;
UC *pMem;
taskDelay(1000);
size = 500000;
while(1)
{
pMem = BYMalloc(size);
if (NULL != pMem)
{
BYPrintf("Alloc Mem Succ size %d", size);
free(pMem);
}
size -= 1000;
taskDelay( 10 );
}
}
VOID CallSystaskDelay(VOID)
{
taskDelay( NO_WAIT );
}
#ifdef MPU_INCLUDE_QSIG
VOID QsigTask(VOID)
{
UC msg[MAX_MSG_LEN];
InitQsig();
while(1)
{
if( msgQReceive( QSIG_Q_ID, msg, MAX_MSG_LEN, NO_WAIT) > 0 )
{
QSIG_Proc( msg );
}
Q921GetIFrameFromQueueAndSendout();
taskDelay(1);
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -