⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 joetoevb.c

📁 台湾凌阳方案300万数码相机源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
			  UI_Buzzer();

			  L2_TurnOnOffDisplay(1);
			  DELAY_1s();

	                  while ((XBYTE[0x2040] & 0x04) > 0);
			  //DbgPrint("L2_TurnOnOffDisplay2=%bu\n",2);
	                  L2_TurnOnOffDisplay(0);
	                  L2_SetGPIOBit(14,0);     //Power off

	                  while(1);
     	             }
                }
	  }
     }
     #endif
}
//*/
//Davis:patch2.0 close end=======================================================

//=============================================================================
//UI_LowPowerDetect
//=============================================================================
void UI_LowPowerDetect(void) USING_0
{
     USHORT status;
     UCHAR FOSD_H_num, FOSD_V_num;

if (!DeletLowBattEN)
	return;


     UI_GetFOSDSize(&FOSD_H_num, &FOSD_V_num);
#if (K_BATT_SEG_TOTAL == 1)
     if ((G_LowPowerCount == 0) && (G_BatteryStatus == K_BATTERY_STATUS_EMPTY))
     {
	G_BatteryStatus = K_BATTERY_STATUS_HIGH;

	status = G_UIStatus & 0xff00;

	if (status == K_UISTATUS_DSC_PLAY)
     	{


		if   ( G_StayInMenu ==0)
		UI_PlaybackStatusOSD();
	}
	else
	{
		if  ( G_StayInMenu ==0)
		UI_PreviewStatusOSD();
	}

        UI_Buzzer();
     }

     if ((G_LowPowerCount >= 5) && (G_BatteryStatus == K_BATTERY_STATUS_HIGH))	//2 sec
     {
	G_BatteryStatus = K_BATTERY_STATUS_EMPTY;

	status = G_UIStatus & 0xff00;
	UI_FlashLight_Power(0);
	G_FlashCharging = 0;
	G_FlashChargeFlag=0;//wendy@2004/9/8
	G_FlashChargeCount=0;//wendy@2004/9/8
	G_FlashChargingCount = 0;
	UI_BusyLed(0);
	//wendy@2004/9/9
	L2_SetGPIOBit(14,1);	//POWER_CTRL
	L2_TurnOnOffDisplay (1);  //debug
						//wendy@2004/9/9
	G_FlashChargeFlag=0;//wendy@2004/9/8
	G_FlashStatus = K_FlashLightOff;
	UI_BusyLed(0);//wendy@2004/9/9
	L2_SetFOSDIndex(0,FOSD_H_num-9,G_FlashStatus*2 + 0x12);
	L2_SetFOSDAttr(0,FOSD_H_num-9, UI_MENU_DEHIGHLIGHT_COLOR);
	L2_SetFOSDIndex(0,FOSD_H_num-8,G_FlashStatus*2 + 0x13);
	L2_SetFOSDAttr(0,FOSD_H_num-8, UI_MENU_DEHIGHLIGHT_COLOR);
	if (status == K_UISTATUS_DSC_PLAY)
     	{
		if   ( G_StayInMenu ==0)
		UI_PlaybackStatusOSD();
	}
	else
	{
		if  ( G_StayInMenu ==0)
		UI_PreviewStatusOSD();
	}

        UI_Buzzer();
     }

     if ((G_LowPowerCount >= 8) && (G_BatteryStatus == K_BATTERY_STATUS_EMPTY) && (G_FlashCharging == 0))	//Power off after low power signal is kept detected for 30 sec
     	{
	UI_Save_NAND_UiParameters();
	UI_ShowLowBattery();

	L2_TurnOnOffDisplay (1);  //debug
//	L2_SetGPIOBit(15,1);  //wendy@2004/9/8//TFT power
	UI_FlashLight_Power(0);

	UI_Buzzer();
	DELAY_100ms();
	UI_Buzzer();
	DELAY_100ms();
	DELAY_100ms();
	UI_Buzzer();
	DELAY_100ms();
	DELAY_100ms();
	UI_ClearFOSD(25,8,0x00);

	UI_ShowGoodBye();
	DELAY_100ms();
	DELAY_1s();
	UI_Buzzer();
	DELAY_100ms();
	DELAY_100ms();
	L2_ConfigGPIOBit(14,1);
	L2_SetGPIOBit(16,0);  //wendy@2004/9/8//TFT power	//add for debug
	L2_TurnOnOffDisplay (0);  //debug
	L2_SetGPIOBit(14,0);     //Power off
	  UI_CardPowerOnOff(0);//add for debug
	 L2_Suspend_UI(0);
	 G_AutoPowerOffCount=0;
	 L2_Resume_UI();
	 //wendy@2004/9/8

     }
#endif

#if (K_BATT_SEG_TOTAL == 2)
     if ((G_MidPowerCount == 0) && (G_BatteryStatus == K_BATTERY_STATUS_LOW)){
		G_BatteryStatus = K_BATTERY_STATUS_HIGH;
		status = G_UIStatus & 0xff00;
		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}
        	UI_Buzzer();
     }
     if ((G_MidPowerCount >= 5) && (G_BatteryStatus == K_BATTERY_STATUS_HIGH)) //2 sec
     {
		G_BatteryStatus = K_BATTERY_STATUS_LOW;

		status = G_UIStatus & 0xff00;
		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}
	       UI_Buzzer();
     }

     if ((G_LowPowerCount == 0) && (G_BatteryStatus == K_BATTERY_STATUS_EMPTY)){
		G_BatteryStatus = K_BATTERY_STATUS_LOW;
		status = G_UIStatus & 0xff00;
		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}
	       UI_Buzzer();
     }

     if ((G_LowPowerCount >= 5) && (G_BatteryStatus == K_BATTERY_STATUS_LOW))	//2 sec
     {
	G_BatteryStatus = K_BATTERY_STATUS_EMPTY;

	status = G_UIStatus & 0xff00;

		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}

        UI_Buzzer();
     }

     if ((G_LowPowerCount >= 6) && (G_BatteryStatus == K_BATTERY_STATUS_EMPTY) && (G_FlashCharging == 0))	//Power off after low power signal is kept detected for 30 sec
     {
		UI_Save_NAND_UiParameters();
		UI_ShowLowBattery();
		L2_TurnOnOffDisplay(1);

		UI_Buzzer();
		DELAY_100ms();
		DELAY_100ms();
		UI_Buzzer();
		DELAY_100ms();
		DELAY_100ms();
		UI_Buzzer();

		DELAY_1s();
		UI_ClearFOSD(25,8,0x00);

		UI_ShowGoodBye();

		DELAY_1s();
		UI_Buzzer();
		DELAY_100ms();
	L2_SetGPIOBit(6,0);  //wendy@2004/9/8//TFT power	//add for debug
	DELAY_10ms();
	//L2_ConfigGPIOBit(14,1);
		DELAY_10ms();
	L2_SetGPIOBit(15,0);  //wendy@2004/9/8//TFT power	//add for debug
	DELAY_10ms();
	L2_SetGPIOBit(16,0);  //wendy@2004/9/8//TFT power	//add for debug

	//L2_TurnOnOffDisplay (0);  //debug
	L2_SetGPIOBit(14,0);     //Power off
     }
