1*4882a593Smuzhiyun #ifndef __BLUETOOTH_BLE_H__ 2*4882a593Smuzhiyun #define __BLUETOOTH_BLE_H__ 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #include <RkBtBase.h> 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifdef __cplusplus 7*4882a593Smuzhiyun extern "C" { 8*4882a593Smuzhiyun #endif 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun typedef enum { 11*4882a593Smuzhiyun RK_BLE_STATE_IDLE = 0, 12*4882a593Smuzhiyun RK_BLE_STATE_CONNECT, 13*4882a593Smuzhiyun RK_BLE_STATE_DISCONNECT 14*4882a593Smuzhiyun } RK_BLE_STATE; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun typedef struct { 17*4882a593Smuzhiyun char uuid[38]; 18*4882a593Smuzhiyun char data[BT_ATT_MAX_VALUE_LEN]; 19*4882a593Smuzhiyun int len; 20*4882a593Smuzhiyun } RkBleConfig; 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun typedef void (*RK_BLE_STATE_CALLBACK)(const char *bd_addr, const char *name, RK_BLE_STATE state); 23*4882a593Smuzhiyun typedef void (*RK_BLE_RECV_CALLBACK)(const char *uuid, char *data, int len); 24*4882a593Smuzhiyun typedef void (*RK_BLE_REQUEST_DATA)(const char *uuid); 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun int rk_ble_register_status_callback(RK_BLE_STATE_CALLBACK cb); 27*4882a593Smuzhiyun int rk_ble_register_recv_callback(RK_BLE_RECV_CALLBACK cb); 28*4882a593Smuzhiyun void rk_ble_register_mtu_callback(RK_BT_MTU_CALLBACK cb); 29*4882a593Smuzhiyun void rk_ble_register_request_data_callback(RK_BLE_REQUEST_DATA cb); 30*4882a593Smuzhiyun int rk_ble_start(RkBleContent *ble_content); 31*4882a593Smuzhiyun int rk_ble_stop(void); 32*4882a593Smuzhiyun int rk_ble_get_state(RK_BLE_STATE *p_state); 33*4882a593Smuzhiyun int rk_ble_write(const char *uuid, char *data, int len); 34*4882a593Smuzhiyun int rk_ble_disconnect(void); 35*4882a593Smuzhiyun int rk_bt_ble_set_visibility(const int visiable, const int connect); 36*4882a593Smuzhiyun void rk_ble_set_local_privacy(bool local_privacy); 37*4882a593Smuzhiyun int rk_ble_set_address(char *address); 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun /*smallest value: 32(32 * 0.625ms = 20ms)*/ 40*4882a593Smuzhiyun int rk_ble_set_adv_interval(unsigned short adv_int_min, unsigned short adv_int_max); 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #ifdef __cplusplus 43*4882a593Smuzhiyun } 44*4882a593Smuzhiyun #endif 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #endif /* __BLUETOOTH_BLE_H__ */ 47