#include "BT_Private.h"
#include "BT_Debug.h"
#include "BT_Init.h"
#include "BT_Event.h"
#include "BT_Uart.h"
BtTaskData Bluetooth;
typedef struct EVNET_POWER_ON EVNET_POWER_ON_T;
static void handleUEMessage(Task task, MessageId id, Message message)
{
switch (id){
case EventInvalid:
DEBUG(MAIN_DEBUG, ("EventInvalid\r\n"));
break;
case EventPowerOn:
DEBUG(MAIN_DEBUG, ("EventPowerOn\r\n"));
if(Bluetooth.btstate.iWork == FALSE){
Bluetooth.btstate.iWork = TRUE;
SendString(UART_CMD_SUCCEED);
SendString(UART_CMD_R_N);
}
else{
SendString(UART_CMD_FAILURE);
SendString(UART_CMD_R_N);
}
break;
case EventPowerOff:
DEBUG(MAIN_DEBUG, ("EventPowerOff\r\n"));
if(Bluetooth.btstate.iWork == TRUE){
Bluetooth.btstate.iWork = FALSE;
SendString(UART_CMD_SUCCEED);
SendString(UART_CMD_R_N);
}
else{
SendString(UART_CMD_FAILURE);
SendString(UART_CMD_R_N);
}
break;
case EventPairing:
DEBUG(MAIN_DEBUG, ("EventPairing\r\n"));
break;
case EventCancelPairing:
DEBUG(MAIN_DEBUG, ("EventCancelPairing\r\n"));
break;
case EventLaterEnd:
DEBUG(MAIN_DEBUG, ("EventLaterEnd\r\n"));
break;
default:
break;
}
}
static void HandlerSystemMessage(Task task, MessageId id, Message message)
{
switch(id){
case MESSAGE_MORE_DATA:
DEBUG(MAIN_DEBUG, ("MESSAGE_MORE_DATA\r\n"));
while(SourceSize(((MessageMoreData*)message)->source)){/*判断source端是否有数据*/
if(!UartSourceParse(((MessageMoreData*)message)->source))
break;
}
break;
default:
DEBUG(MAIN_DEBUG, ("Unhandled Message:%d[0x%0X]\r\n",id,id));
break;
}
}
/*当有信息传送给App_handler任务时,App_handler会被执行,task所带的参数为App_handler本身*/
static void App_handler(Task task, MessageId id, Message message)
{
if((id >= EVENTS_MESSAGE_BASE) && (id <= EVENTS_LAST_EVENT))
{
DEBUG(MAIN_DEBUG, ("EVENTS_MESSAGE[%x]\r\n", id));
handleUEMessage(task, id, message);
}
else if((id >= CL_MESSAGE_BASE) && (id <= CL_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("CL_MESSAGE[%x]\r\n", id));
}
else if((id >= SPP_MESSAGE_BASE) && (id <= SPP_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("SPP_MESSAGE[%x]\r\n", id));
}
else if((id >= OBEX_MESSAGE_BASE) && (id <= OBEX_MESSAGE_END))
{
DEBUG(MAIN_DEBUG, ("OBEX_MESSAGE[%x]\r\n", id));
}
else if((id >= PBAPC_MESSAGE_BASE) && (id <= PBAPC_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("PBAPC_MESSAG[%x]\r\n", id));
}
else if((id >= MAPC_MESSAGE_BASE) && (id <= MAPC_API_MESSAGE_END))
{
DEBUG(MAIN_DEBUG, ("MAPC_MESSAGE[%x]\r\n", id));
}
else if((id >= GATT_MESSAGE_BASE) && (id <= GATT_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("GATT_MESSAGE[%x]\r\n", id));
}
else if((id >= HFP_MESSAGE_BASE) && (id <= HFP_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("HFP_MESSAGE[%x]\r\n", id));
}
else if((id >= AGHFP_MESSAGE_BASE) && (id <= AGHFP_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("AGHFP_MESSAGE[%x]\r\n", id));
}
else if((id >= A2DP_MESSAGE_BASE) && (id <= A2DP_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("A2DP_MESSAGE[%x]\r\n", id));
}
else if((id >= AVRCP_MESSAGE_BASE) && (id <= AVRCP_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("AVRCP_MESSAGE[%x]\r\n", id));
}
else if((id >= BATT_REP_BASE) && (id <= BATT_REP_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("BATT_REP[%x]\r\n", id));
}
else if((id >= SWAT_MESSAGE_BASE) && (id <= SWAT_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("SWAT_MESSAGE[%x]\r\n", id));
}
else if((id >= CODEC_MESSAGE_BASE) && (id <= CODEC_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("CODEC_MESSAGE[%x]\r\n", id));
}
else if((id >= AUDIO_UPSTREAM_MESSAGE_BASE) && (id <= AUDIO_UPSTREAM_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("AUDIO_UPSTREAM_MESSAGE[%x]\r\n", id));
}
else if((id >= USB_DEVICE_CLASS_MSG_BASE) && (id <= USB_DEVICE_CLASS_MSG_TOP))
{
DEBUG(MAIN_DEBUG, ("USB_DEVICE_CLASS_MSG[%x]\r\n", id));
}
else if((id >= DISPLAY_UPSTREAM_MESSAGE_BASE) && (id <= DISPLAY_UPSTREAM_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("DISPLAY_UPSTREAM_MESSAGE[%x]\r\n", id));
}
else if((id >= POWER_MESSAGE_BASE) && (id <= POWER_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("POWER_MESSAGE[%x]\r\n", id));
}
else if((id >= FM_UPSTREAM_MESSAGE_BASE) && (id <= FM_UPSTREAM_MESSAGE_TOP))
{
DEBUG(MAIN_DEBUG, ("FM_UPSTREAM_MESSAGE[%x]\r\n", id));
}
else if((id >= MESSAGE_BLUESTACK_BASE_) && (id <= MESSAGE_STREAM_PARTITION_VERIFY))
{
DEBUG(MAIN_DEBUG, ("BLUESTACK_SYSTEM_MESSAGE[%x]\r\n", id));
HandlerSystemMessage(task, id, message);
}
else{
DEBUG(MAIN_DEBUG, ("The unknown message [%x]\r\n", id));
}
}
int main(void)
{
DEBUG(MAIN_DEBUG, ("Main start...\n"));
Bluetooth.task.handler = App_handler;
InitBluetoothData();
InitBluetoothComplete();
MessageLoop();
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Multi_Bluetooth_Versions1.0.zip (26个子文件)
BT_Uart.h 447B
Multi_Bluetooth.app 486KB
Multi_Bluetooth.map 27KB
BT_Init.h 147B
BT_Uart.c 4KB
image
vm.app 486KB
BT_Debug.h 152B
Multi_Bluetooth.release.mak 1KB
BT_Private.h 1KB
Multi_Bluetooth.sym 1.56MB
Main.c 6KB
BT_Event.h 307B
Multi_Bluetooth.dbg 8.39MB
Multi_Bluetooth.xip 1KB
BT_Init.c 403B
image.fs 456KB
Multi_Bluetooth.xiw 65B
depend
image.lst 14B
dsp.arch 6B
BT_Uart 4KB
flags.compile 308B
flags.merge 80B
BT_Init 3KB
flags.link 118B
Main 4KB
Multi_Bluetooth.xap 826KB
共 26 条
- 1
wangzx19891220
- 粉丝: 3
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页