integrate gap_le.h into gap.h

This commit is contained in:
Matthias Ringwald 2015-11-16 23:04:25 +01:00
parent 472a574229
commit f7a05cdac4
17 changed files with 124 additions and 180 deletions

View File

@ -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"],

View File

@ -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"

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
*/

View File

@ -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"

View File

@ -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"