找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 8433|回复: 10

[CSR8系列] 请教:ADK3.5 8670如何实现pbap的获取?

[复制链接]
连续签到天数:1天
签到总天数:1052天
签到总奖励:14870金币
发表于 2015-8-15 12:00:05 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
先前看了论坛里放出的那个视频,尝试在8670上获取电话本,但是不成功,有没有做过的大师出来指点一下,感谢
1.在ADK中使能pbap,“vm-sink”->"properties"->"build system"->"General"->"PBAP" 改为“Enable”,然后编译,下载,pskey下载
2.在configtool中“profile”->"PBAP" 勾选enable pbap 写入,reset
3.代码中添加
sink_private.h
  1. /* runtime data stored in block */
  2. typedef struct
  3. {
  4. #ifdef ENABLE_GAIA   
  5.     gaia_settings_t        gaia_data;
  6. #endif            
  7.     sink_battery_limits battery_limits;
  8.     defrag_config          defrag;  
  9.     uint16                 old_state;
  10.     uint16                 connection_in_progress; /* flag used to block role switch requests until all connections are complete or abandoned */
  11.    
  12. #ifdef ENABLE_SQIFVP  
  13.     unsigned               partitions_mounted:8;  /* mask of SQIF partitons currently mounted */
  14.     unsigned               partitions_free:8;     /* mask of SQIF partitions available to use */
  15. #endif
  16.    
  17. #ifdef ENABLE_MAPC
  18.     /* Data for mapc feature */
  19.     mapcData_t             mapc_data;   
  20. #endif   
  21.     /* runtime data for the currently routed audio source */
  22.     audio_sources          requested_audio_source;
  23.     audio_sources          routed_audio_source;

  24. #ifdef ENABLE_PARTYMODE
  25.     pty_pause_state_t       partymode_pause;
  26. #endif
  27.    
  28.     /* task data for codec lib */
  29.     CsrInternalCodecTaskData codec;
  30.     /*WolfsonCodecTaskData     codec;*//* - if using Wolfson codec */


  31. /* Input manager data */
  32. #if defined(ENABLE_IR_REMOTE) || (defined(BLE_ENABLED) && defined(GATT_CLIENT_ENABLED))
  33.     inputManagerTaskData_t  inputManager;
  34. #if (defined(BLE_ENABLED) && defined(GATT_CLIENT_ENABLED))
  35.     bleHidRCTaskData_t      bleInputMonitor;
  36. #endif
  37. #ifdef ENABLE_IR_REMOTE
  38.     irRCTaskData_t          irInputMonitor;
  39. #endif
  40. #endif /* Input manager data */

  41. #ifdef ENABLE_SUBWOOFER
  42.     subwooferData_t         subwoofer;
  43. #endif

  44. #ifndef GATT_DISABLED
  45.     gattRuntimeData_t       gatt;
  46. #endif
  47.    
  48. <font color="#ff0000">    /*add pbap*/
  49.     uint8 numname[20];
  50.     uint16 numsize;
  51.     /*add end*/</font>
  52. }runtime_block1_t;
复制代码

sink_pbap.c中 修改handleAppPullVcardList()
  1. static void handleAppPullVcardList(void)
  2. {
  3.     PBAP_DEBUG(("PBAPC_APP_PULL_VCARD_LIST, "));
  4.     if(theSink.pbapc_data.pbap_active_link != pbapc_invalid_link)
  5.     {
  6.         PbapcPullvCardListParams *pParams = (PbapcPullvCardListParams *)mallocPanic(sizeof(PbapcPullvCardListParams));
  7.         if(pParams)
  8.         {
  9.             memset(pParams, 0, sizeof(PbapcPullvCardListParams));

  10.             pParams->order    = pbap_order_idx;
  11.             pParams->srchAttr = pbap_search_number;
  12.             /*====modify pbap====*/
  13.             /*
  14.             pParams->srchVal  = NULL;
  15.             pParams->srchValLen = 0;
  16.             */
  17. <font color="#ff0000">            pParams->srchVal  = theSink.rundata->numname;
  18.             pParams->srchValLen = theSink.rundata->numsize;</font>
  19.             /*====modify end====*/
  20.             pParams->maxList    = PBAPC_MAX_LIST;
  21.             pParams->listStart  = PBAPC_LIST_START;
  22.    
  23.                        PbapcPullVcardListingRequest( theSink.pbapc_data.pbap_active_link, pbap_root, pParams );
  24.                
  25.             freePanic(pParams);
  26.         }
  27.     }
  28.     else
  29.         {
  30.             PBAP_DEBUG(("    Pbap in incorrect state\n"));
  31.         }
  32. }
复制代码


main.c 中函数static void handleHFPMessage  ( Task task, MessageId id, Message message )里修改如下:
  1. case HFP_CALLER_ID_IND:
  2.         {
  3.             /*====add pbap====*/
  4. <font color="#ff0000">            uint8 k;</font>
  5.             /*====add pbap end====*/
  6.             HFP_CALLER_ID_IND_T *ind = (HFP_CALLER_ID_IND_T *) message;

  7.             /* ensure this is not a HSP profile */
  8.             MAIN_DEBUG(("HFP_CALLER_ID_IND number %s", ind->caller_info + ind->offset_number));
  9.             MAIN_DEBUG((" name %s\n", ind->caller_info + ind->offset_name));
  10.             /*====add pbap====*/
  11.             /*根据来电的号码*/
  12.             theSink.rundata->numsize = ind->size_number;
  13.             if(theSink.rundata->numsize>0)
  14.                     {
  15.                         for(k=0;k<=ind->size_number;k++)
  16.                                 {
  17.                                         theSink.rundata->numname[k]=ind->caller_info[k];
  18.                                 }
  19.                 }
  20.             /*读取手机列表里边的名字*/
  21.             MessageCancelAll(&theSink.task,EventUsrPbapBrowseList);
  22.             MessageSendLater(&theSink.task,EventUsrPbapBrowseList,0,100);
  23.             /*====add pbap end====*/
  24.             
  25.             /* Show name or number on display */
  26.             if (ind->size_name)
  27.                 displayShowSimpleText((char *) ind->caller_info + ind->offset_name, 1);
  28.             
  29.             else
  30.                 displayShowSimpleText((char *) ind->caller_info + ind->offset_number, 1);
  31.                
  32.             /* Attempt to play caller name */
  33.             if(!AudioPromptPlayCallerName (ind->size_name, ind->caller_info + ind->offset_name))
  34.             {
  35.                 /* Caller name not present or not supported, try to play number */
  36.                 AudioPromptPlayCallerNumber(ind->size_number, ind->caller_info + ind->offset_number) ;
  37.             }
  38.         }
  39.    
  40.     break;
复制代码


楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
连续签到天数:1天
签到总天数:584天
签到总奖励:12689金币
发表于 2015-8-18 15:01:31 | 显示全部楼层
那么楼主 解决了没有啊,,,我也想知道
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:666天
签到总奖励:9548金币
发表于 2015-8-20 15:29:38 | 显示全部楼层
mark!
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:885天
签到总奖励:8232金币
发表于 2015-8-20 20:35:19 | 显示全部楼层
路过看看!
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:21天
签到总天数:3191天
签到总奖励:113663金币
发表于 2015-8-25 09:16:41 | 显示全部楼层
楼主,没消息呢,搞掂没呢?
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:1052天
签到总奖励:14870金币
 楼主| 发表于 2015-8-26 13:27:46 | 显示全部楼层
没解决,看来没人愿意说的
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:666天
签到总奖励:9548金币
发表于 2015-8-26 13:39:49 | 显示全部楼层
把语音报号功能加上试试
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:584天
签到总奖励:12689金币
发表于 2015-8-26 14:58:58 | 显示全部楼层
路过学习学习....积累知识
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:41天
签到总奖励:819金币
发表于 2015-8-28 13:16:52 | 显示全部楼层
估计你这个 case 就没有走吧。。。case HFP_CALLER_ID_IND:

积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:584天
签到总奖励:12689金币
发表于 2016-4-12 11:34:58 | 显示全部楼层
请问楼主解决了吗? 来电显示name
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-28 07:21 , Processed in 0.202231 second(s), 24 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表