📄 btcommon.cpp
字号:
#include "btcommon.h"#include "btappcbk.h"bool ParseBtAddr(const char* buf, BTUINT8* addr){ if (!buf || !addr) return false; int i; char* str = (char*)buf; char* token; i = BTSDK_BDADDR_LEN - 1; while ((str = strtok_r(str, ":", &token)) != NULL) { addr[i] = (BTUINT8)strtol(str, NULL, 16); str = token; i--; } return true;}void OutputBtAddr(const BTUINT8* bd_addr){ for (int j = 5; j > 0; j--) printf("%02x:", bd_addr[j]); printf("%02x", bd_addr[0]); printf("\n");}void RegAppIndHandle(){ BtSdkCallBackStru cb; cb.type = BTSDK_PIN_CODE_REQ_IND; cb.func = (void*)BtsdkAppCallback::HandlePinReqInd; Btsdk_RegisterCallback(&cb); // 加上就得不到 BTSDK_PIN_CODE_REQ_IND 回调 // cb.type = BTSDK_LINK_KEY_REQ_IND; // cb.func = (void*)BtsdkAppCallback::HandleLinkKeyReqInd; // Btsdk_RegisterCallback(&cb); // cb.type = BTSDK_LINK_KEY_NOTIF_IND; // cb.func = (void*)BtsdkAppCallback::HandleLinkKeyNotifInd; // Btsdk_RegisterCallback(&cb); // cb.type = BTSDK_AUTHENTICATION_FAIL_IND; // cb.func = (void*)BtsdkAppCallback::HandleAuthenticationFailInd; // Btsdk_RegisterCallback(&cb); cb.type = BTSDK_INQUIRY_RESULT_IND; cb.func = (void*)BtsdkAppCallback::HandleInquiryResultInd; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_INQUIRY_COMPLETE_IND; cb.func = (void*)BtsdkAppCallback::HandleInquiryCompleteInd; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_AUTHORIZATION_IND; cb.func = (void*)BtsdkAppCallback::HandleAuthorizationReqInd; Btsdk_RegisterCallback(&cb); // cb.type = BTSDK_AUTHORIZATION_ABORT_IND; // cb.func = (void*)BtsdkAppCallback::HandleAuthorAbortInd; // Btsdk_RegisterCallback(&cb); // cb.type = BTSDK_CONNECTION_REQUEST_IND; // cb.func = (void*)BtsdkAppCallback::HandleConnectionRequestInd; // Btsdk_RegisterCallback(&cb); // cb.type = BTSDK_CONNECTION_COMPLETE_IND; // cb.func = (void*)BtsdkAppCallback::HandleConnectionCompleteInd; // Btsdk_RegisterCallback(&cb); cb.type = BTSDK_CONNECTION_EVENT_IND; cb.func = (void*)BtsdkAppCallback::HandleConnectionCompleteInd; Btsdk_RegisterCallback(&cb); // cb.type = BTSDK_SHORTCUT_EVENT_IND; // cb.func = (void*)BtsdkAppCallback::HandleAuthorAbortInd; // Btsdk_RegisterCallback(&cb);}void UnRegAppIndHandle(){ BtSdkCallBackStru cb; cb.type = BTSDK_PIN_CODE_REQ_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_LINK_KEY_REQ_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_LINK_KEY_NOTIF_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_AUTHENTICATION_FAIL_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_INQUIRY_RESULT_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_INQUIRY_COMPLETE_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_AUTHORIZATION_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_AUTHORIZATION_ABORT_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_CONNECTION_REQUEST_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_CONNECTION_COMPLETE_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_CONNECTION_EVENT_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb); cb.type = BTSDK_SHORTCUT_EVENT_IND; cb.func = NULL; Btsdk_RegisterCallback(&cb);}static bool btSdkInited = false;bool InitBtSdk(){ char szVer[128]; Btsdk_GetVersionString((BTUINT8*)szVer, sizeof(szVer) - 1); printf("Btsdk version %s\n", szVer); btSdkInited = true; init_timer_interrupt(); if (Btsdk_IsSDKInitialized() != BTSDK_TRUE) { if (Btsdk_Init() != BTSDK_OK) { printf("Btsdk_Init failed\n"); btSdkInited = false; } } if (Btsdk_IsBluetoothReady() != BTSDK_TRUE) { Btsdk_StopBluetooth(); printf("Starting bluetooth ...\n"); if (Btsdk_StartBluetooth() == BTSDK_OK) Btsdk_SetLocalClassDevice(BTSDK_COMPCLS_DESKTOP); else { printf("Btsdk_StartBluetooth failed\n"); btSdkInited = false; } } if (btSdkInited) RegAppIndHandle(); Btsdk_SetSecurityMode(BTSDK_SECURITY_LOW); Btsdk_SetDiscoveryMode(BTSDK_DISCOVERABLE | BTSDK_PAIRABLE | BTSDK_CONNECTABLE); return btSdkInited;}void DestroyBtSdk(){ UnRegAppIndHandle(); if (Btsdk_IsSDKInitialized() == BTSDK_TRUE) Btsdk_Done();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -