亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? headset_battery.c

?? 藍牙立體聲耳機 firmware
?? C
字號:
/****************************************************************************
Copyright (C) Cambridge Silicon Radio Ltd. 2005-2006
Part of BlueLab 3.6.2-release

FILE NAME
    headset_battery.c
    
DESCRIPTION
    Reads the battery voltage and reports a low battery to main.

NOTES

	AIO_0 is connected to VBAT via a potential divider
	
	AIO_0 = VBAT *   Rb
				   -------
				   Ra + Rb
				   
	Where the Ra = 220k and Rb = 150k.
	
	If the battery is monitored internally, for example in BC5-MM, no 
	scaling is necessary. 
	
*/

#include "headset_battery.h"

#include "headset_private.h"

#include <pio.h>


#ifdef DEBUG_BAT
#define BAT_DEBUG(x) DEBUG(x)
#else
#define BAT_DEBUG(x) 
#endif 


#define BATTERY_READING_DELAY   30000

#ifdef DEV_1645
	/* Check INTERNAL value for low battery - around 3.5V */
	static bool IsBatteryLow(uint16 mv) {return mv<3500;}
	/* Check INTERNAL value for shut off battery level  - around 3.00V */
	static bool IsBatteryDead(uint16 mv) {return mv<3000;}
	/* battery full is indicated in firmware for this chip*/
	static bool IsBatteryFull(uint16 mv) {return 0;}
#else
	/* Check AIO0 for low battery - using equation above, is around 3.5V */
	static bool IsBatteryLow(uint16 mv) {return mv<1418;}
	/* Check AIO0 for shut off battery level  - using equation above, is around 3.32V */
	static bool IsBatteryDead(uint16 mv) {return mv<1345;}
	/* Check AIO0 for full battery - using equation above, is when around 4V */
	static bool IsBatteryFull(uint16 mv) {return mv>1650;}
#endif

/****************************************************************************
NAME    
    aio_handler
    
DESCRIPTION
  	AIO readings arrive here for processing
    
RETURNS
    void
*/
static void aio_handler(Task task, MessageId id, Message message)
{
	uint32	reading;
	
	/* This function receives messages from the battery library */
	aioTask* this_task = (aioTask*)task;
	battery_reading_source source = this_task->state.source;
    
    power_state state = ((headsetTaskData *)getAppTask())->headset_power_state;
    BAT_DEBUG(("BAT: state:%d\n",state));
    state = state;
	
	switch(id)
	{
		case BATTERY_READING_MESSAGE :		
			/* New reading, extract reading in mV and handle accordingly */
			reading = (*((uint32*)message));
		
			switch(source)
			{
                case AIO0:
				case BATTERY_INTERNAL:
                    BAT_DEBUG(("BAT: Reading in mV from AIO:%ld\n",reading));
                    if (IsBatteryDead(reading))
                    {                        
                        MessageSend(getAppTask(), APP_BATTERY_DEAD_IND, 0);
                    }
                    else if (IsBatteryLow(reading))
                    {                        
                        MessageSend(getAppTask(), APP_BATTERY_LOW_IND, 0);
                    }
                    else if (IsBatteryFull(reading))
                    {
                        MessageSend(getAppTask(), APP_BATTERY_FULL_IND, 0);
                    }
                    
                    break;
				case VDD:
                case AIO1:
				case AIO2:
                case AIO3:
                    
				default:
					break;
			}	
			break;
		default:
            BAT_DEBUG(("BAT: Unhandled Battery task; message id:0x%x\n",id));
			break;
	}
}



