ImageView::~ImageView() { UpdateLCD(NULL); if (m_loaderRunnable && m_loaderThread) { m_loaderRunnable->abort(); m_loaderThread->wait(); } if (m_slideshow_sequence) { delete m_slideshow_sequence; m_slideshow_sequence = NULL; } if (m_loaderRunnable) { delete m_loaderRunnable; m_loaderRunnable = NULL; } if (m_loaderThread) { delete m_loaderThread; m_loaderThread = NULL; } *m_savedPos = m_pos; }
void Emulator::DoFrame() { int nbCycles = 0; int curCycles; if (mPause) return ; while (nbCycles < CYCLE_BY_FRAME) { if (!mIsHalted && !mIsStop) curCycles = DoOpcode(); else curCycles = 4; if (!mIsStop) UpdateLCD(curCycles); UpdateTimer(curCycles); HandleInterupt(); nbCycles += curCycles; // DEBUG // mCyclesCounter += curCycles; mOpCounter++; if (mPause) break ; } }
void DrawDemo( void ) { char xx; int i; //char carRX = 0; /*u8 fontWidth; if ( Blink == 0 ) { Blink = 30000; fontWidth = DrawChar5x5(curX, curY, '_', LCD_PIXEL_INV); // Blink Debug LED GPIO_WriteReverse(GPIOD, GPIO_PIN_0); } else { Blink--; } if (UART2_GetFlagStatus(UART2_FLAG_RXNE) != RESET) { carRX = UART2_ReceiveData8(); } if ( carRX != 0 ) { fontWidth = DrawChar5x5(curX, curY, '_', LCD_PIXEL_OFF); if ( carRX == 13 ) { curX = 2; curY += FONT_HEIGHT + 1; if ( curY > DISPLAY_HEIGHT ) { DrawScreen(); } } else if ( carRX == 10 ) { } else { fontWidth = DrawChar5x5(curX, curY, carRX, LCD_PIXEL_ON); curX += fontWidth + 1; if ( curX > DISPLAY_WIDTH ) { curX = 2; curY += FONT_HEIGHT + 1; if ( curY + FONT_HEIGHT > DISPLAY_HEIGHT ) { DrawScreen(); } } } }*/ Blink = 0; DrawScreen(); GotoXY(2,10); PutText(text,LCD_PIXEL_ON); UpdateLCD(); if ( strlen(text) > 0 ) { xx = text[0]; for(i=1; i < strlen(text)-1; i++) { text[i - 1] = text[i]; } text[strlen(text)-2] = xx; } }
void DrawDemo( void ) { /*char *str = "$GPGSV,3,1,11,03,03,111,00,04,15,270,00,06,01,010,00,13,06,292,00*74"; u8 cnt; for(cnt = 0; cnt < 69; cnt++) { if (EncodeNMEA( str[cnt] )) { // process new gps info here } }*/ //DrawText(0, 50, debug, LCD_PIXEL_ON); DrawGPSData(); UpdateLCD(); DrawScreen(); }
int main(void) { // Set the internal high-speed oscillator to 1 to run at 16/1=16MHz. CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); // Reset ("de-initialise") GPIO port D. GPIO_DeInit(GPIOD); // Initialise pin 0 of port D by setting it as: // - an output pin, // - using a push-pull driver, // - at a low logic level (0V), and // - 10MHz. GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST); UART2_DeInit(); /* UART2 configuration ------------------------------------------------------*/ /* UART2 configured as follow: - BaudRate = 9600 baud - Word Length = 8 Bits - One Stop Bit - Even parity - Receive and transmit enabled - UART2 Clock disabled */ /* Configure the UART2 */ UART2_Init((u32)9600, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE); LCDInit(); DrawScreen(); UpdateLCD(); UART2_ITConfig(UART2_IT_RXNE, ENABLE); enableInterrupts(); // Infinite loop. for(;;) { DrawDemo(); Delay(80); } }
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ module :[疑似呼出ベル鳴動/OH状態変化検出タスク] function :[ 1.ダイヤル・イン着信時のオペレータ呼出の為に疑似ベル鳴動及びOFF HOOK検出を行なう。 2.TEL/FAX着信時のオペレータ呼出の為に疑似ベル鳴動及びOFF HOOK検出を行なう。 3.会話予約時のオペレータ呼出の為に疑似ベル鳴動及びOFF HOOK検出を行なう。 4.内線呼出・保留転送呼出の為に疑似ベル鳴動及び呼出側のON HOOK/被呼出側のOFF HOOK検出を行なう。 (回線捕捉キーによる内線呼出の場合、外付電話のOFF HOOKが検出されても、付属電話がOFF HOOKされる まで本タスクは、存在します。(内線呼出仮成立状態。*回線捕捉キーによる保留転送は有り得ない。)) 5.1〜4の際に上記の動作と共に停止キー入力・回線捕捉キー入力検出を行なう。 ] return :[ なし ] common :[ NCUStatus :回線監視モジュール動作状態を記憶 SYS_HookKeyInputFlag :回線捕捉キー入力情報 ] condition :[] comment :[] machine :[V53,RISC(SH),H8/300] language :[MS-C(Ver.6.0),H8/300(日立マイコン)] keyword :[NCU/FCM] date :[1995/12/27] author :[坂本直史/原田学] +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ void NCU_GenerateRingSignalTask(struct GenerateRingData_t *ring_data ) { WORD tx_mail_box_no; WORD time; WORD counter; UWORD ringing_tel; UBYTE det_cng_ring_flag; UBYTE delay_ring_flag; #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/07/15 */ UBYTE Is_HDST_Offhook; Is_HDST_Offhook = FALSE; SYS_MachineStatus[SYS_OTHER_STATUS] |= SYS_CONT24_LINE_BUSY; /* 擬似鳴動状態になります */ if ( !ModemRelaySetting() ){ /** 標準ラインに接続された場合 */ SYS_CalledLineNumber |= SYS_STD_LINE_IN_CI; if ( !(NCU_LineStatus & EXT_HDST_OFFHOOK) && !(SYS_CalledLineNumber & SYS_EXT_LINE_IN_CI)) { /* 付属電話は拡張回線でオフフックではない */ HDST_RelayOff(); /* ハンドセットを標準回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } else { /** 拡張ラインに接続された場合 */ SYS_CalledLineNumber |= SYS_EXT_LINE_IN_CI; if ( !(NCU_LineStatus & STD_HDST_OFFHOOK) ) { /* 付属電話は標準回線でオフフックではない */ HDST_RelayOn(); /* ハンドセットを拡張回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } #endif /* defined (KEISATSU) */ TxGenerateRingSignalTaskMsg.Item = FROM__NCU_SUB; tx_mail_box_no = ring_data->SendMBX; time = ring_data->StartTime; ringing_tel = ring_data->RingingTel; RingingType = ringing_tel; GRS_Tel1OhCounter = 0; GRS_Tel2OhCounter = 0; det_cng_ring_flag = 0; if (time) { delay_ring_flag = 1; } else { delay_ring_flag = 0; } DetectStopKeyInputFlag = 0; /* 無鳴動着信モード時、TEL2を回線から切り離す特ROM By O.K Jun,03,1995 *//* By M.Tachibana 1997/10/17 */ if (!CHK_UNI_NoRingTel2Detachable()) { GenerateRingKeyOn(); wai_tsk( 3 ); } #if (0) /* By M.Tachibana 1997/10/17 */ // GenerateRingKeyOn(); // wai_tsk(3); #endif #if (PRO_ECO_MODE == ENABLE) /* 2002/09/24 By M.Maeda */ MAN_ChangeEcoMode(0); #endif while ((GRS_Tel1OhCounter < GENERAL_RING_OFF_HOOK_MAX) && (GRS_Tel2OhCounter < GENERAL_RING_OFF_HOOK_MAX) #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ && (SYS_HookKeyInputFlag == 0 ) #endif /* defined (KEISATSU) */ && (GRS_DetectStopKeyInput() != STOP )) { /*-----------------------------------*/ /** 疑似ベル・呼出ブザー OFF期間 */ /*-----------------------------------*/ counter = 0; while ((counter < (15 * time) ) && (GRS_DetectStopKeyInput() != STOP ) #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ && (SYS_HookKeyInputFlag == 0 ) #endif /* defined (KEISATSU) */ && (GRS_Tel1OhCounter < GENERAL_RING_OFF_HOOK_MAX) && (GRS_Tel2OhCounter < GENERAL_RING_OFF_HOOK_MAX)) { /*-----------------------------------*/ /** 付属/外付電話のOH情報の取込み */ /*-----------------------------------*/ OhPortStatusRead(); #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ if (!ModemRelaySetting()) { /** 標準ラインに接続された場合 */ if (OffHook1() && !HDST_RelaySetting()){ /* ハンドセットは標準回線でOFFHOOK状態 */ Is_HDST_Offhook = TRUE; } else { Is_HDST_Offhook = FALSE; } if ( !(NCU_LineStatus & EXT_HDST_OFFHOOK) && !(SYS_CalledLineNumber & SYS_EXT_LINE_IN_CI)) { /* 付属電話は拡張回線でオフフックではない */ HDST_RelayOff(); /* ハンドセットを標準回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } else { if (OffHook1() && HDST_RelaySetting()){ /* ハンドセットは拡張回線でOFFHOOK状態 */ Is_HDST_Offhook = TRUE; } else { Is_HDST_Offhook = FALSE; } if ( !(NCU_LineStatus & STD_HDST_OFFHOOK) ) { /* 付属電話は標準回線でオフフックではない */ HDST_RelayOn(); /* ハンドセットを拡張回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } #endif /* defined (KEISATSU) */ /*--------------------------*/ if (CHK_600PhoneAvailable()) { /** 600型 OFF HOOK 検出(1) */ /*--------------------------*/ if ((delay_ring_flag == 1) && (counter >= ((16 * time) / 2))) { if (OhPortStatus & (TEL1_OFF_HOOK | TEL2_OFF_HOOK)) { #if defined (KEISATSU) /* 警察FAX Modify by SMuratec 李 2005/09/19 */ if ((OhPortStatus & TEL1_OFF_HOOK) && !ModemRelaySetting()) { #else /* !defined (KEISATSU) */ if (OhPortStatus & TEL1_OFF_HOOK) { #endif /* defined (KEISATSU) */ GRS_Tel1OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/15 */ if (OhPortStatus & TEL2_OFF_HOOK && ModemRelaySetting()) { GRS_Tel2OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } #endif /* defined (KEISATSU) */ #if (PRO_LINENUMBER == TWICE_LINE) /* 疑似2回線仕様 by T.Soneoka 1997/12/1 */ if (!CHK_Phone2ExtLineOn()) { /** PHONE2リレー設定が標準ラインの場合 */ if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } } #else if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } #endif } } } else { if (OhPortStatus & (TEL1_OFF_HOOK | TEL2_OFF_HOOK)) { #if defined (KEISATSU) /* 警察FAX Modify by SMuratec 李 2005/09/19 */ if ((OhPortStatus & TEL1_OFF_HOOK) && !ModemRelaySetting()) { #else /* !defined (KEISATSU) */ if (OhPortStatus & TEL1_OFF_HOOK) { #endif /* defined (KEISATSU) */ GRS_Tel1OhCounter++; } else { GRS_Tel1OhCounter = 0; } #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/15 */ if ((OhPortStatus & TEL2_OFF_HOOK) && ModemRelaySetting()) { GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } #endif /* defined (KEISATSU) */ #if (PRO_LINENUMBER == TWICE_LINE) /* 疑似2回線仕様 by T.Soneoka 1997/12/1 */ if (!CHK_Phone2ExtLineOn()) { /** PHONE2リレー設定が標準ラインの場合 */ if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } } #else if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } #endif } } wai_tsk( 6 ); counter++; } if ((CHK_600PhoneAvailable() ) && (GRS_DetectStopKeyInput() != STOP) /*--------------------------*/ #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ && (SYS_HookKeyInputFlag == 0 ) #endif /* defined (KEISATSU) */ && (delay_ring_flag == 0 )) { /** 600型 OFF HOOK 検出(2) */ /*-----------------------------------*//*--------------------------*/ /** 付属/外付電話のOH情報の取込み */ /*-----------------------------------*/ OhPortStatusRead(); #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ if (!ModemRelaySetting()) { /** 標準ラインに接続された場合 */ if (OffHook1() && !HDST_RelaySetting()){ /* ハンドセットは標準回線でOFFHOOK状態 */ Is_HDST_Offhook = TRUE; } else { Is_HDST_Offhook = FALSE; } if ( !(NCU_LineStatus & EXT_HDST_OFFHOOK) && !(SYS_CalledLineNumber & SYS_EXT_LINE_IN_CI)) { /* 付属電話は拡張回線でオフフックではない */ HDST_RelayOff(); /* ハンドセットを標準回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } else { if (OffHook1() && HDST_RelaySetting()){ /* ハンドセットは拡張回線でOFFHOOK状態 */ Is_HDST_Offhook = TRUE; } else { Is_HDST_Offhook = FALSE; } if ( !(NCU_LineStatus & STD_HDST_OFFHOOK) ) { /* 付属電話は標準回線でオフフックではない */ HDST_RelayOn(); /* ハンドセットを拡張回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } #endif /* defined (KEISATSU) */ if (OhPortStatus & (TEL1_OFF_HOOK | TEL2_OFF_HOOK)) { #if defined (KEISATSU) /* 警察FAX Modify by SMuratec 李 2005/09/19 */ if ((OhPortStatus & TEL1_OFF_HOOK) && !ModemRelaySetting()) { #else /* !defined (KEISATSU) */ if (OhPortStatus & TEL1_OFF_HOOK) { #endif /* defined (KEISATSU) */ GRS_Tel1OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/15 */ if ((OhPortStatus & TEL2_OFF_HOOK) && ModemRelaySetting()) { GRS_Tel2OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } #endif /* defined (KEISATSU) */ #if (PRO_LINENUMBER == TWICE_LINE) /* 疑似2回線仕様 by T.Soneoka 1997/12/1 */ if (!CHK_Phone2ExtLineOn()) { /** PHONE2リレー設定が標準ラインの場合 */ if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } } #else if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter = GENERAL_RING_OFF_HOOK_MAX; break; /* '94,08,12 By N.S. */ } #endif } } #if defined(FRA) /* 95/02/20 by M.HARADA */ time = 4; #else time = 2; #endif delay_ring_flag = 0; /*------------------------------------*/ /** CNG検出中の疑似ベル鳴動の防止 */ /*------------------------------------*/ #if ( PRO_DIALIN == ENABLE ) if (!(NCUStatus & DIALIN_RECEIVE_STATE)) { #endif while ((GRS_DetectStopKeyInput() != STOP ) && (SYS_RingSignalStopFlag == 1 ) #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ && (SYS_HookKeyInputFlag == 0 ) #endif /* defined (KEISATSU) */ && (GRS_Tel1OhCounter < GENERAL_RING_OFF_HOOK_MAX) && (GRS_Tel2OhCounter < GENERAL_RING_OFF_HOOK_MAX) && (det_cng_ring_flag == 0 )) { wai_tsk(6); if (CHK_600PhoneAvailable()) { #if defined (KEISATSU) /* 警察FAX Modify by SMuratec 李 2005/09/19 */ if ((OhPortStatus & TEL1_OFF_HOOK) && !ModemRelaySetting()) { #else /* !defined (KEISATSU) */ if (OhPortStatus & TEL1_OFF_HOOK) { #endif /* defined (KEISATSU) */ GRS_Tel1OhCounter++; } else { GRS_Tel1OhCounter = 0; } #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/15 */ if ((OhPortStatus & TEL2_OFF_HOOK) && ModemRelaySetting()){ GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } #endif /* defined (KEISATSU) */ #if (PRO_LINENUMBER == TWICE_LINE) /* 疑似2回線仕様 by T.Soneoka 1997/12/1 */ if (!CHK_Phone2ExtLineOn()) { /** PHONE2リレー設定が標準ラインの場合 */ if (OhPortStatus & TEL2_OFF_HOOK){ GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } } #else if (OhPortStatus & TEL2_OFF_HOOK){ GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } #endif } } #if ( PRO_DIALIN == ENABLE ) } #endif /* 無鳴動着信モード時、TEL2を回線から切り離す特ROM By O.K May,10,1995 *//* By M.Tachibana 1997/10/17 */ if (det_cng_ring_flag == 0) { if (CHK_UNI_NoRingTel2Detachable()) { CONT_24V_On(); } } det_cng_ring_flag = 1; /*--------------------------------*/ /** 疑似ベル・呼出ブザーON期間 */ /*--------------------------------*/ counter = 0; /*----------------------------------------------------*/ /** 留守番電話誤着信・回線断防止対策(田村TA-60対策) */ /*----------------------------------------------------*/ GenerateRingPreventRelayControl(ringing_tel); while ((counter < 12 ) && (GRS_DetectStopKeyInput() != STOP ) #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ && (SYS_HookKeyInputFlag == 0 ) #endif /* defined (KEISATSU) */ && (GRS_Tel1OhCounter < GENERAL_RING_OFF_HOOK_MAX) && (GRS_Tel2OhCounter < GENERAL_RING_OFF_HOOK_MAX)) { /*-----------------------------------*/ /** 付属/外付電話のOH情報の取込み */ /*-----------------------------------*/ OhPortStatusRead(); #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ if (!ModemRelaySetting()) { /** 標準ラインに接続された場合 */ if (OffHook1() && !HDST_RelaySetting()){ /* ハンドセットは標準回線でOFFHOOK状態 */ Is_HDST_Offhook = TRUE; } else { Is_HDST_Offhook = FALSE; } if ( !(NCU_LineStatus & EXT_HDST_OFFHOOK) && !(SYS_CalledLineNumber & SYS_EXT_LINE_IN_CI)) { /* 付属電話は拡張回線でオフフックではない */ HDST_RelayOff(); /* ハンドセットを標準回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } else { if (OffHook1() && HDST_RelaySetting()){ /* ハンドセットは拡張回線でOFFHOOK状態 */ Is_HDST_Offhook = TRUE; } else { Is_HDST_Offhook = FALSE; } if ( !(NCU_LineStatus & STD_HDST_OFFHOOK) ) { /* 付属電話は標準回線でオフフックではない */ HDST_RelayOn(); /* ハンドセットを拡張回線に接続する */ /* 警察FAX DVT_ID36 Added by SMuratec 夏 2005/11/11 */ /* 付属電話を呼び出し回線に切換の場合、LCDで更新します。*/ UpdateLCD(); } } #endif /* defined (KEISATSU) */ if (!(CHK_600PhoneAvailable())) { if (OhPortStatus & (TEL1_OFF_HOOK | TEL2_OFF_HOOK)) { #if defined (KEISATSU) /* 警察FAX Modify by SMuratec 李 2005/09/19 */ if ((OhPortStatus & TEL1_OFF_HOOK) && !ModemRelaySetting()) { #else /* !defined (KEISATSU) */ if (OhPortStatus & TEL1_OFF_HOOK) { #endif /* defined (KEISATSU) */ GRS_Tel1OhCounter++; } else { GRS_Tel1OhCounter = 0; } #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/15 */ if ((OhPortStatus & TEL2_OFF_HOOK) && ModemRelaySetting()) { GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } #endif /* defined (KEISATSU) */ #if (PRO_LINENUMBER == TWICE_LINE) /* 疑似2回線仕様 by T.Soneoka 1997/12/1 */ if (!CHK_Phone2ExtLineOn()) { /** PHONE2リレー設定が標準ラインの場合 */ if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } } #else if (OhPortStatus & TEL2_OFF_HOOK) { GRS_Tel2OhCounter++; } else { GRS_Tel2OhCounter = 0; } #endif GRB_RingAndBellOn(); } else { /*-----------------------------*/ /** 疑似ベル・呼出ブザーON */ /*-----------------------------*/ GRS_Tel1OhCounter = 0; GRS_Tel2OhCounter = 0; GRB_RingAndBellOn(); } } else { /*-----------------------------*/ /** 疑似ベル・呼出ブザーON */ /*-----------------------------*/ GRS_Tel1OhCounter = 0; GRS_Tel2OhCounter = 0; GRB_RingAndBellOn(); } #if (PRO_BT_DET_WHILE_RBT == ENABLE) /* 疑似ベル鳴動中のBusyTone検出 *//* Add By O.Kimoto 2002/03/11 */ IsTelFaxRingSend = 1; /* 2002/03/05 O.Oshima */ #endif /* endof (PRO_BT_DET_WHILE_RBT == ENABLE) 2002/02/25 M.Iida */ counter++; } /*-----------------------------------------------------*/ /** 留守番電話誤着信・回線断防止対策(田村TA-60対策) */ /*-----------------------------------------------------*/ GenerateRingPreventRelayControl(ringing_tel); } /*--------------------*/ /** 呼出ブザーOFF */ /*--------------------*/ BuzzerOffSetting(SYS_SPK_OUT_FAKERINGER); SCN_SetBuzzer(SCN_DISABLE); /*---------------*/ /** 疑似ベル OFF */ /*---------------*/ GenerateRingKeyOff(); if ((DetectStopKeyInputFlag == 0) && (SYS_HookKeyInputFlag == 0)) { if (GRS_Tel1OhCounter >= GENERAL_RING_OFF_HOOK_MAX) { #if ( PRO_DIALIN == ENABLE ) if (NCUStatus & DIALIN_RECEIVE_STATE) { TxGenerateRingSignalTaskMsg.Message = DETECT_TEL1_OFF_HOOK; snd_msg(tx_mail_box_no, &TxGenerateRingSignalTaskMsg); } else{ #endif NCUStatus &= ~TELEPHONE2_OFF_HOOK; NCUStatus |= TELEPHONE1_OFF_HOOK; #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ if (Is_HDST_Offhook) { NCU_LineStatus &= ~EXT_HDST_OFFHOOK; NCU_LineStatus |= STD_HDST_OFFHOOK; /* 付属電話は標準回線でオフフック */ SYS_MachineStatus[SYS_OTHER_STATUS] &= ~SYS_HDST_EXT_OFFHOOK; SYS_MachineStatus[SYS_OTHER_STATUS] |= SYS_HDST_STD_OFFHOOK; SYS_LineTelStatus |= STD_USED_IN_HDST; } else { SYS_LineTelStatus |= STD_USED_IN_EXT; } #if 0 /* 会話予約によって特番機能消去 Deleted By SMuratec 李 2005/10/14 */ ** SYS_RingCounter = 1; ** if (!(SYS_CalledLineNumber & SYS_TWICE_LINE_IN_CI)) { ** RingStatus = RING_STATUS_INITIAL; ** } #endif #endif /* defined (KEISATSU) */ TxGenerateRingSignalTaskMsg.Message = FCOM_TEL1_OFF_HOOK; snd_msg(tx_mail_box_no, &TxGenerateRingSignalTaskMsg); #if ( PRO_DIALIN == ENABLE ) } #endif } else { if (GRS_Tel2OhCounter >= GENERAL_RING_OFF_HOOK_MAX) { #if ( PRO_DIALIN == ENABLE ) if( NCUStatus & DIALIN_RECEIVE_STATE ){ TxGenerateRingSignalTaskMsg.Message = DETECT_TEL2_OFF_HOOK; snd_msg( tx_mail_box_no, &TxGenerateRingSignalTaskMsg); } else { #endif NCUStatus &= ~TELEPHONE1_OFF_HOOK; NCUStatus |= TELEPHONE2_OFF_HOOK; #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ if (Is_HDST_Offhook) { NCU_LineStatus &= ~STD_HDST_OFFHOOK; NCU_LineStatus |= EXT_HDST_OFFHOOK; /* 付属電話は標準回線でオフフック */ SYS_MachineStatus[SYS_OTHER_STATUS] &= ~SYS_HDST_STD_OFFHOOK; SYS_MachineStatus[SYS_OTHER_STATUS] |= SYS_HDST_EXT_OFFHOOK; SYS_LineTelStatus |= EXT_USED_IN_HDST; } else { SYS_LineTelStatus |= EXT_USED_IN_EXT; } #if 0 /* 会話予約によって特番機能消去 Deleted By SMuratec 李 2005/10/14 */ ** SYS_RingCounterExt = 1; ** if (!(SYS_CalledLineNumber & SYS_TWICE_LINE_IN_CI)) { ** RingStatus = RING_STATUS_INITIAL; ** } #endif #endif /* defined (KEISATSU) */ TxGenerateRingSignalTaskMsg.Message = FCOM_TEL2_OFF_HOOK; snd_msg( tx_mail_box_no, &TxGenerateRingSignalTaskMsg); #if ( PRO_DIALIN == ENABLE ) } #endif } } } else { if (!SYS_HookKeyInputFlag) { #if ( PRO_DIALIN == ENABLE ) if (NCUStatus & DIALIN_RECEIVE_STATE) { TxGenerateRingSignalTaskMsg.Message = DETECT_INPUT_STOP_KEY; snd_msg( tx_mail_box_no, &TxGenerateRingSignalTaskMsg); } else { #endif TxGenerateRingSignalTaskMsg.Message = FCOM_STOP_KEY; snd_msg( tx_mail_box_no, &TxGenerateRingSignalTaskMsg); #if ( PRO_DIALIN == ENABLE ) } #endif } else { #if ( PRO_DIALIN == ENABLE ) if (NCUStatus & DIALIN_RECEIVE_STATE) { TxGenerateRingSignalTaskMsg.Message = DETECT_INPUT_HOOK_KEY; snd_msg( tx_mail_box_no, &TxGenerateRingSignalTaskMsg); } else { #endif NCUStatus |= HOOK_KEY_ON_STATE; SYS_HookKeyInputFlag = 0; HookKeyInputFlag = 0; #if defined (KEISATSU) /* 警察FAX Added by SMuratec 李 2005/09/17 */ #if 0 /* 会話予約によって特番機能消去 Deleted By SMuratec 李 2005/10/14 */ ** if (!ModemRelaySetting()) { /** 標準ラインに接続された場合 */ ** SYS_RingCounter = 1; ** } ** else { ** SYS_RingCounterExt = 1; ** } ** if (!(SYS_CalledLineNumber & SYS_TWICE_LINE_IN_CI)) { ** RingStatus = RING_STATUS_INITIAL; ** } #endif #endif /* defined (KEISATSU) */ TxGenerateRingSignalTaskMsg.Message = FCOM_HOOK_KEY; snd_msg( tx_mail_box_no, &TxGenerateRingSignalTaskMsg); #if ( PRO_DIALIN == ENABLE ) } #endif }