mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-09 21:45:54 +00:00
integrate gap_le.h into gap.h
This commit is contained in:
parent
472a574229
commit
f7a05cdac4
@ -6,13 +6,12 @@ class State:
|
||||
SearchEndAPI = 1
|
||||
DoneAPI = 2
|
||||
|
||||
# [file_name, api_title, api_lable]
|
||||
# [file_name, api_title, api_label]
|
||||
apis = [
|
||||
["src/ble/ad_parser.h", "BLE Advertisements Parser", "advParser"],
|
||||
["src/ble/ancs_client_lib.h", "BLE ANCS Client", "ancsClient"],
|
||||
["src/ble/att_db_util.h", "BLE ATT Database", "attDb"],
|
||||
["src/ble/att_server.h", "BLE ATT Server", "attServer"],
|
||||
["src/ble/gap_le.h", "BLE GAP", "gapLE"],
|
||||
["src/ble/gatt_client.h", "BLE GATT Client", "gattClient"],
|
||||
["src/ble/le_device_db.h", "BLE Device Database", "leDeviceDb"],
|
||||
["src/ble/sm.h", "BLE Security Manager", "sm"],
|
||||
|
@ -56,6 +56,7 @@
|
||||
|
||||
#include "debug.h"
|
||||
#include "btstack_memory.h"
|
||||
#include "gap.h"
|
||||
#include "hci.h"
|
||||
#include "hci_dump.h"
|
||||
#include "l2cap.h"
|
||||
@ -63,7 +64,6 @@
|
||||
#include "ble/ancs_client_lib.h"
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "ble/gatt_client.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "ble/sm.h"
|
||||
|
@ -57,6 +57,7 @@
|
||||
|
||||
#include "debug.h"
|
||||
#include "btstack_memory.h"
|
||||
#include "gap.h"
|
||||
#include "hci.h"
|
||||
#include "hci_dump.h"
|
||||
|
||||
@ -67,7 +68,6 @@
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "ble/sm.h"
|
||||
|
||||
#define HEARTBEAT_PERIOD_MS 1000
|
||||
|
@ -61,9 +61,9 @@
|
||||
|
||||
#include "debug.h"
|
||||
#include "btstack_memory.h"
|
||||
#include "ble/gap.h"
|
||||
#include "hci.h"
|
||||
#include "hci_dump.h"
|
||||
|
||||
#include "l2cap.h"
|
||||
|
||||
#include "le_streamer.h"
|
||||
@ -71,7 +71,6 @@
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "ble/sm.h"
|
||||
|
||||
static int le_notification_enabled;
|
||||
|
@ -59,6 +59,7 @@
|
||||
|
||||
#include "debug.h"
|
||||
#include "btstack_memory.h"
|
||||
#include "gap_le.h"
|
||||
#include "hci.h"
|
||||
#include "hci_dump.h"
|
||||
|
||||
@ -72,7 +73,6 @@
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "ble/sm.h"
|
||||
|
||||
#define RFCOMM_SERVER_CHANNEL 1
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "classic/sdp_util.h"
|
||||
|
||||
#include "bt_control_em9301.h"
|
||||
#include "gap.h"
|
||||
#include "hci.h"
|
||||
#include "hci_dump.h"
|
||||
#include "l2cap.h"
|
||||
@ -33,7 +34,6 @@
|
||||
#include "att_db_util.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "ble/sm.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "debug.h"
|
||||
|
||||
// Pin 13 has an LED connected on most Arduino boards.
|
||||
|
@ -69,6 +69,7 @@
|
||||
|
||||
#include "btstack_memory.h"
|
||||
#include "bt_control_cc256x.h"
|
||||
#include "gap.h"
|
||||
#include "hci.h"
|
||||
#include "hci_dump.h"
|
||||
#include "l2cap.h"
|
||||
@ -76,7 +77,6 @@
|
||||
#include "ble/sm.h"
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "ble/le_device_db.h"
|
||||
|
||||
#define FONT_HEIGHT 12 // Each character has 13 lines
|
||||
|
@ -74,7 +74,7 @@
|
||||
#include "ble/sm.h"
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "gap.h"
|
||||
#include "ble/le_device_db.h"
|
||||
|
||||
#define FONT_HEIGHT 12 // Each character has 13 lines
|
||||
|
@ -49,7 +49,7 @@
|
||||
|
||||
#include "ble/att.h"
|
||||
#include "debug.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "gap.h"
|
||||
#include "ble/gatt_client.h"
|
||||
#include "ble/sm.h"
|
||||
|
||||
|
@ -59,7 +59,7 @@
|
||||
#include "ble/sm.h"
|
||||
#include "ble/att.h"
|
||||
#include "att_dispatch.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "gap.h"
|
||||
#include "ble/le_device_db.h"
|
||||
|
||||
#include "ble/att_server.h"
|
||||
|
153
src/ble/gap_le.h
153
src/ble/gap_le.h
@ -1,153 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014 BlueKitchen GmbH
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the copyright holders nor the names of
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
* 4. Any redistribution, use, or modification is done solely for
|
||||
* personal benefit and not for any commercial purpose or for
|
||||
* monetary gain.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
|
||||
* RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* Please inquire about commercial licensing options at
|
||||
* contact@bluekitchen-gmbh.com
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __GAP_LE_H
|
||||
#define __GAP_LE_H
|
||||
|
||||
#if defined __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "utils.h"
|
||||
#include "hci_cmds.h"
|
||||
|
||||
/* API_START */
|
||||
|
||||
typedef enum {
|
||||
GAP_RANDOM_ADDRESS_TYPE_OFF = 0,
|
||||
GAP_RANDOM_ADDRESS_NON_RESOLVABLE,
|
||||
GAP_RANDOM_ADDRESS_RESOLVABLE,
|
||||
} gap_random_address_type_t;
|
||||
|
||||
/**
|
||||
* @brief Enable privacy by using random addresses
|
||||
* @param random_address_type to use (incl. OFF)
|
||||
*/
|
||||
void gap_random_address_set_mode(gap_random_address_type_t random_address_type);
|
||||
|
||||
/**
|
||||
* @brief Get privacy mode
|
||||
*/
|
||||
gap_random_address_type_t gap_random_address_get_mode(void);
|
||||
|
||||
/**
|
||||
* @brief Sets update period for random address
|
||||
* @param period_ms in ms
|
||||
*/
|
||||
void gap_random_address_set_update_period(int period_ms);
|
||||
|
||||
/**
|
||||
* @brief Updates the connection parameters for a given LE connection
|
||||
* @param handle
|
||||
* @param conn_interval_min (unit: 1.25ms)
|
||||
* @param conn_interval_max (unit: 1.25ms)
|
||||
* @param conn_latency
|
||||
* @param supervision_timeout (unit: 10ms)
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_update_connection_parameters(hci_con_handle_t con_handle, uint16_t conn_interval_min,
|
||||
uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout);
|
||||
|
||||
/**
|
||||
* @brief Request an update of the connection parameter for a given LE connection
|
||||
* @param handle
|
||||
* @param conn_interval_min (unit: 1.25ms)
|
||||
* @param conn_interval_max (unit: 1.25ms)
|
||||
* @param conn_latency
|
||||
* @param supervision_timeout (unit: 10ms)
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_request_connection_parameter_update(hci_con_handle_t con_handle, uint16_t conn_interval_min,
|
||||
uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout);
|
||||
|
||||
/**
|
||||
* @brief Set Advertisement Data
|
||||
* @param advertising_data_length
|
||||
* @param advertising_data (max 31 octets)
|
||||
* @note data is not copied, pointer has to stay valid
|
||||
*/
|
||||
void gap_advertisements_set_data(uint8_t advertising_data_length, uint8_t * advertising_data);
|
||||
|
||||
/**
|
||||
* @brief Set Advertisement Paramters
|
||||
* @param adv_int_min
|
||||
* @param adv_int_max
|
||||
* @param adv_type
|
||||
* @param direct_address_type
|
||||
* @param direct_address
|
||||
* @param channel_map
|
||||
* @param filter_policy
|
||||
* @note own_address_type is used from gap_random_address_set_mode
|
||||
*/
|
||||
void gap_advertisements_set_params(uint16_t adv_int_min, uint16_t adv_int_max, uint8_t adv_type,
|
||||
uint8_t direct_address_typ, bd_addr_t direct_address, uint8_t channel_map, uint8_t filter_policy);
|
||||
|
||||
/**
|
||||
* @brief Enable/Disable Advertisements
|
||||
* @param enabled
|
||||
*/
|
||||
void gap_advertisements_enable(int enabled);
|
||||
|
||||
/**
|
||||
* @brief Auto Connection Establishment - Start Connecting to device
|
||||
* @param address_typ
|
||||
* @param address
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_auto_connection_start(bd_addr_type_t address_typ, bd_addr_t address);
|
||||
|
||||
/**
|
||||
* @brief Auto Connection Establishment - Stop Connecting to device
|
||||
* @param address_typ
|
||||
* @param address
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_auto_connection_stop(bd_addr_type_t address_typ, bd_addr_t address);
|
||||
|
||||
/**
|
||||
* @brief Auto Connection Establishment - Stop everything
|
||||
* @note Convenience function to stop all active auto connection attempts
|
||||
*/
|
||||
void gap_auto_connection_stop_all(void);
|
||||
|
||||
/* API_END */
|
||||
|
||||
#if defined __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __GAP_LE_H
|
@ -47,7 +47,7 @@
|
||||
#include "l2cap.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "ble/sm.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "gap.h"
|
||||
|
||||
//
|
||||
// SM internal types and globals
|
||||
|
@ -43,6 +43,18 @@
|
||||
#ifndef __BTSTACK_DEFINES_H
|
||||
#define __BTSTACK_DEFINES_H
|
||||
|
||||
/**
|
||||
* Address types
|
||||
* @note: BTstack uses a custom addr type to refer to classic ACL and SCO devices
|
||||
*/
|
||||
typedef enum {
|
||||
BD_ADDR_TYPE_LE_PUBLIC = 0,
|
||||
BD_ADDR_TYPE_LE_RANDOM = 1,
|
||||
BD_ADDR_TYPE_SCO = 0xfe,
|
||||
BD_ADDR_TYPE_CLASSIC = 0xff,
|
||||
BD_ADDR_TYPE_UNKNOWN = 0xfe
|
||||
} bd_addr_type_t;
|
||||
|
||||
// DEFINES
|
||||
|
||||
#define DAEMON_EVENT_PACKET 0x05
|
||||
|
99
src/gap.h
99
src/gap.h
@ -42,6 +42,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "btstack_defines.h"
|
||||
|
||||
typedef enum {
|
||||
|
||||
// MITM protection not required
|
||||
@ -128,6 +130,103 @@ void gap_set_local_name(const char * local_name);
|
||||
*/
|
||||
gap_connection_type_t gap_get_connection_type(hci_con_handle_t connection_handle);
|
||||
|
||||
typedef enum {
|
||||
GAP_RANDOM_ADDRESS_TYPE_OFF = 0,
|
||||
GAP_RANDOM_ADDRESS_NON_RESOLVABLE,
|
||||
GAP_RANDOM_ADDRESS_RESOLVABLE,
|
||||
} gap_random_address_type_t;
|
||||
|
||||
/**
|
||||
* @brief Enable privacy by using random addresses
|
||||
* @param random_address_type to use (incl. OFF)
|
||||
*/
|
||||
void gap_random_address_set_mode(gap_random_address_type_t random_address_type);
|
||||
|
||||
/**
|
||||
* @brief Get privacy mode
|
||||
*/
|
||||
gap_random_address_type_t gap_random_address_get_mode(void);
|
||||
|
||||
/**
|
||||
* @brief Sets update period for random address
|
||||
* @param period_ms in ms
|
||||
*/
|
||||
void gap_random_address_set_update_period(int period_ms);
|
||||
|
||||
/**
|
||||
* @brief Updates the connection parameters for a given LE connection
|
||||
* @param handle
|
||||
* @param conn_interval_min (unit: 1.25ms)
|
||||
* @param conn_interval_max (unit: 1.25ms)
|
||||
* @param conn_latency
|
||||
* @param supervision_timeout (unit: 10ms)
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_update_connection_parameters(hci_con_handle_t con_handle, uint16_t conn_interval_min,
|
||||
uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout);
|
||||
|
||||
/**
|
||||
* @brief Request an update of the connection parameter for a given LE connection
|
||||
* @param handle
|
||||
* @param conn_interval_min (unit: 1.25ms)
|
||||
* @param conn_interval_max (unit: 1.25ms)
|
||||
* @param conn_latency
|
||||
* @param supervision_timeout (unit: 10ms)
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_request_connection_parameter_update(hci_con_handle_t con_handle, uint16_t conn_interval_min,
|
||||
uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout);
|
||||
|
||||
/**
|
||||
* @brief Set Advertisement Data
|
||||
* @param advertising_data_length
|
||||
* @param advertising_data (max 31 octets)
|
||||
* @note data is not copied, pointer has to stay valid
|
||||
*/
|
||||
void gap_advertisements_set_data(uint8_t advertising_data_length, uint8_t * advertising_data);
|
||||
|
||||
/**
|
||||
* @brief Set Advertisement Paramters
|
||||
* @param adv_int_min
|
||||
* @param adv_int_max
|
||||
* @param adv_type
|
||||
* @param direct_address_type
|
||||
* @param direct_address
|
||||
* @param channel_map
|
||||
* @param filter_policy
|
||||
* @note own_address_type is used from gap_random_address_set_mode
|
||||
*/
|
||||
void gap_advertisements_set_params(uint16_t adv_int_min, uint16_t adv_int_max, uint8_t adv_type,
|
||||
uint8_t direct_address_typ, bd_addr_t direct_address, uint8_t channel_map, uint8_t filter_policy);
|
||||
|
||||
/**
|
||||
* @brief Enable/Disable Advertisements
|
||||
* @param enabled
|
||||
*/
|
||||
void gap_advertisements_enable(int enabled);
|
||||
|
||||
/**
|
||||
* @brief Auto Connection Establishment - Start Connecting to device
|
||||
* @param address_typ
|
||||
* @param address
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_auto_connection_start(bd_addr_type_t address_typ, bd_addr_t address);
|
||||
|
||||
/**
|
||||
* @brief Auto Connection Establishment - Stop Connecting to device
|
||||
* @param address_typ
|
||||
* @param address
|
||||
* @returns 0 if ok
|
||||
*/
|
||||
int gap_auto_connection_stop(bd_addr_type_t address_typ, bd_addr_t address);
|
||||
|
||||
/**
|
||||
* @brief Auto Connection Establishment - Stop everything
|
||||
* @note Convenience function to stop all active auto connection attempts
|
||||
*/
|
||||
void gap_auto_connection_stop_all(void);
|
||||
|
||||
#if defined __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -53,18 +53,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Address types
|
||||
* @note: BTstack uses a custom addr type to refer to classic ACL and SCO devices
|
||||
*/
|
||||
typedef enum {
|
||||
BD_ADDR_TYPE_LE_PUBLIC = 0,
|
||||
BD_ADDR_TYPE_LE_RANDOM = 1,
|
||||
BD_ADDR_TYPE_SCO = 0xfe,
|
||||
BD_ADDR_TYPE_CLASSIC = 0xff,
|
||||
BD_ADDR_TYPE_UNKNOWN = 0xfe
|
||||
} bd_addr_type_t;
|
||||
|
||||
/**
|
||||
* Hardware state of Bluetooth controller
|
||||
*/
|
||||
|
@ -60,7 +60,7 @@
|
||||
#include "ble/sm.h"
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "gap.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "stdin_support.h"
|
||||
#include "ble/ad_parser.h"
|
||||
|
@ -60,7 +60,7 @@
|
||||
#include "ble/sm.h"
|
||||
#include "ble/att.h"
|
||||
#include "ble/att_server.h"
|
||||
#include "ble/gap_le.h"
|
||||
#include "gap.h"
|
||||
#include "ble/le_device_db.h"
|
||||
#include "stdin_support.h"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user