/****************************************************************************
NAME    
    batteryInit
    
DESCRIPTION
  	
    
RETURNS
    void
*/
void batteryInit(power_source_type *power)
{     
    battery_reading_source	bat_source;
    uint16                  reading_period;
    
    /* Setup of battery voltage reading */
    power->vbat_task.task.handler = aio_handler;
	#ifdef DEV_1645
		bat_source = BATTERY_INTERNAL;
	#else
    	bat_source = AIO0;
	#endif
    reading_period = BATTERY_READING_DELAY;
#ifndef DEV_1442
	BatteryInit(&power->vbat_task.state, &power->vbat_task.task, bat_source, reading_period);
#endif
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美亚洲国产精品字幕久久久| 曰韩精品一区二区| 在线电影一区二区三区| 成人aa视频在线观看| 国产成人一区在线| 亚洲.国产.中文慕字在线| 亚洲裸体xxx| 精品在线播放免费| 青青草一区二区三区| 日韩精品亚洲一区二区三区免费| 裸体一区二区三区| 国产丶欧美丶日本不卡视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产成人av一区二区| 性做久久久久久| 理论片日本一区| 国产成人精品一区二区三区四区 | 亚洲一区二区欧美日韩| 亚洲成人你懂的| 精品久久久久久无| 欧美片网站yy| 色综合色综合色综合色综合色综合 | 91蜜桃传媒精品久久久一区二区| 久久国产综合精品| 欧美精品一区在线观看| 精品污污网站免费看| 精品少妇一区二区三区日产乱码| 中文字幕一区在线观看视频| 日韩一区二区免费视频| 成人精品国产福利| 丁香婷婷综合色啪| 不卡视频在线看| 色综合久久99| 6080日韩午夜伦伦午夜伦| 日韩欧美视频在线| 国产午夜精品一区二区三区四区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久国产尿小便嘘嘘尿| 激情综合一区二区三区| 国产91对白在线观看九色| 一本一道综合狠狠老| 91精品国产全国免费观看 | 尤物在线观看一区| 天堂成人免费av电影一区| 精品一区二区综合| 成人精品一区二区三区中文字幕| 在线观看国产日韩| 精品粉嫩aⅴ一区二区三区四区| 久久久久国色av免费看影院| 亚洲激情男女视频| 久久www免费人成看片高清| 成人免费毛片a| 欧美亚洲另类激情小说| 国产日韩一级二级三级| 性久久久久久久久久久久 | 日韩一区二区精品在线观看| 欧美日韩另类一区| 中文字幕免费观看一区| 午夜精品福利在线| 成人av午夜影院| 欧美亚洲综合色| 日韩精品在线看片z| 欧美经典一区二区| 亚洲chinese男男1069| 国产91在线观看丝袜| 欧美精品视频www在线观看| 久久久99免费| 裸体健美xxxx欧美裸体表演| 色噜噜狠狠色综合中国| 国产精品免费av| 韩国v欧美v日本v亚洲v| 欧美美女激情18p| 亚洲精品午夜久久久| 国产91在线|亚洲| 欧美日韩精品欧美日韩精品一综合| 亚洲国产精品精华液ab| 国产呦萝稀缺另类资源| 欧美日韩色综合| 亚洲资源中文字幕| 一本到不卡免费一区二区| 国产亚洲精品久| 国产美女一区二区三区| 欧美精品vⅰdeose4hd| 亚洲五码中文字幕| 欧美午夜精品理论片a级按摩| 亚洲日本青草视频在线怡红院| 国产精品亚洲视频| 久久久久久久久99精品| 国产一区二区三区美女| 久久综合999| 国产伦精品一区二区三区视频青涩| 欧美成人一区二区三区片免费| 日本午夜一本久久久综合| 欧美一区二区精品在线| 免费人成网站在线观看欧美高清| 91精品国产丝袜白色高跟鞋| 亚洲高清不卡在线| 色综合天天狠狠| 亚洲bdsm女犯bdsm网站| 日韩欧美的一区| 国产成人精品免费网站| 国产精品久久久久久久久快鸭| 成人av电影在线网| 亚洲裸体在线观看| 欧美日韩视频在线观看一区二区三区 | 菠萝蜜视频在线观看一区| 日韩美女啊v在线免费观看| 成人av网站免费观看| 亚洲色图一区二区三区| 91丝袜美女网| 三级欧美在线一区| 精品盗摄一区二区三区| 日本aⅴ亚洲精品中文乱码| 欧美日韩在线免费视频| 久久不见久久见中文字幕免费| 久久久九九九九| 色综合咪咪久久| 免费观看久久久4p| 国产精品美日韩| 欧美日韩卡一卡二| 国产一区二区在线看| 亚洲乱码一区二区三区在线观看| 精品视频123区在线观看| 国产在线播放一区三区四| 亚洲天堂精品视频| 日韩美女一区二区三区四区| 成人高清伦理免费影院在线观看| 亚洲综合在线电影| 久久久久9999亚洲精品| 欧美日韩日本视频| 波多野洁衣一区| 亚洲另类色综合网站| 日韩免费高清av| 欧美综合色免费| 国产高清成人在线| 亚洲va韩国va欧美va精品| 精品剧情在线观看| 在线国产电影不卡| 国产乱码精品1区2区3区| 亚洲18女电影在线观看| 亚洲欧洲日韩综合一区二区| 91精品国产色综合久久| 色婷婷综合久久久中文字幕| 经典三级视频一区| 香蕉影视欧美成人| 亚洲欧美另类久久久精品2019| 久久久久久久久伊人| 欧美日韩视频专区在线播放| 97se亚洲国产综合自在线观| 国产一区二区三区免费| 麻豆精品国产91久久久久久| 亚洲综合一区二区精品导航| 亚洲视频在线一区二区| 久久天天做天天爱综合色| 欧美一区二区三区免费大片| 欧美三区在线观看| 91美女在线视频| 91亚洲资源网| 成人激情图片网| 久久精品国产亚洲一区二区三区| 一区二区三区在线视频观看| 中文字幕亚洲成人| 国产欧美一区视频| 国产天堂亚洲国产碰碰| www国产精品av| 久久久亚洲欧洲日产国码αv| 日韩精品中文字幕一区二区三区 | 秋霞午夜av一区二区三区| 亚州成人在线电影| 亚洲国产乱码最新视频| 亚洲综合色丁香婷婷六月图片| 一区二区在线看| 亚洲麻豆国产自偷在线| 亚洲一区二区精品久久av| 亚洲电影在线播放| 亚洲成人av一区二区| 日韩电影一二三区| 国产一区二区在线电影| 国产99久久精品| 日本道在线观看一区二区| 91成人网在线| 日韩一区二区三免费高清| 久久久久久久久免费| 日韩一区二区三区高清免费看看| 日韩一区二区三区三四区视频在线观看| 欧美一区二区在线观看| 久久综合色之久久综合| 中文在线资源观看网站视频免费不卡| 中国av一区二区三区| 一区二区三区在线免费视频| 日韩精品电影在线| 久久精工是国产品牌吗| 成人av在线一区二区| 91久久精品网| 精品国产91九色蝌蚪| 国产日韩欧美综合一区| 国产精品国产三级国产普通话蜜臀 | 男女男精品视频| 成人国产精品免费观看| 欧美日韩高清影院|