#endif

#if (K_BATT_SEG_TOTAL == 3)
     if ((G_HighPowerCount == 0) && (G_BatteryStatus == K_BATTERY_STATUS_MID))
     {
	G_BatteryStatus = K_BATTERY_STATUS_HIGH;

	status = G_UIStatus & 0xff00;
		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}

        UI_Buzzer();
     }

     if ((G_HighPowerCount >= 5) && (G_BatteryStatus == K_BATTERY_STATUS_HIGH)) //2 sec
     {
	G_BatteryStatus = K_BATTERY_STATUS_MID;

	status = G_UIStatus & 0xff00;

		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}

        UI_Buzzer();
     }

     if ((G_MidPowerCount == 0) && (G_BatteryStatus == K_BATTERY_STATUS_LOW))
     {
	G_BatteryStatus = K_BATTERY_STATUS_MID;

	status = G_UIStatus & 0xff00;

		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}

        UI_Buzzer();
     }

     if ((G_MidPowerCount >= 5) && (G_BatteryStatus == K_BATTERY_STATUS_MID)) //2 sec
     {
	G_BatteryStatus = K_BATTERY_STATUS_LOW;

	status = G_UIStatus & 0xff00;

		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}

        UI_Buzzer();
     }

     if ((G_LowPowerCount == 0) && (G_BatteryStatus == K_BATTERY_STATUS_EMPTY))
     {
	G_BatteryStatus = K_BATTERY_STATUS_LOW;

	status = G_UIStatus & 0xff00;

		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}

        UI_Buzzer();
     }

     if ((G_LowPowerCount >= 5) && (G_BatteryStatus == K_BATTERY_STATUS_LOW))	//2 sec
     {
	G_BatteryStatus = K_BATTERY_STATUS_EMPTY;

	status = G_UIStatus & 0xff00;
		if (status == K_UISTATUS_DSC_PREVIEW)
	         	{
			if  ( G_StayInMenu ==0)
			UI_PreviewStatusOSD();
			}
		else
			 {
			if   ( G_StayInMenu ==0)
			UI_PlaybackStatusOSD();
			}

        UI_Buzzer();
     }

     if ((G_LowPowerCount >= 6) && (G_BatteryStatus == K_BATTERY_STATUS_EMPTY) && (G_FlashCharging == 0))	//Power off after low power signal is kept detected for 30 sec
     {
	UI_Save_NAND_UiParameters();
	UI_ShowLowBattery();
	L2_TurnOnOffDisplay(1);

	UI_Buzzer();
	DELAY_100ms();
	DELAY_100ms();
	UI_Buzzer();
	DELAY_100ms();
	DELAY_100ms();
	UI_Buzzer();

	DELAY_1s();
	UI_ClearFOSD(25,8,0x00);

	UI_ShowGoodBye();

	DELAY_1s();
	UI_Buzzer();
	DELAY_100ms();

	while ((XBYTE[0x2040] & 0x04) > 0);
	//DbgPrint("L2_TurnOnOffDisplay5=%bu\n",5);
	L2_TurnOnOffDisplay(0);
	L2_SetGPIOBit(14,0);     //Power off
	while(1);
     }
