Example #1
0
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;
}
Example #2
0
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 ;
    }
}
Example #3
0
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;
	}

}
Example #4
0
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();
	
}
Example #5
0
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);
	}
}
Example #6
0
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	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
		}