m2mb API docs  25.21.002
m2mb API sets documentation
m2mb_ble.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
23 #ifndef M2MB_BLE_H
24 #define M2MB_BLE_H
25 
26 /* GLOBAL DECLARATIONS ==========================================================================*/
27 
28 //#define M2MB_BLE_MAX_DEVICE_NAME_LENGTH 248
29 #define M2MB_BLE_MAX_DEVICE_NAME_LENGTH (39+1)
30 #define M2MB_BLE_MAX_MANUFACTURER_NAME_LENGTH M2MB_BLE_MAX_DEVICE_NAME_LENGTH
31 #define M2MB_BLE_FIXPIN_SIZE 6
32 #define M2MB_BLE_ADV_DATA_SIZE 32
33 #define M2MB_BLE_SCAN_RSP_DATA_SIZE 32
34 #define M2MB_BLE_ADDRESS_RESOLUTION_TIMEOUT 60
35 #define M2MB_BLE_MTU_SIZE_MAX 158
36 #define M2MB_BLE_BOND_ENTRIES_MAX 20
37 #define M2MB_BLE_MAX_ATTRIBUTE_LENGTH 600
38 
39 /* Max hex value string which can hold the Maximum MTU data */
40 #define M2MB_BLE_MAX_HEX_VALUE ((2 * M2MB_BLE_MTU_SIZE_MAX) + 1)
41 
42 #define M2MB_BLE_MAX_PAIRED_DEVICES 4
44 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_HANDLE 0x01
45 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_READ_NOT_PERMITTED 0x02
46 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_WRITE_NOT_PERMITTED 0x03
47 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_PDU 0x04
48 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_AUTHENTICATION 0x05
49 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_REQUEST_NOT_SUPPORTED 0x06
50 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_OFFSET 0x07
51 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_AUTHORIZATION 0x08
52 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_ATTRIBUTE_NOT_FOUND 0x0A
53 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_ATTRIBUTE_NOT_LONG 0x0B
54 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_ENCRYPTION_KEY_SIZE 0x0C
55 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_ATTRIBUTE_VALUE_LENGTH 0x0D
56 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_ENCRYPTION 0x0F
57 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_UNSUPPORTED_GROUP_TYPE 0x10
58 #define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_RESOURCES 0x11
59 
61 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_BROADCAST 0x01
62 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_READ 0x02
63 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_WRITE_WITHOUT_RESPONSE 0x04
64 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_WRITE 0x08
65 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_NOTIFY 0x10
66 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_INDICATE 0x20
67 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_AUTHENTICATED_SIGNED_WRITES 0x40
68 #define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_EXTENDED_PROPERTIES 0x80
69 
71 #define M2MB_BLE_GATT_CLIENT_CONFIGURATION_CHARACTERISTIC_NOTIFY_ENABLE 0x0001
72 #define M2MB_BLE_GATT_CLIENT_CONFIGURATION_CHARACTERISTIC_INDICATE_ENABLE 0x0002
73 
77 #define M2MB_BLE_GATT_CLIENT_CHARACTERISTIC_CONFIGURATION_BLUETOOTH_UUID_CONSTANT {0x02, 0x29}
78 
79 
83 #define M2MB_BLE_DIS_PNP_ID_VENDOR_SOURCE_BLUETOOTH_SIG 0x01
84 #define M2MB_BLE_DIS_PNP_ID_VENDOR_SOURCE_USB_IMPLEMENTORS_FORUM 0x02
85 
86 /* Global typedefs ==============================================================================*/
87 
94 typedef struct M2MB_BLE_UUID_16_S
95 {
96  UINT8 UUID_Byte0;
97  UINT8 UUID_Byte1;
99 
106 typedef struct M2MB_BLE_UUID_32_S
107 {
108  UINT8 UUID_Byte0;
109  UINT8 UUID_Byte1;
110  UINT8 UUID_Byte2;
111  UINT8 UUID_Byte3;
113 
120 typedef struct M2MB_BLE_UUID_128_S
121 {
122  UINT8 UUID_Byte0;
123  UINT8 UUID_Byte1;
124  UINT8 UUID_Byte2;
125  UINT8 UUID_Byte3;
126  UINT8 UUID_Byte4;
127  UINT8 UUID_Byte5;
128  UINT8 UUID_Byte6;
129  UINT8 UUID_Byte7;
130  UINT8 UUID_Byte8;
131  UINT8 UUID_Byte9;
132  UINT8 UUID_Byte10;
133  UINT8 UUID_Byte11;
134  UINT8 UUID_Byte12;
135  UINT8 UUID_Byte13;
136  UINT8 UUID_Byte14;
137  UINT8 UUID_Byte15;
139 
146 typedef enum
147 {
151  UUID_INVALID_E,
153 
160 typedef struct M2MB_BLE_UUID_S
161 {
163  union
164  {
168  };
170 
171 
179 typedef enum
180 {
187 
195 typedef enum
196 {
201 
209 typedef enum
210 {
215 
223 typedef enum
224 {
229 
236 typedef enum
237 {
242 
249 typedef enum
250 {
253 
256 
260 
264 
267  M2MB_BLE_ANONYMOUS_E
269 
270 
284 typedef enum
285 {
288 
291 
294 
297 
299  M2MB_BLE_KEYBOARD_DISPLAY_E
301 
309 typedef struct M2MB_BLE_BD_ADDR_S
310 {
311  UINT8 BD_ADDR0;
312  UINT8 BD_ADDR1;
313  UINT8 BD_ADDR2;
314  UINT8 BD_ADDR3;
315  UINT8 BD_ADDR4;
316  UINT8 BD_ADDR5;
318 
325 /* Use to hold MAX address in Hex format. Ex: 0xAABBCCDDEEFF*/
326 typedef INT8 M2MB_BLE_BOARDSTR_T[16];
327 
335 typedef struct M2MB_BLE_BD_NAME_S
336 {
339 
346 typedef enum
347 {
352 
353 
354 /***************************************************************/
355 /* BLE Configuration / BLE Profile */
356 /***************************************************************/
357 
364 /* BLE configuration parameters */
365 typedef enum
366 {
437 
445 {
446  UINT16 scan_duration;
447  UINT16 scan_interval;
448  UINT16 scan_window;
450 
458 {
461  UINT8 advertise_data[M2MB_BLE_ADV_DATA_SIZE+1];
462  UINT8 scan_response_data[M2MB_BLE_SCAN_RSP_DATA_SIZE+1];
468 
475 typedef struct M2MB_BLE_CONN_PARAM_S
476 {
479  UINT16 slave_latency;
482 
490 {
492  UINT8 mitm;
493  UINT8 fix_pin[M2MB_BLE_FIXPIN_SIZE+1];
494  UINT8 leprivacy;
498 
505 typedef struct M2MB_BLE_DIS_INFO_S
506 {
512 
520 {
525  INT8 ble_manufacturer_name[M2MB_BLE_MAX_MANUFACTURER_NAME_LENGTH+1];
526  UINT8 ble_tio_mode;
528 
535 typedef struct M2MB_BLE_CGF_S
536 {
544 
545 
546 /********************************************************************************************************/
547 /* BLE configuration related */
548 /********************************************************************************************************/
549 
556 typedef enum
557 {
583 
590 /* BLE EVENTS to the user / application layer from M2MB to registered callback */
591 typedef enum
592 {
605  M2MB_BLE_GATT_SERVER_CHAR_VALUE_UPDATED_EVENT_E, /* This is covered by write events */
606 
623 
630 /* When scan for BLE devices, send the list of scanned devices information in this format to the application */
631 /*
632 ** [TODO]: How to handle device name and advertise data at m2mb and app layer. Who allocates this memory and who frees this memory.
633 ** Better solution is, in the register callback at app layer, memory is allocated. The scan event is posted over the message queue.
634 ** Worker thread at application layer on the scan event over the queue handles / prints scan data and free the memory.
635 */
637 {
639  INT8 RSSI;
643  UINT8 datalen;
644  UINT8 data[M2MB_BLE_ADV_DATA_SIZE];
646 
647 #if 0
648 /* Connection param updates are specific to particular connection */
649 typedef struct M2MB_BLE_CONN_PARAM_UPADTE_S
650 {
651  UINT8 connection_id;
652  M2MB_BLE_CONN_PARAM_T connection_params;
653 } M2MB_BLE_CONN_PARAM_UPADTE_T;
654 
655 
656 /* Connection param updates are specific to particular connection */
657 typedef struct M2MB_BLE_MTU_UPADTE_S
658 {
659  UINT8 connection_id;
660  UINT32 mtu;
661 } M2MB_BLE_MTU_UPADTE_T;
662 #endif
663 
669 /* structure to hold notification and indication data from remote GATT server */
671 {
674  UINT16 handle;
675  UINT16 value_size;
676  UINT8 p_value[M2MB_BLE_MAX_ATTRIBUTE_LENGTH];
678 
685 typedef enum
686 {
690 
698 {
700  UINT32 service_id;
701  UINT32 char_id;
702  UINT32 char_cccd_id;
703  UINT8 **value;
704  UINT16 *value_length; /* value length. Pointer because, in case of read request value length should be filled and sent to m2mb layer */
705  UINT8 cccd_val;
706  UINT8 more_data;
707  UINT32 offset;
709 
716 typedef struct
717 {
719  UINT32 pass_key;
720  UINT8 accept_flag;
722 
729 typedef struct
730 {
732  INT8 pincode[7];
733  UINT8 pin_size;
734  UINT8 accept_flag;
736 
743 typedef struct
744 {
745  INT32 status;
748 
755 typedef struct
756 {
757  INT32 status;
758  INT32 value_length;
759  INT8 *value;
760  INT32 attribute_handle;
762 
769 /* This user context is sent to registered callback with user event type */
771 {
774  UINT32 mtu;
781  {
790  } event_data;
792 
793 
794 
795 
813 /***************************************************************/
814 /* BLE Device Info */
815 /***************************************************************/
816 /*
817  Device Info structure is maintained for handling the device information of connected peer devices (both in Central and Peripheral mode). So, this device info handling API's should be protected with a Mutex
818  so that the device info will not be corrupted in case of simultaneous events that handles the device info part.
819  Ex: In central mode simultaneos operations are possible like, One device got connected and other device got disconnected at the same time.
820 
821  BLE Device info will hold all the information related to connected peer device.
822  BLE Device info can be implemented as either array or linked list.
823 
824  Better to go with array with array size as (1 peripheral connection + max number of simultaneous connection supported by central).
825  On successful connection the device info should be filled in the array, and on disconnect the device info should be deleted.
826 
827  In peripheral mode, when Central connects to the BLE device, few stacks do not provide connect ID. In this case try to have some special connection ID defined for peripheral connection.
828 
829 */
830 
832 {
833  BOOLEAN used_flag;
834  UINT32 connection_id;
840  UINT32 mtu_size;
844 
845 
846 /***************************************************************/
847 /* M2MB BLE API's */
848 /***************************************************************/
849 
856 //typedef void *HANDLE;
857 typedef HANDLE M2MB_BLE_HANDLE;
858 
866 {
871 
878 typedef enum
879 {
884 
891 typedef enum
892 {
896 
903 typedef enum
904 {
911 
918 /* used for service discovery feature */
920 {
923  UINT16 attrib_handle;
924  UINT8 properties;
926  /* start and end hanldes are used only when type = M2MB_BLE_GATT_PRIMARY_SERVICE_E */
927  UINT16 start_handle;
928  UINT16 end_handle;
930 
937 /* used for service discovery feature */
938 typedef struct M2MB_BLE_GATT_SRVD_S
939 {
940  UINT16 elements_count;
943 
950 typedef void (*m2mb_ble_event_callback) (M2MB_BLE_HANDLE ble_handle, M2MB_BLE_USER_EVENTS_T ble_event, UINT16 resp_size, void *resp, void *userdata);
951 
952 /* Global functions =============================================================================*/
953 
954 /*-----------------------------------------------------------------------------------------------*/
983 /*-----------------------------------------------------------------------------------------------*/
984 
985 M2MB_BLE_RESPONSE_T m2mb_ble_initialize(M2MB_BLE_HANDLE *ble_handle, m2mb_ble_event_callback ble_callback, void *user_data);
986 
987 /*-----------------------------------------------------------------------------------------------*/
1012 /*-----------------------------------------------------------------------------------------------*/
1013 
1015 
1016 /*-----------------------------------------------------------------------------------------------*/
1038 /*-----------------------------------------------------------------------------------------------*/
1039 
1041 
1042 /*-----------------------------------------------------------------------------------------------*/
1074 /*-----------------------------------------------------------------------------------------------*/
1075 
1076 M2MB_BLE_RESPONSE_T m2mb_ble_conf(M2MB_BLE_HANDLE ble_handle, UINT8 num_cmds, ...);
1077 
1078 /*-----------------------------------------------------------------------------------------------*/
1113 /*-----------------------------------------------------------------------------------------------*/
1114 
1115 M2MB_BLE_RESPONSE_T m2mb_ble_ssppin_reply(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr, M2MB_BLE_ADDRESS_TYPE_T bd_addr_type, INT32 ssppin, UINT8 accept_flag);
1116 
1117 /*-----------------------------------------------------------------------------------------------*/
1148 /*-----------------------------------------------------------------------------------------------*/
1149 
1150 
1151 M2MB_BLE_RESPONSE_T m2mb_ble_sspconf_reply(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr, M2MB_BLE_ADDRESS_TYPE_T bd_addr_type, UINT32 confirmation_flag);
1152 
1153 /*-----------------------------------------------------------------------------------------------*/
1181 /*-----------------------------------------------------------------------------------------------*/
1182 
1183 
1184 M2MB_BLE_RESPONSE_T m2mb_ble_bond_list_get(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BOND_LIST_INFO_T **bond_list_info, UINT32 *num_of_entries);
1185 
1186 /*-----------------------------------------------------------------------------------------------*/
1211 /*-----------------------------------------------------------------------------------------------*/
1212 
1213 
1215 
1216 /*-----------------------------------------------------------------------------------------------*/
1241 /*-----------------------------------------------------------------------------------------------*/
1242 
1243 
1245 
1246 /*-----------------------------------------------------------------------------------------------*/
1271 /*-----------------------------------------------------------------------------------------------*/
1272 
1273 
1275 
1276 /*-----------------------------------------------------------------------------------------------*/
1307 /*-----------------------------------------------------------------------------------------------*/
1308 
1309 
1310 M2MB_BLE_RESPONSE_T m2mb_ble_gatts_characteristic_add(M2MB_BLE_HANDLE ble_handle, UINT8 properties, M2MB_BLE_UUID_T characteristic_uuid);
1311 /*-----------------------------------------------------------------------------------------------*/
1348 /*-----------------------------------------------------------------------------------------------*/
1349 
1350 M2MB_BLE_RESPONSE_T m2mb_ble_gatts_characteristic_value_add(M2MB_BLE_HANDLE ble_handle, UINT16 permissions, UINT16 value_len, UINT8 *value, UINT32 *characteristic_id);
1351 
1352 /*-----------------------------------------------------------------------------------------------*/
1379 /*-----------------------------------------------------------------------------------------------*/
1380 
1381 M2MB_BLE_RESPONSE_T m2mb_ble_gatts_complete(M2MB_BLE_HANDLE ble_handle, UINT32 *service_id);
1382 
1383 /*-----------------------------------------------------------------------------------------------*/
1420 /*-----------------------------------------------------------------------------------------------*/
1421 
1422 
1423 M2MB_BLE_RESPONSE_T m2mb_ble_gatts_serv_send_data(M2MB_BLE_HANDLE ble_handle, UINT32 serv_id, UINT32 char_id, UINT8 *value, UINT16 value_len, M2MB_BLE_CCCD_T cccd);
1424 
1425 /*-----------------------------------------------------------------------------------------------*/
1450 /*-----------------------------------------------------------------------------------------------*/
1451 
1453 
1454 /*-----------------------------------------------------------------------------------------------*/
1476 /*-----------------------------------------------------------------------------------------------*/
1477 
1478 
1480 
1481 /*-----------------------------------------------------------------------------------------------*/
1512 /*-----------------------------------------------------------------------------------------------*/
1513 
1514 M2MB_BLE_RESPONSE_T m2mb_ble_connect(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr, M2MB_BLE_ADDRESS_TYPE_T bd_addr_type, INT32 *connection_id);
1515 
1516 /*-----------------------------------------------------------------------------------------------*/
1541 /*-----------------------------------------------------------------------------------------------*/
1542 
1543 
1544 M2MB_BLE_RESPONSE_T m2mb_ble_disconnect(M2MB_BLE_HANDLE ble_handle, INT32 connection_id);
1545 
1546 /*-----------------------------------------------------------------------------------------------*/
1577 /*-----------------------------------------------------------------------------------------------*/
1578 
1579 
1580 M2MB_BLE_RESPONSE_T m2mb_ble_start_discovery(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, M2MB_BLE_UUID_T uuid, M2MB_BLE_GATT_SRVD_T **results);
1581 
1582 /*-----------------------------------------------------------------------------------------------*/
1616 /*-----------------------------------------------------------------------------------------------*/
1617 
1618 
1619 M2MB_BLE_RESPONSE_T m2mb_ble_read_value_request(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, UINT8 **value, UINT16 *value_len);
1620 
1621 /*-----------------------------------------------------------------------------------------------*/
1655 /*-----------------------------------------------------------------------------------------------*/
1656 
1657 M2MB_BLE_RESPONSE_T m2mb_ble_write_value_request(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, UINT8 *value, UINT16 value_len);
1658 
1659 /*-----------------------------------------------------------------------------------------------*/
1693 /*-----------------------------------------------------------------------------------------------*/
1694 
1695 M2MB_BLE_RESPONSE_T m2mb_ble_write_value_command(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, UINT8 *value, UINT16 value_len);
1696 
1697 /*-----------------------------------------------------------------------------------------------*/
1728 /*-----------------------------------------------------------------------------------------------*/
1729 
1730 
1731 M2MB_BLE_RESPONSE_T m2mb_ble_cccd_request(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, M2MB_BLE_CCCD_T cccd_val);
1732 
1733 /*-----------------------------------------------------------------------------------------------*/
1758 /*-----------------------------------------------------------------------------------------------*/
1759 
1760 
1762 
1763 /*-----------------------------------------------------------------------------------------------*/
1788 /*-----------------------------------------------------------------------------------------------*/
1789 
1790 
1792 
1793 /*-----------------------------------------------------------------------------------------------*/
1818 /*-----------------------------------------------------------------------------------------------*/
1819 
1820 
1822 
1823 
1824 /*-----------------------------------------------------------------------------------------------*/
1861 /*-----------------------------------------------------------------------------------------------*/
1862 
1863 
1864 M2MB_BLE_RESPONSE_T m2mb_ble_send_indication( M2MB_BLE_HANDLE ble_handle, INT32 attribute_handle, INT32 conn_id, INT32 len, INT32 confirm, UINT8 *value);
1865 
1866 /*****************************************************/
1867 /****** Generic functions **********/
1868 /*****************************************************/
1869 
1870 /*-----------------------------------------------------------------------------------------------*/
1898 /*-----------------------------------------------------------------------------------------------*/
1899 
1901 
1902 /*-----------------------------------------------------------------------------------------------*/
1930 /*-----------------------------------------------------------------------------------------------*/
1931 
1932 
1934 
1935 M2MB_BLE_RESPONSE_T m2mb_ble_get_initialization_state(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_INIT_STATE_T *state);
1936 
1937 #endif
M2MB_BLE_ADV_EVT_TYPE_DIRECTED
Definition: m2mb_ble.h:182
m2mb_ble_gatts_characteristic_add
M2MB_BLE_RESPONSE_T m2mb_ble_gatts_characteristic_add(M2MB_BLE_HANDLE ble_handle, UINT8 properties, M2MB_BLE_UUID_T characteristic_uuid)
Adds characteristic information.
M2MB_BLE_SCAN_REPORT_DATA_S::datalen
UINT8 datalen
Definition: m2mb_ble.h:643
M2MB_BLE_BOARDSTR_T
INT8 M2MB_BLE_BOARDSTR_T[16]
BLE board address in string format.
Definition: m2mb_ble.h:326
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U
BLE user event data.
Definition: m2mb_ble.h:780
M2MB_BLE_UUID_S
BLE UUID.
Definition: m2mb_ble.h:160
M2MB_BLE_CFG_CONNECTION_INT_MAX_SET_E
Definition: m2mb_ble.h:399
m2mb_ble_provisioning_set
M2MB_BLE_RESPONSE_T m2mb_ble_provisioning_set(M2MB_BLE_HANDLE ble_handle, INT32 status)
Sets the provisioning status.
M2MB_BLE_PROVISIONING_CONNECT_EVENT_E
Definition: m2mb_ble.h:621
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::cccd_val
UINT8 cccd_val
Definition: m2mb_ble.h:705
M2MB_BLE_PERIPHERAL_CFG_S::advertise_data
UINT8 advertise_data[M2MB_BLE_ADV_DATA_SIZE+1]
Definition: m2mb_ble.h:461
M2MB_BLE_CFG_SCAN_WINDOW_GET_E
Definition: m2mb_ble.h:374
M2MB_BLE_CENTRAL_CFG_S::scan_interval
UINT16 scan_interval
Definition: m2mb_ble.h:447
M2MB_BLE_CONN_PARAM_S::connection_interval_max
UINT16 connection_interval_max
Definition: m2mb_ble.h:477
M2MB_BLE_GENERAL_PARAM_S::ble_role
M2MB_BLE_ROLE_T ble_role
Definition: m2mb_ble.h:521
M2MB_BLE_CFG_PAIR_MODE_SET_E
Definition: m2mb_ble.h:394
M2MB_BLE_CFG_MITM_SET_E
Definition: m2mb_ble.h:408
m2mb_ble_bond_delete
M2MB_BLE_RESPONSE_T m2mb_ble_bond_delete(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr)
Deletes bond information.
m2mb_ble_read_value_request
M2MB_BLE_RESPONSE_T m2mb_ble_read_value_request(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, UINT8 **value, UINT16 *value_len)
Reads value request.
M2MB_BLE_UUID_S::uuid_128
M2MB_BLE_UUID_128_T uuid_128
Definition: m2mb_ble.h:167
M2MB_BLE_CFG_IOCAPABILITY_SET_E
Definition: m2mb_ble.h:406
M2MB_BLE_DISABLE_INDICATION_NOTIFICATION_E
Definition: m2mb_ble.h:348
M2MB_BLE_UUID_T
struct M2MB_BLE_UUID_S M2MB_BLE_UUID_T
BLE UUID.
M2MB_BLE_UUID_S::uuid_type
M2MB_BLE_UUID_TYPE_T uuid_type
Definition: m2mb_ble.h:162
M2MB_BLE_STATUS_AUTH_FAILURE_E
Definition: m2mb_ble.h:565
M2MB_BLE_PAIRABLE_MODE_E
Definition: m2mb_ble.h:226
M2MB_BLE_STATE_INITIALIZED
Definition: m2mb_ble.h:893
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_S::handle
UINT16 handle
Definition: m2mb_ble.h:674
M2MB_BLE_INIT_STATE_T
M2MB_BLE_INIT_STATE_T
BLE INIT state.
Definition: m2mb_ble.h:891
M2MB_BLE_ADV_EVT_TYPE_SCANNABLE
Definition: m2mb_ble.h:183
M2MB_BLE_CFG_DISCOVER_MODE_SET_E
Definition: m2mb_ble.h:392
M2MB_BLE_PERIPHERAL_CFG_T
struct M2MB_BLE_PERIPHERAL_CFG_S M2MB_BLE_PERIPHERAL_CFG_T
BLE Peripheral configuration parameters.
M2MB_BLE_CFG_SCAN_INTERVAL_GET_E
Definition: m2mb_ble.h:372
M2MB_BLE_CFG_BLE_MANUFACTURER_NAME_SET_E
Definition: m2mb_ble.h:433
M2MB_BLE_BD_ADDR_S
Bluetooth Device Address.
Definition: m2mb_ble.h:309
M2MB_BLE_BD_NAME_T
struct M2MB_BLE_BD_NAME_S M2MB_BLE_BD_NAME_T
Bluetooth Device Name.
M2MB_BLE_STATUS_ERR_WRITE_NOT_PERMITTED_E
Definition: m2mb_ble.h:571
M2MB_BLE_BD_ADDR_T
struct M2MB_BLE_BD_ADDR_S M2MB_BLE_BD_ADDR_T
Bluetooth Device Address.
M2MB_BLE_PERIPHERAL_ROLE_E
Definition: m2mb_ble.h:238
M2MB_BLE_GATT_ELEMENT_S::properties
UINT8 properties
Definition: m2mb_ble.h:924
M2MB_BLE_CFG_CONNECT_MODE_GET_E
Definition: m2mb_ble.h:389
M2MB_BLE_NO_INPUT_NO_OUTPUT_E
Definition: m2mb_ble.h:296
M2MB_BLE_GENERAL_DISCOVERABLE_MODE_E
Definition: m2mb_ble.h:213
M2MB_BLE_BOND_LIST_INFO_S
BLE bond list information.
Definition: m2mb_ble.h:865
M2MB_BLE_KEYBOARD_ONLY_E
Definition: m2mb_ble.h:293
M2MB_BLE_GENERAL_PARAM_S::ble_tio_mode
UINT8 ble_tio_mode
Definition: m2mb_ble.h:526
M2MB_BLE_STATUS_NO_MEM_E
Definition: m2mb_ble.h:564
M2MB_BLE_SSP_REQUEST_CTX_T::accept_flag
UINT8 accept_flag
Definition: m2mb_ble.h:720
M2MB_BLE_RESOLVABLE_FALLBACK_PUBLIC_E
Definition: m2mb_ble.h:259
M2MB_BLE_CFG_PNP_VERSION_ID_SOURCE_SET_E
Definition: m2mb_ble.h:421
M2MB_BLE_NON_CONNECTABLE_E
Definition: m2mb_ble.h:197
M2MB_BLE_CFG_BLE_MANUFACTURER_NAME_GET_E
Definition: m2mb_ble.h:432
M2MB_BLE_CFG_SCAN_RSP_DATA_GET_E
Definition: m2mb_ble.h:387
m2mb_ble_gatts_complete
M2MB_BLE_RESPONSE_T m2mb_ble_gatts_complete(M2MB_BLE_HANDLE ble_handle, UINT32 *service_id)
Register service to the BLE stack.
M2MB_BLE_PAIRABLE_MODE_ENABLE_EXTENDED_EVENTS_E
Definition: m2mb_ble.h:227
M2MB_BLE_DIS_INFO_S::pnpid_vendor_id
UINT16 pnpid_vendor_id
Definition: m2mb_ble.h:507
M2MB_BLE_ADV_EVT_TYPE_UNDIRECTED
Definition: m2mb_ble.h:181
M2MB_BLE_DEVICE_INFO_S::connection_id
UINT32 connection_id
Definition: m2mb_ble.h:834
M2MB_BLE_CONN_PARAM_S::connection_interval_min
UINT16 connection_interval_min
Definition: m2mb_ble.h:478
UUID_TYPE_32_BIT_E
Definition: m2mb_ble.h:149
M2MB_BLE_CFG_SCAN_WINDOW_SET_E
Definition: m2mb_ble.h:375
M2MB_BLE_SECURITY_CFG_S::ble_bond_size
UINT8 ble_bond_size
Definition: m2mb_ble.h:496
M2MB_BLE_CFG_BOND_STORE_SUPPORT_SET_E
Definition: m2mb_ble.h:414
m2mb_ble_write_value_request
M2MB_BLE_RESPONSE_T m2mb_ble_write_value_request(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, UINT8 *value, UINT16 value_len)
Write value request.
M2MB_BLE_CFG_CONNECTION_INT_MIN_SET_E
Definition: m2mb_ble.h:397
M2MB_BLE_SCAN_REPORT_DATA_S::BD_ADDR
M2MB_BLE_BD_ADDR_T BD_ADDR
Definition: m2mb_ble.h:638
M2MB_BLE_GATT_SERVER_NOTIFY_INDICATE_READ_EVENT_E
Definition: m2mb_ble.h:604
M2MB_BLE_UUID_32_S
BLE 32 bit UUID.
Definition: m2mb_ble.h:106
M2MB_BLE_GENERAL_PARAM_S::ble_bd_address
M2MB_BLE_BD_ADDR_T ble_bd_address
Definition: m2mb_ble.h:522
M2MB_BLE_CFG_PNP_VERSION_ID_SOURCE_GET_E
Definition: m2mb_ble.h:420
M2MB_BLE_GATT_SRVD_S
BLE service discovery feature.
Definition: m2mb_ble.h:938
m2mb_ble_scan_stop
M2MB_BLE_RESPONSE_T m2mb_ble_scan_stop(M2MB_BLE_HANDLE ble_handle)
Stops BLE scanning.
M2MB_BLE_CFG_SCAN_FILTER_POLICY_SET_E
Definition: m2mb_ble.h:377
M2MB_BLE_USER_EVENT_CTX_S::central_connect_id
UINT32 central_connect_id
Definition: m2mb_ble.h:773
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::offset
UINT32 offset
Definition: m2mb_ble.h:707
M2MB_BLE_GATT_SERVER_WRITE_REQUEST_EVENT_E
Definition: m2mb_ble.h:598
M2MB_BLE_CFG_BLE_DEVICE_NAME_GET_E
Definition: m2mb_ble.h:430
M2MB_BLE_UUID_128_S
BLE 128 bit UUID.
Definition: m2mb_ble.h:120
M2MB_BLE_CFG_SCAN_RSP_DATA_SET_E
Definition: m2mb_ble.h:388
M2MB_BLE_CONNECT_PARAM_UPDATE_EVENT_E
Definition: m2mb_ble.h:615
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::central_read
M2MB_BLE_CLIENT_READ_RESP_CTX_T central_read
Definition: m2mb_ble.h:789
M2MB_BLE_CGF_S::ble_conn_param
M2MB_BLE_CONN_PARAM_T ble_conn_param
Definition: m2mb_ble.h:539
M2MB_BLE_ADVERTISE_EVENT_TYPE_T
M2MB_BLE_ADVERTISE_EVENT_TYPE_T
BLE Advertise event.
Definition: m2mb_ble.h:179
M2MB_BLE_STATUS_PARAM_INVALID_E
Definition: m2mb_ble.h:563
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_T
struct M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_S M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_T
BLE notification and indication data.
M2MB_BLE_CFG_ADV_INT_MIN_SET_E
Definition: m2mb_ble.h:382
M2MB_BLE_MAX_DEVICE_NAME_LENGTH
#define M2MB_BLE_MAX_DEVICE_NAME_LENGTH
Definition: m2mb_ble.h:29
m2mb_ble_ssppin_reply
M2MB_BLE_RESPONSE_T m2mb_ble_ssppin_reply(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr, M2MB_BLE_ADDRESS_TYPE_T bd_addr_type, INT32 ssppin, UINT8 accept_flag)
passkey response
M2MB_BLE_UUID_TYPE_T
M2MB_BLE_UUID_TYPE_T
BLE UUID.
Definition: m2mb_ble.h:146
M2MB_BLE_CLIENT_READ_RESP_CTX_T::value
INT8 * value
Definition: m2mb_ble.h:759
M2MB_BLE_DEVICE_INFO_S::remote_address_type
M2MB_BLE_ADDRESS_TYPE_T remote_address_type
Definition: m2mb_ble.h:837
M2MB_BLE_CFG_BLE_TIO_MODE_SET_E
Definition: m2mb_ble.h:435
M2MB_BLE_PROVISIONING_SCAN_EVENT_E
Definition: m2mb_ble.h:620
M2MB_BLE_PERIPHERAL_MTU_UPDATE_EVENT_E
Definition: m2mb_ble.h:595
M2MB_BLE_DIRECT_CONNECTABLE_E
Definition: m2mb_ble.h:199
M2MB_BLE_GATT_SRVD_S::elements_count
UINT16 elements_count
Definition: m2mb_ble.h:940
M2MB_BLE_CLIENT_WRITE_RESP_CTX_T
BLE client write response.
Definition: m2mb_ble.h:743
M2MB_BLE_CFG_CONNECTION_INT_MIN_GET_E
Definition: m2mb_ble.h:396
M2MB_BLE_SSP_REQUEST_CTX_T::pass_key
UINT32 pass_key
Definition: m2mb_ble.h:719
M2MB_BLE_NON_PAIRABLEMODE_E
Definition: m2mb_ble.h:225
M2MB_BLE_CENTRAL_DISCONNECT_EVENT_E
Definition: m2mb_ble.h:609
M2MB_BLE_CFG_PNP_PRODUCT_VERSION_GET_E
Definition: m2mb_ble.h:424
M2MB_BLE_SCAN_REPORT_DATA_S::data
UINT8 data[M2MB_BLE_ADV_DATA_SIZE]
Definition: m2mb_ble.h:644
M2MB_BLE_USER_EVENTS_T
M2MB_BLE_USER_EVENTS_T
BLE EVENTS to the user.
Definition: m2mb_ble.h:591
M2MB_BLE_CFG_SLAVE_LATENCY_GET_E
Definition: m2mb_ble.h:400
M2MB_BLE_DUAL_ROLE_E
Definition: m2mb_ble.h:240
m2mb_ble_sspconf_reply
M2MB_BLE_RESPONSE_T m2mb_ble_sspconf_reply(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr, M2MB_BLE_ADDRESS_TYPE_T bd_addr_type, UINT32 confirmation_flag)
passkey conformation
M2MB_BLE_ROLE_T
M2MB_BLE_ROLE_T
BLE Role.
Definition: m2mb_ble.h:236
M2MB_BLE_STATUS_ERR_INVALID_HANDLE_E
Definition: m2mb_ble.h:569
M2MB_BLE_CGF_T
struct M2MB_BLE_CGF_S M2MB_BLE_CGF_T
BLE configuration parameters.
M2MB_BLE_SCAN_FILTER_DUPLICATE_DISABLE
Definition: m2mb_ble.h:687
M2MB_BLE_GATT_SRVD_S::gatt_elements
M2MB_BLE_GATT_ELEMENT_T * gatt_elements
Definition: m2mb_ble.h:941
M2MB_BLE_UUID_128_T
struct M2MB_BLE_UUID_128_S M2MB_BLE_UUID_128_T
BLE 128 bit UUID.
M2MB_BLE_UUID_32_T
struct M2MB_BLE_UUID_32_S M2MB_BLE_UUID_32_T
BLE 32 bit UUID.
M2MB_BLE_PERIPHERAL_CFG_S::advertise_interval_max
UINT16 advertise_interval_max
Definition: m2mb_ble.h:459
M2MB_BLE_GATT_SERVER_READ_REQUEST_EVENT_E
Definition: m2mb_ble.h:597
M2MB_BLE_CFG_FIXPIN_SET_E
Definition: m2mb_ble.h:410
M2MB_BLE_GATT_ELEMENT_S::start_handle
UINT16 start_handle
Definition: m2mb_ble.h:927
M2MB_BLE_CENTRAL_SCAN_FILTER_DUPLICATES_T
M2MB_BLE_CENTRAL_SCAN_FILTER_DUPLICATES_T
Scan results duplicate filtering.
Definition: m2mb_ble.h:685
M2MB_BLE_SSP_PIN_EVENT_E
Definition: m2mb_ble.h:618
M2MB_BLE_STATUS_ERR_READ_NOT_PERMITTED_E
Definition: m2mb_ble.h:570
M2MB_BLE_UUID_S::uuid_16
M2MB_BLE_UUID_16_T uuid_16
Definition: m2mb_ble.h:165
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::more_data
UINT8 more_data
Definition: m2mb_ble.h:706
M2MB_BLE_STATUS_NOT_READY_E
Definition: m2mb_ble.h:561
M2MB_BLE_CONN_PARAM_S::slave_latency
UINT16 slave_latency
Definition: m2mb_ble.h:479
m2mb_ble_device_bd_addr_get
M2MB_BLE_RESPONSE_T m2mb_ble_device_bd_addr_get(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T *bd_addr)
Gets the BLE device bd address.
M2MB_BLE_CFG_SLAVE_LATENCY_SET_E
Definition: m2mb_ble.h:401
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::scan_data
M2MB_BLE_SCAN_REPORT_DATA_T scan_data
Definition: m2mb_ble.h:783
M2MB_BLE_BD_NAME_S::bd_name
UINT8 bd_name[M2MB_BLE_MAX_DEVICE_NAME_LENGTH]
Definition: m2mb_ble.h:337
M2MB_BLE_DIS_INFO_T
struct M2MB_BLE_DIS_INFO_S M2MB_BLE_DIS_INFO_T
BLE DIS configuration parameters.
M2MB_BLE_SCAN_REPORT_DATA_S
BLE scan report data.
Definition: m2mb_ble.h:636
M2MB_BLE_CFG_SCAN_DURATION_GET_E
Definition: m2mb_ble.h:370
M2MB_BLE_CFG_PNP_VERSION_ID_SET_E
Definition: m2mb_ble.h:419
M2MB_BLE_DEVICE_INFO_S::remote_device_is_master
BOOLEAN remote_device_is_master
Definition: m2mb_ble.h:835
M2MB_BLE_STATUS_ERR_ATTRIBUTE_NOT_FOUND_E
Definition: m2mb_ble.h:575
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::result_flag
M2MB_BLE_RESPONSE_T * result_flag
Definition: m2mb_ble.h:699
m2mb_ble_shutdown
M2MB_BLE_RESPONSE_T m2mb_ble_shutdown(M2MB_BLE_HANDLE ble_handle)
Deinitialization of BLE.
M2MB_BLE_SECURITY_CFG_S::leprivacy
UINT8 leprivacy
Definition: m2mb_ble.h:494
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::value
UINT8 ** value
Definition: m2mb_ble.h:703
M2MB_BLE_CGF_S::ble_dis_param
M2MB_BLE_DIS_INFO_T ble_dis_param
Definition: m2mb_ble.h:541
M2MB_BLE_CFG_MITM_GET_E
Definition: m2mb_ble.h:407
M2MB_BLE_CFG_SUPERVISION_TIMEOUT_GET_E
Definition: m2mb_ble.h:402
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_EVENT_E
Definition: m2mb_ble.h:611
M2MB_BLE_BOND_LIST_INFO_S::remote_bd_address_type
M2MB_BLE_ADDRESS_TYPE_T remote_bd_address_type
Definition: m2mb_ble.h:868
M2MB_BLE_SECURITY_CFG_S
BLE security configuration parameters.
Definition: m2mb_ble.h:489
M2MB_BLE_STATUS_ERR_OUT_OF_ORDER_E
Definition: m2mb_ble.h:577
M2MB_BLE_STATUS_ERR_INVALID_PDU_E
Definition: m2mb_ble.h:572
M2MB_BLE_CFG_SUPERVISION_TIMEOUT_SET_E
Definition: m2mb_ble.h:403
M2MB_BLE_CFG_ADV_INT_MIN_GET_E
Definition: m2mb_ble.h:381
M2MB_BLE_CFG_IOCAPABILITY_GET_E
Definition: m2mb_ble.h:405
M2MB_BLE_CFG_ADV_INT_MAX_SET_E
Definition: m2mb_ble.h:384
M2MB_BLE_CFG_BLE_ROLE_SET_E
Definition: m2mb_ble.h:428
M2MB_BLE_CGF_S::ble_gen_param
M2MB_BLE_GENERAL_PARAM_T ble_gen_param
Definition: m2mb_ble.h:542
M2MB_BLE_STATUS_ERR_INVALID_OFFSET_E
Definition: m2mb_ble.h:574
M2MB_BLE_DISPLAY_YES_NO_E
Definition: m2mb_ble.h:290
M2MB_BLE_GATT_PRIMARY_SERVICE_E
Definition: m2mb_ble.h:905
M2MB_BLE_CFG_ADV_DATA_SET_E
Definition: m2mb_ble.h:386
M2MB_BLE_CFG_SCAN_DURATION_SET_E
Definition: m2mb_ble.h:371
m2mb_ble_scan_start
M2MB_BLE_RESPONSE_T m2mb_ble_scan_start(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr)
Starts BLE scanning.
M2MB_BLE_CENTRAL_CFG_T
struct M2MB_BLE_CENTRAL_CFG_S M2MB_BLE_CENTRAL_CFG_T
BLE Central configuration parameters.
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::ssp_pin
M2MB_BLE_PIN_REQUEST_CTX_T ssp_pin
Definition: m2mb_ble.h:787
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_S::p_value
UINT8 p_value[M2MB_BLE_MAX_ATTRIBUTE_LENGTH]
Definition: m2mb_ble.h:676
M2MB_BLE_SCAN_REPORT_DATA_S::RSSI
INT8 RSSI
Definition: m2mb_ble.h:639
M2MB_BLE_CFG_GET_E
Definition: m2mb_ble.h:367
M2MB_BLE_RESOLVABLE_FALLBACK_PRIVATE_E
Definition: m2mb_ble.h:263
M2MB_BLE_PERIPHERAL_CFG_S::discover_mode
M2MB_BLE_DISCOVERABILITY_MODE_T discover_mode
Definition: m2mb_ble.h:465
M2MB_BLE_SECURITY_CFG_S::fix_pin
UINT8 fix_pin[M2MB_BLE_FIXPIN_SIZE+1]
Definition: m2mb_ble.h:493
M2MB_BLE_CGF_S
BLE configuration parameters.
Definition: m2mb_ble.h:535
M2MB_BLE_STATUS_ERR_INSUFFICIENT_ENCRYPTION_E
Definition: m2mb_ble.h:581
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::gatt_attrib
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_T gatt_attrib
Definition: m2mb_ble.h:782
M2MB_BLE_DEVICE_INFO_S::identity_address_bdaddr
M2MB_BLE_BD_ADDR_T identity_address_bdaddr
Definition: m2mb_ble.h:838
M2MB_BLE_GATT_SERVER_WRITE_WITHOUT_RESPONSE_EVENT_E
Definition: m2mb_ble.h:599
M2MB_BLE_HANDLE
HANDLE M2MB_BLE_HANDLE
BLE handle.
Definition: m2mb_ble.h:857
M2MB_BLE_IO_CAPABILITY_T
M2MB_BLE_IO_CAPABILITY_T
different IO Capabilities of an LE device
Definition: m2mb_ble.h:284
M2MB_BLE_USER_EVENT_CTX_S::peripheral_connect_id
UINT32 peripheral_connect_id
Definition: m2mb_ble.h:772
M2MB_BLE_CFG_ADV_INT_MAX_GET_E
Definition: m2mb_ble.h:383
M2MB_BLE_GENERAL_PARAM_S
BLE general configuration parameters.
Definition: m2mb_ble.h:519
M2MB_BLE_SSP_REQUEST_CTX_T
BLE SSP request.
Definition: m2mb_ble.h:716
m2mb_ble_provisioning_get
M2MB_BLE_RESPONSE_T m2mb_ble_provisioning_get(M2MB_BLE_HANDLE ble_handle, INT32 *status)
Gets the provisioning status.
M2MB_BLE_DIS_INFO_S::pnpid_product_version
UINT16 pnpid_product_version
Definition: m2mb_ble.h:510
M2MB_BLE_STATUS_ERR_INSUFFICIENT_AUTHORIZATION_E
Definition: m2mb_ble.h:579
M2MB_BLE_STATUS_SUCCESS_E
Definition: m2mb_ble.h:558
m2mb_ble_connid_device_info_get
M2MB_BLE_RESPONSE_T m2mb_ble_connid_device_info_get(M2MB_BLE_HANDLE ble_handle, UINT8 conn_id, M2MB_BLE_DEVICE_INFO_T *dev_info)
Gets the Device information.
m2mb_ble_initialize
M2MB_BLE_RESPONSE_T m2mb_ble_initialize(M2MB_BLE_HANDLE *ble_handle, m2mb_ble_event_callback ble_callback, void *user_data)
Initialization of BLE.
M2MB_BLE_DEVICE_INFO_S::congested_flag
UINT8 congested_flag
Definition: m2mb_ble.h:842
M2MB_BLE_BOND_LIST_INFO_T
struct M2MB_BLE_BOND_LIST_INFO_S M2MB_BLE_BOND_LIST_INFO_T
BLE bond list information.
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_S::notify_ind_flag
UINT8 notify_ind_flag
Definition: m2mb_ble.h:673
M2MB_BLE_CENTRAL_READ_EVENT_E
Definition: m2mb_ble.h:613
M2MB_BLE_CLIENT_READ_RESP_CTX_T
BLE client read response.
Definition: m2mb_ble.h:755
m2mb_ble_write_value_command
M2MB_BLE_RESPONSE_T m2mb_ble_write_value_command(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, UINT8 *value, UINT16 value_len)
Write value to the particular service's characteristic ID.
M2MB_BLE_DISCOVERABILITY_MODE_T
M2MB_BLE_DISCOVERABILITY_MODE_T
BLE discoverability modes.
Definition: m2mb_ble.h:209
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_S
BLE notification and indication data.
Definition: m2mb_ble.h:670
M2MB_BLE_PUBLIC_E
Definition: m2mb_ble.h:252
M2MB_BLE_GATT_ELEMENT_S
BLE GATT elements.
Definition: m2mb_ble.h:919
M2MB_BLE_STATUS_ERR_INSUFFICIENT_AUTHENTICATION_E
Definition: m2mb_ble.h:580
M2MB_BLE_GATT_CHARACTERISTIC_E
Definition: m2mb_ble.h:908
M2MB_BLE_CFG_LEPRIVACY_SET_E
Definition: m2mb_ble.h:412
M2MB_BLE_SECURITY_CFG_S::iocapability
M2MB_BLE_IO_CAPABILITY_T iocapability
Definition: m2mb_ble.h:491
M2MB_BLE_PERIPHERAL_CFG_S
BLE Peripheral configuration parameters.
Definition: m2mb_ble.h:457
m2mb_ble_bdaddr_device_info_get
M2MB_BLE_RESPONSE_T m2mb_ble_bdaddr_device_info_get(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr, M2MB_BLE_DEVICE_INFO_T *dev_info)
Gets the Device information.
M2MB_BLE_PAIRABILITY_MODE_T
M2MB_BLE_PAIRABILITY_MODE_T
BLE pairability modes.
Definition: m2mb_ble.h:223
M2MB_BLE_GATT_SERVER_INDICATION_ENABLE_EVENT_E
Definition: m2mb_ble.h:601
UUID_TYPE_16_BIT_E
Definition: m2mb_ble.h:148
M2MB_BLE_CFG_PNP_PRODUCT_VERSION_SET_E
Definition: m2mb_ble.h:425
M2MB_BLE_CONNECTABILITY_MODE_T
M2MB_BLE_CONNECTABILITY_MODE_T
BLE connectability modes.
Definition: m2mb_ble.h:195
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::service_id
UINT32 service_id
Definition: m2mb_ble.h:700
M2MB_BLE_DEVICE_INFO_T
struct M2MB_BLE_DEVICE_INFO_S M2MB_BLE_DEVICE_INFO_T
BLE device information.
M2MB_BLE_GENERAL_PARAM_S::ble_manufacturer_name
INT8 ble_manufacturer_name[M2MB_BLE_MAX_MANUFACTURER_NAME_LENGTH+1]
Definition: m2mb_ble.h:525
M2MB_BLE_RANDOM_E
Definition: m2mb_ble.h:255
M2MB_BLE_CGF_S::ble_security_cfg
M2MB_BLE_SECURITY_CFG_T ble_security_cfg
Definition: m2mb_ble.h:540
M2MB_BLE_CENTRAL_CFG_S::scan_window
UINT16 scan_window
Definition: m2mb_ble.h:448
M2MB_BLE_GATT_SECONDARY_SERVICE_E
Definition: m2mb_ble.h:906
M2MB_BLE_PERIPHERAL_CFG_S::scan_response_data
UINT8 scan_response_data[M2MB_BLE_SCAN_RSP_DATA_SIZE+1]
Definition: m2mb_ble.h:462
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::notify_data
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_T notify_data
Definition: m2mb_ble.h:785
M2MB_BLE_CGF_S::ble_peripheral_cfg
M2MB_BLE_PERIPHERAL_CFG_T ble_peripheral_cfg
Definition: m2mb_ble.h:538
M2MB_BLE_SCAN_EVENT_E
Definition: m2mb_ble.h:607
M2MB_BLE_PIN_REQUEST_CTX_T::remote_bd_addr
M2MB_BLE_BD_ADDR_T remote_bd_addr
Definition: m2mb_ble.h:731
M2MB_BLE_CFG_SCAN_FILTER_DUPLICATES_SET_E
Definition: m2mb_ble.h:379
M2MB_BLE_SSP_CONF_EVENT_E
Definition: m2mb_ble.h:619
M2MB_BLE_GATT_INCLUDED_SERVICE_E
Definition: m2mb_ble.h:907
M2MB_BLE_STATUS_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH_E
Definition: m2mb_ble.h:576
M2MB_BLE_SECURITY_CFG_T
struct M2MB_BLE_SECURITY_CFG_S M2MB_BLE_SECURITY_CFG_T
BLE security configuration parameters.
M2MB_BLE_DEVICE_INFO_S
BLE device information.
Definition: m2mb_ble.h:831
M2MB_BLE_STATUS_FAILURE_E
Definition: m2mb_ble.h:559
M2MB_BLE_CLIENT_WRITE_RESP_CTX_T::attribute_handle
INT32 attribute_handle
Definition: m2mb_ble.h:746
M2MB_BLE_GENERAL_PARAM_S::ble_device_name
INT8 ble_device_name[M2MB_BLE_MAX_DEVICE_NAME_LENGTH+1]
Definition: m2mb_ble.h:524
M2MB_BLE_UUID_16_T
struct M2MB_BLE_UUID_16_S M2MB_BLE_UUID_16_T
BLE 16 bit UUID.
M2MB_BLE_UUID_16_S
BLE 16 bit UUID.
Definition: m2mb_ble.h:94
M2MB_BLE_CONFIG_PARAM_T
M2MB_BLE_CONFIG_PARAM_T
BLE configuration parameters.
Definition: m2mb_ble.h:365
M2MB_BLE_CFG_SCAN_INTERVAL_SET_E
Definition: m2mb_ble.h:373
M2MB_BLE_CFG_BLE_ROLE_GET_E
Definition: m2mb_ble.h:427
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::ssp_conf
M2MB_BLE_SSP_REQUEST_CTX_T ssp_conf
Definition: m2mb_ble.h:786
M2MB_BLE_GATT_ELEMENT_T
struct M2MB_BLE_GATT_ELEMENT_S M2MB_BLE_GATT_ELEMENT_T
BLE GATT elements.
M2MB_BLE_CFG_BOND_SIZE_SET_E
Definition: m2mb_ble.h:416
M2MB_BLE_ADV_EVT_TYPE_NON_CONNECTABLE
Definition: m2mb_ble.h:184
m2mb_ble_get_init_state
M2MB_BLE_RESPONSE_T m2mb_ble_get_init_state(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_INIT_STATE_T *state)
Getting BLE initialization state.
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_S::connection_id
UINT8 connection_id
Definition: m2mb_ble.h:672
M2MB_BLE_CFG_PAIR_MODE_GET_E
Definition: m2mb_ble.h:393
M2MB_BLE_ADVERTISE_ON_WITH_CUSTOMIZED_ADV_ENABLE
Definition: m2mb_ble.h:881
M2MB_BLE_CGF_S::ble_central_cfg
M2MB_BLE_CENTRAL_CFG_T ble_central_cfg
Definition: m2mb_ble.h:537
M2MB_BLE_UUID_S::uuid_32
M2MB_BLE_UUID_32_T uuid_32
Definition: m2mb_ble.h:166
M2MB_BLE_CENTRAL_WRITE_EVENT_E
Definition: m2mb_ble.h:612
M2MB_BLE_ADDRESS_TYPE_T
M2MB_BLE_ADDRESS_TYPE_T
BLE address types.
Definition: m2mb_ble.h:249
M2MB_BLE_SCAN_REPORT_DATA_S::bd_adv_type
M2MB_BLE_ADVERTISE_EVENT_TYPE_T bd_adv_type
Definition: m2mb_ble.h:642
M2MB_BLE_CFG_PNP_PRODUCT_ID_GET_E
Definition: m2mb_ble.h:422
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S
BLE GATT server event details.
Definition: m2mb_ble.h:697
M2MB_BLE_PERIPHERAL_CFG_S::connect_mode
M2MB_BLE_CONNECTABILITY_MODE_T connect_mode
Definition: m2mb_ble.h:464
M2MB_BLE_CONN_PARAM_S
BLE connection configuration parameters.
Definition: m2mb_ble.h:475
M2MB_BLE_DISPLAY_ONLY_E
Definition: m2mb_ble.h:287
M2MB_BLE_SCAN_REPORT_DATA_S::device_name
INT8 device_name[M2MB_BLE_MAX_DEVICE_NAME_LENGTH+1]
Definition: m2mb_ble.h:640
M2MB_BLE_GENERAL_PARAM_T
struct M2MB_BLE_GENERAL_PARAM_S M2MB_BLE_GENERAL_PARAM_T
BLE general configuration parameters.
M2MB_BLE_PERIPHERAL_CFG_S::pair_mode
M2MB_BLE_PAIRABILITY_MODE_T pair_mode
Definition: m2mb_ble.h:466
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::central_write
M2MB_BLE_CLIENT_WRITE_RESP_CTX_T central_write
Definition: m2mb_ble.h:788
M2MB_BLE_PIN_REQUEST_CTX_T::pin_size
UINT8 pin_size
Definition: m2mb_ble.h:733
M2MB_BLE_CFG_CONNECTION_INT_MAX_GET_E
Definition: m2mb_ble.h:398
M2MB_BLE_ENABLE_INDICATION_E
Definition: m2mb_ble.h:350
M2MB_BLE_SCAN_REPORT_DATA_S::bd_addr_type
M2MB_BLE_ADDRESS_TYPE_T bd_addr_type
Definition: m2mb_ble.h:641
M2MB_BLE_GENERAL_PARAM_S::ble_device_appearance
UINT16 ble_device_appearance
Definition: m2mb_ble.h:523
m2mb_ble_gatts_characteristic_value_add
M2MB_BLE_RESPONSE_T m2mb_ble_gatts_characteristic_value_add(M2MB_BLE_HANDLE ble_handle, UINT16 permissions, UINT16 value_len, UINT8 *value, UINT32 *characteristic_id)
Adds characteristic value information.
m2mb_ble_connect
M2MB_BLE_RESPONSE_T m2mb_ble_connect(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BD_ADDR_T bd_addr, M2MB_BLE_ADDRESS_TYPE_T bd_addr_type, INT32 *connection_id)
Connects to the BLE remote device.
M2MB_BLE_DIS_INFO_S
BLE DIS configuration parameters.
Definition: m2mb_ble.h:505
M2MB_BLE_GATT_ATTRIB_TYPE_T
M2MB_BLE_GATT_ATTRIB_TYPE_T
BLE GATT attribute type.
Definition: m2mb_ble.h:903
M2MB_BLE_CENTRAL_NOTIFY_INDICATE_DATA_S::value_size
UINT16 value_size
Definition: m2mb_ble.h:675
M2MB_BLE_GATT_SERVER_NOTIFY_INDICATE_ENABLE_EVENT_E
Definition: m2mb_ble.h:602
m2mb_ble_conf
M2MB_BLE_RESPONSE_T m2mb_ble_conf(M2MB_BLE_HANDLE ble_handle, UINT8 num_cmds,...)
BLE configuration API.
M2MB_BLE_PIN_REQUEST_CTX_T::accept_flag
UINT8 accept_flag
Definition: m2mb_ble.h:734
M2MB_BLE_BD_NAME_S
Bluetooth Device Name.
Definition: m2mb_ble.h:335
M2MB_BLE_SCAN_FILTER_DUPLICATE_ENABLE
Definition: m2mb_ble.h:688
M2MB_BLE_CENTRAL_CONNECT_EVENT_E
Definition: m2mb_ble.h:608
m2mb_ble_cccd_request
M2MB_BLE_RESPONSE_T m2mb_ble_cccd_request(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, INT32 char_handle, M2MB_BLE_CCCD_T cccd_val)
CCCD value request.
M2MB_BLE_CENTRAL_CFG_S
BLE Central configuration parameters.
Definition: m2mb_ble.h:444
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::char_cccd_id
UINT32 char_cccd_id
Definition: m2mb_ble.h:702
m2mb_ble_bond_list_get
M2MB_BLE_RESPONSE_T m2mb_ble_bond_list_get(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_BOND_LIST_INFO_T **bond_list_info, UINT32 *num_of_entries)
Gets the bond information.
M2MB_BLE_PERIPHERAL_CFG_S::advertise_interval_min
UINT16 advertise_interval_min
Definition: m2mb_ble.h:460
M2MB_BLE_STATUS_ERR_REQUEST_NOT_SUPPORTED_E
Definition: m2mb_ble.h:573
M2MB_BLE_CFG_ADV_DATA_GET_E
Definition: m2mb_ble.h:385
M2MB_BLE_GATT_ELEMENT_S::uuid
M2MB_BLE_UUID_T uuid
Definition: m2mb_ble.h:922
M2MB_BLE_ADV_TYPE_T
M2MB_BLE_ADV_TYPE_T
BLE ADV type.
Definition: m2mb_ble.h:878
UUID_TYPE_128_BIT_E
Definition: m2mb_ble.h:150
m2mb_ble_send_indication
M2MB_BLE_RESPONSE_T m2mb_ble_send_indication(M2MB_BLE_HANDLE ble_handle, INT32 attribute_handle, INT32 conn_id, INT32 len, INT32 confirm, UINT8 *value)
Sending indication to the service.
M2MB_BLE_PERIPHERAL_CONNECT_EVENT_E
Definition: m2mb_ble.h:593
M2MB_BLE_STATUS_INVALID_E
Definition: m2mb_ble.h:567
M2MB_BLE_BOND_LIST_INFO_S::remote_bd_role
M2MB_BLE_ROLE_T remote_bd_role
Definition: m2mb_ble.h:869
M2MB_BLE_SECURITY_CFG_S::ble_bond_store_support
UINT8 ble_bond_store_support
Definition: m2mb_ble.h:495
M2MB_BLE_PIN_REQUEST_CTX_T
BLE PIN request.
Definition: m2mb_ble.h:729
M2MB_BLE_GATT_SERVER_CHAR_VALUE_UPDATED_EVENT_E
Definition: m2mb_ble.h:605
M2MB_BLE_CONN_PARAM_T
struct M2MB_BLE_CONN_PARAM_S M2MB_BLE_CONN_PARAM_T
BLE connection configuration parameters.
M2MB_BLE_BOND_LIST_INFO_S::remote_bd_address
M2MB_BLE_BD_ADDR_T remote_bd_address
Definition: m2mb_ble.h:867
M2MB_BLE_STATUS_OUT_OF_RANGE_E
Definition: m2mb_ble.h:560
M2MB_BLE_STATUS_UNSUPPORTED_E
Definition: m2mb_ble.h:562
M2MB_BLE_CFG_SCAN_FILTER_POLICY_GET_E
Definition: m2mb_ble.h:376
M2MB_BLE_SECURITY_CFG_S::mitm
UINT8 mitm
Definition: m2mb_ble.h:492
M2MB_BLE_CFG_SET_E
Definition: m2mb_ble.h:368
M2MB_BLE_DIS_INFO_S::pnpid_vendor_id_source
UINT16 pnpid_vendor_id_source
Definition: m2mb_ble.h:508
M2MB_BLE_USER_EVENT_CTX_T
struct M2MB_BLE_USER_EVENT_CTX_S M2MB_BLE_USER_EVENT_CTX_T
BLE user event.
M2MB_BLE_STATUS_AUTH_REJECTED_E
Definition: m2mb_ble.h:566
M2MB_BLE_RESPONSE_T
M2MB_BLE_RESPONSE_T
BLE status.
Definition: m2mb_ble.h:556
M2MB_BLE_CFG_BOND_STORE_SUPPORT_GET_E
Definition: m2mb_ble.h:413
M2MB_BLE_CFG_BLE_BD_ADDR_GET_E
Definition: m2mb_ble.h:429
M2MB_BLE_LIMITED_DISCOVERABLE_MODE_E
Definition: m2mb_ble.h:212
M2MB_BLE_USER_EVENT_CTX_S::mtu
UINT32 mtu
Definition: m2mb_ble.h:774
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S::char_id
UINT32 char_id
Definition: m2mb_ble.h:701
M2MB_BLE_PERIPHERAL_DISCONNECT_EVENT_E
Definition: m2mb_ble.h:594
M2MB_BLE_CLIENT_READ_RESP_CTX_T::value_length
INT32 value_length
Definition: m2mb_ble.h:758
M2MB_BLE_USER_EVENT_CTX_S::M2MB_BLE_EVENT_DATA_U::connection_params
M2MB_BLE_CONN_PARAM_T connection_params
Definition: m2mb_ble.h:784
M2MB_BLE_CCCD_T
M2MB_BLE_CCCD_T
BLE CCCD.
Definition: m2mb_ble.h:346
m2mb_ble_gatts_serv_send_data
M2MB_BLE_RESPONSE_T m2mb_ble_gatts_serv_send_data(M2MB_BLE_HANDLE ble_handle, UINT32 serv_id, UINT32 char_id, UINT8 *value, UINT16 value_len, M2MB_BLE_CCCD_T cccd)
Send data to the server.
M2MB_BLE_ADV_EVT_TYPE_SCAN_RSP
Definition: m2mb_ble.h:185
M2MB_BLE_CONN_PARAM_S::supervision_timeout
UINT16 supervision_timeout
Definition: m2mb_ble.h:480
M2MB_BLE_SCAN_REPORT_DATA_T
struct M2MB_BLE_SCAN_REPORT_DATA_S M2MB_BLE_SCAN_REPORT_DATA_T
BLE scan report data.
M2MB_BLE_GATT_ELEMENT_S::type
M2MB_BLE_GATT_ATTRIB_TYPE_T type
Definition: m2mb_ble.h:921
m2mb_ble_advertise
M2MB_BLE_RESPONSE_T m2mb_ble_advertise(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_ADV_TYPE_T adv_type)
Starts advertising.
M2MB_BLE_CFG_PNP_PRODUCT_ID_SET_E
Definition: m2mb_ble.h:423
M2MB_BLE_CONNECTABLE_E
Definition: m2mb_ble.h:198
M2MB_BLE_ADVERTISE_OFF
Definition: m2mb_ble.h:882
M2MB_BLE_GATT_SERVER_NOTIFICATION_ENABLE_EVENT_E
Definition: m2mb_ble.h:600
M2MB_BLE_ADVERTISE_ON_WITH_CUSTOMIZED_ADV_DISABLE
Definition: m2mb_ble.h:880
M2MB_BLE_STATE_UNINITIALIZED
Definition: m2mb_ble.h:894
M2MB_BLE_CENTRAL_MTU_UPDATE_EVENT_E
Definition: m2mb_ble.h:610
M2MB_BLE_DEVICE_INFO_S::remote_address
M2MB_BLE_BD_ADDR_T remote_address
Definition: m2mb_ble.h:836
M2MB_BLE_CENTRAL_CFG_S::scan_duration
UINT16 scan_duration
Definition: m2mb_ble.h:446
M2MB_BLE_DEVICE_INFO_S::mtu_size
UINT32 mtu_size
Definition: m2mb_ble.h:840
M2MB_BLE_CFG_LEPRIVACY_GET_E
Definition: m2mb_ble.h:411
M2MB_BLE_CFG_DISCOVER_MODE_GET_E
Definition: m2mb_ble.h:391
M2MB_BLE_CLIENT_READ_RESP_CTX_T::status
INT32 status
Definition: m2mb_ble.h:757
M2MB_BLE_GATT_DESCRIPTOR_E
Definition: m2mb_ble.h:909
M2MB_BLE_CENTRAL_ROLE_E
Definition: m2mb_ble.h:239
M2MB_BLE_DIS_INFO_S::pnpid_product_id
UINT16 pnpid_product_id
Definition: m2mb_ble.h:509
M2MB_BLE_GATT_ELEMENT_S::end_handle
UINT16 end_handle
Definition: m2mb_ble.h:928
M2MB_BLE_GATT_ELEMENT_S::attrib_handle
UINT16 attrib_handle
Definition: m2mb_ble.h:923
M2MB_BLE_GATT_SERVER_NOTIFY_INDICATE_DISABLE_EVENT_E
Definition: m2mb_ble.h:603
M2MB_BLE_CFG_BLE_DEVICE_NAME_SET_E
Definition: m2mb_ble.h:431
M2MB_BLE_GATT_SERVER_EVENT_DETAILS_T
struct M2MB_BLE_GATT_SERVER_EVENT_DETAILS_S M2MB_BLE_GATT_SERVER_EVENT_DETAILS_T
BLE GATT server event details.
M2MB_BLE_DEVICE_INFO_S::used_flag
BOOLEAN used_flag
Definition: m2mb_ble.h:833
M2MB_BLE_GATT_SRVD_T
struct M2MB_BLE_GATT_SRVD_S M2MB_BLE_GATT_SRVD_T
BLE service discovery feature.
m2mb_ble_gatts_service_add
M2MB_BLE_RESPONSE_T m2mb_ble_gatts_service_add(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_UUID_T service_uuid)
Adds ble service.
M2MB_BLE_CLIENT_WRITE_RESP_CTX_T::status
INT32 status
Definition: m2mb_ble.h:745
M2MB_BLE_CFG_SCAN_FILTER_DUPLICATES_GET_E
Definition: m2mb_ble.h:378
M2MB_BLE_CFG_BOND_SIZE_GET_E
Definition: m2mb_ble.h:415
m2mb_ble_disconnect
M2MB_BLE_RESPONSE_T m2mb_ble_disconnect(M2MB_BLE_HANDLE ble_handle, INT32 connection_id)
Disconnects BLE devices.
m2mb_ble_event_callback
void(* m2mb_ble_event_callback)(M2MB_BLE_HANDLE ble_handle, M2MB_BLE_USER_EVENTS_T ble_event, UINT16 resp_size, void *resp, void *userdata)
BLE event callback.
Definition: m2mb_ble.h:950
M2MB_BLE_CFG_FIXPIN_GET_E
Definition: m2mb_ble.h:409
M2MB_BLE_CFG_BLE_TIO_MODE_GET_E
Definition: m2mb_ble.h:434
m2mb_ble_start_discovery
M2MB_BLE_RESPONSE_T m2mb_ble_start_discovery(M2MB_BLE_HANDLE ble_handle, INT32 connection_id, M2MB_BLE_UUID_T uuid, M2MB_BLE_GATT_SRVD_T **results)
Starts service discovery.
M2MB_BLE_NON_DISCOVERABLE_MODE_E
Definition: m2mb_ble.h:211
M2MB_BLE_ENABLE_NOTIFICATION_E
Definition: m2mb_ble.h:349
M2MB_BLE_SSP_PIN_NOTIFICATION_EVENT_E
Definition: m2mb_ble.h:617
M2MB_BLE_CFG_CONNECT_MODE_SET_E
Definition: m2mb_ble.h:390
M2MB_BLE_SSP_REQUEST_CTX_T::remote_bd_addr
M2MB_BLE_BD_ADDR_T remote_bd_addr
Definition: m2mb_ble.h:718
M2MB_BLE_CFG_PNP_VERSION_ID_GET_E
Definition: m2mb_ble.h:418
M2MB_BLE_DEVICE_INFO_S::identity_address_type
M2MB_BLE_ADDRESS_TYPE_T identity_address_type
Definition: m2mb_ble.h:839
M2MB_BLE_USER_EVENT_CTX_S
BLE user event.
Definition: m2mb_ble.h:770
M2MB_BLE_DEVICE_INFO_S::conn_params
M2MB_BLE_CONN_PARAM_T conn_params
Definition: m2mb_ble.h:841