#endif
}

//=============================================================================
//UI_AutoPowerOffDetect
//=============================================================================
void UI_AutoPowerOffDetect(void) USING_0
#if 0
{
	//	UCHAR FOSD_H_num, FOSD_V_num;
	//	UI_GetFOSDSize(&FOSD_H_num, &FOSD_V_num);
		G_AutoTimeInSec = 60;


		 if ((G_AutoPowerOffCount>=G_AutoTimeInSec)&&(G_CameraOptions.Timeout==1)&&(G_UI_USBConnect == K_UI_USB_DISCONNECT))	//0.1 sec unit//wendy
		 {

		 if (G_AutoPowerOffCount>=G_AutoTimeInSec)
		 {
			 UI_FlashLight_Power(0);

	//		 UI_PrintOSDNumber((SHORT)G_ucDataBuffer[28], 3, 4, 4);
	//		  DELAY_100ms();//wendy@2004/9/
			  UI_ShowGoodBye();
//    UI_PrintOSDNumber(G_AutoPowerOffCount, 2,1, 4);
//    UI_PrintOSDNumber(G_AutoTimeInSec, 2,4,4);

			UI_Save_NAND_UiParameters();
		//	UI_PrintOSDNumber((SHORT)G_Language, 3, 2, 4);
		//	UI_PrintOSDNumber((SHORT)G_ucDataBuffer[28], 3, 3, 4);


			  UI_Buzzer();
			DELAY_100ms();
			DELAY_100ms();
			  UI_Buzzer();

//			  L2_TurnOnOffDisplay(1);
			DELAY_1s();
			L2_TurnOnOffDisplay(0);
//			L2_SetGPIOBit(15,0);  //wendy@2004/9/8//TFT power
					//DbgPrint("L2_TurnOnOffDisplay1=%bu\n",1);
			DELAY_100ms();

//			L2_SetGPIOBit(16,0);  //wendy@2004/9/8//TFT power

			  L2_SetGPIOBit(14,0);	   //Power off
		  	while(1);
		 }
		 	}

	}
#else
{
	//	UCHAR FOSD_H_num, FOSD_V_num;
	//	UI_GetFOSDSize(&FOSD_H_num, &FOSD_V_num);
G_AutoTimeInSec = 145;
		 if ((G_AutoPowerOffCount>=G_AutoTimeInSec)&&(G_CameraOptions.Timeout==1)&&(G_UI_USBConnect == K_UI_USB_DISCONNECT))	//0.1 sec unit//wendy
		 {

		 if (G_AutoPowerOffCount>=G_AutoTimeInSec)
		 {
			 UI_FlashLight_Power(0);

	//		 UI_PrintOSDNumber((SHORT)G_ucDataBuffer[28], 3, 4, 4);
	//		  DELAY_100ms();//wendy@2004/9/
			  UI_ShowGoodBye();
//    UI_PrintOSDNumber(G_AutoPowerOffCount, 2,1, 4);
//    UI_PrintOSDNumber(G_AutoTimeInSec, 2,4,4);

			UI_Save_NAND_UiParameters();
		//	UI_PrintOSDNumber((SHORT)G_Language, 3, 2, 4);
		//	UI_PrintOSDNumber((SHORT)G_ucDataBuffer[28], 3, 3, 4);


			  UI_Buzzer();
			DELAY_100ms();
			DELAY_100ms();
			  UI_Buzzer();

//			  L2_TurnOnOffDisplay(1);
			DELAY_1s();
			L2_TurnOnOffDisplay(0);
//			L2_SetGPIOBit(15,0);  //wendy@2004/9/8//TFT power
					//DbgPrint("L2_TurnOnOffDisplay1=%bu\n",1);
			DELAY_100ms();

			L2_SetGPIOBit(16,0);  //wendy@2004/9/8//TFT power

			  L2_SetGPIOBit(14,0);	   //Power off
		  //	while(1);
		  UI_CardPowerOnOff(0);

		  L2_Suspend_UI(0);
		  G_AutoPowerOffCount=0;
		  L2_Resume_UI();
		 }
		 	}

	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -