@@ -94,6 +94,7 @@ err_t pin_req(void *arg,struct bd_addr *bdaddr);
9494err_t l2cap_connected (void * arg ,struct l2cap_pcb * l2cappcb ,u16_t result ,u16_t status );
9595err_t l2cap_accepted (void * arg ,struct l2cap_pcb * l2cappcb ,err_t err );
9696err_t acl_conn_complete (void * arg ,struct bd_addr * bdaddr );
97+ err_t acl_auth_complete (void * arg ,struct bd_addr * bdaddr );
9798err_t l2cap_disconnect_cfm (void * arg , struct l2cap_pcb * pcb );
9899err_t l2cap_disconnected_ind (void * arg , struct l2cap_pcb * pcb , err_t err );
99100
@@ -390,6 +391,7 @@ void BTE_Init(void)
390391
391392 hci_wlp_complete (acl_wlp_completed );
392393 hci_connection_complete (acl_conn_complete );
394+ hci_auth_complete (acl_auth_complete );
393395 hci_remote_name_req_complete (bte_read_remote_name_complete );
394396 hci_pin_req (pin_req );
395397 _CPU_ISR_Restore (level );
@@ -545,6 +547,54 @@ s32 BTE_ReadRemoteName(struct bd_addr *bdaddr, btecallback cb)
545547 return last_err ;
546548}
547549
550+ s32 BTE_ReadClockOffset (struct bd_addr * bdaddr , btecallback cb )
551+ {
552+ u32 level ;
553+ err_t last_err = ERR_OK ;
554+
555+ _CPU_ISR_Disable (level );
556+ btstate .cb = cb ;
557+ btstate .usrdata = NULL ;
558+ btstate .hci_cmddone = 0 ;
559+ hci_arg (& btstate );
560+ hci_read_clock_offset (bdaddr );
561+ _CPU_ISR_Restore (level );
562+
563+ return last_err ;
564+ }
565+
566+ /*s32 BTE_ReadRemoteVersionInfo(struct bd_addr *bdaddr, btecallback cb)
567+ {
568+ u32 level;
569+ err_t last_err = ERR_OK;
570+
571+ _CPU_ISR_Disable(level);
572+ btstate.cb = cb;
573+ btstate.usrdata = NULL;
574+ btstate.hci_cmddone = 0;
575+ hci_arg(&btstate);
576+ hci_read_remote_version_info(bdaddr);
577+ _CPU_ISR_Restore(level);
578+
579+ return last_err;
580+ }
581+
582+ s32 BTE_ReadRemoteFeatures(struct bd_addr *bdaddr, btecallback cb)
583+ {
584+ u32 level;
585+ err_t last_err = ERR_OK;
586+
587+ _CPU_ISR_Disable(level);
588+ btstate.cb = cb;
589+ btstate.usrdata = NULL;
590+ btstate.hci_cmddone = 0;
591+ hci_arg(&btstate);
592+ hci_read_remote_features(bdaddr);
593+ _CPU_ISR_Restore(level);
594+
595+ return last_err;
596+ }*/
597+
548598s32 BTE_LinkKeyRequestReply (struct bd_addr * bdaddr ,u8 * key )
549599{
550600 u32 level ;
@@ -1022,6 +1072,15 @@ err_t acl_conn_complete(void *arg,struct bd_addr *bdaddr)
10221072 //printf("acl_conn_complete\n");
10231073 //memcpy(&(btstate.acl_bdaddr),bdaddr,6);
10241074
1075+ hci_auth_req (bdaddr );
1076+ return ERR_OK ;
1077+ }
1078+
1079+ err_t acl_auth_complete (void * arg ,struct bd_addr * bdaddr )
1080+ {
1081+ //printf("acl_auth_complete\n");
1082+ //memcpy(&(btstate.acl_bdaddr),bdaddr,6);
1083+
10251084 hci_write_link_policy_settings (bdaddr ,0x0005 );
10261085 return ERR_OK ;
10271086}
@@ -1593,11 +1652,11 @@ err_t bte_hci_initsub_complete(void *arg,struct hci_pcb *pcb,u8_t ogf,u8_t ocf,u
15931652 } else
15941653 err = ERR_CONN ;
15951654 } else if (ocf == HCI_W_SCAN_EN_OCF ) {
1596- if (result == HCI_SUCCESS ) {
1655+ /* if(result==HCI_SUCCESS) {
15971656 hci_write_authentication_enable(0x01);
15981657 } else
15991658 err = ERR_CONN;
1600- } else if (ocf == HCI_W_AUTH_ENABLE_OCF ) {
1659+ } else if(ocf==HCI_W_AUTH_ENABLE_OCF) {*/
16011660 if (result == HCI_SUCCESS ) {
16021661 hci_cmd_complete (NULL );
16031662 return __bte_cmdfinish (state ,ERR_OK );
0 commit comments