py_ble_manager.ble_api package
Submodules
py_ble_manager.ble_api.BleApiBase module
py_ble_manager.ble_api.BleAtt module
- class ATT_ERROR(value)[source]
Bases:
IntEnum
Error code for ATT operation (as defined by Core 4.2 specification)
- ATT_ERROR_APPLICATION_ERROR = 128
- ATT_ERROR_ATTRIBUTE_NOT_FOUND = 10
- ATT_ERROR_ATTRIBUTE_NOT_LONG = 11
- ATT_ERROR_CCC_DESCRIPTOR_IMPROPERLY_CONFIGURED = 253
- ATT_ERROR_INSUFFICIENT_AUTHENTICATION = 5
- ATT_ERROR_INSUFFICIENT_AUTHORIZATION = 8
- ATT_ERROR_INSUFFICIENT_ENCRYPTION = 15
- ATT_ERROR_INSUFFICIENT_KEY_SIZE = 12
- ATT_ERROR_INSUFFICIENT_RESOURCES = 17
- ATT_ERROR_INVALID_HANDLE = 1
- ATT_ERROR_INVALID_OFFSET = 7
- ATT_ERROR_INVALID_PDU = 4
- ATT_ERROR_INVALID_VALUE_LENGTH = 13
- ATT_ERROR_OK = 0
- ATT_ERROR_PREPARE_QUEUE_FULL = 9
- ATT_ERROR_PROCEDURE_ALREADY_IN_PROGRESS = 254
- ATT_ERROR_READ_NOT_PERMITTED = 2
- ATT_ERROR_REQUEST_NOT_SUPPORTED = 6
- ATT_ERROR_UNLIKELY = 14
- ATT_ERROR_UNSUPPORTED_GROUP_TYPE = 16
- ATT_ERROR_WRITE_NOT_PERMITTED = 3
- GAP_ERR_ADV_DATA_INVALID = 74
- GAP_ERR_CANCELED = 68
- GAP_ERR_COMMAND_DISALLOWED = 67
- GAP_ERR_DISCONNECTED = 70
- GAP_ERR_INSUFF_RESOURCES = 75
- GAP_ERR_INVALID_PARAM = 64
- GAP_ERR_NOT_FOUND = 71
- GAP_ERR_NOT_SUPPORTED = 66
- GAP_ERR_PRIVACY_CFG_PB = 73
- GAP_ERR_PROTOCOL_PROBLEM = 65
- GAP_ERR_REJECTED = 72
- GAP_ERR_TIMEOUT = 69
- GAP_ERR_UNEXPECTED = 76
- GATT_ERR_ATTRIBUTE_CLIENT_MISSING = 84
- GATT_ERR_ATTRIBUTE_SERVER_MISSING = 85
- GATT_ERR_INVALID_ATT_LEN = 80
- GATT_ERR_INVALID_PERM = 86
- GATT_ERR_INVALID_TYPE_IN_SVC_SEARCH = 81
- GATT_ERR_SIGNED_WRITE = 83
- GATT_ERR_WRITE = 82
- L2C_ERR_CONNECTION_LOST = 48
- L2C_ERR_INSUFF_AUTHEN = 54
- L2C_ERR_INSUFF_AUTHOR = 55
- L2C_ERR_INSUFF_CREDIT = 59
- L2C_ERR_INSUFF_ENC = 57
- L2C_ERR_INSUFF_ENC_KEY_SIZE = 56
- L2C_ERR_INVALID_CID = 51
- L2C_ERR_INVALID_MPS_EXCEED = 50
- L2C_ERR_INVALID_MTU_EXCEED = 49
- L2C_ERR_INVALID_PDU = 52
- L2C_ERR_INVALID_SCID = 61
- L2C_ERR_LEPSM_NOT_SUPP = 58
- L2C_ERR_NOT_UNDERSTOOD = 60
- L2C_ERR_NO_MORE_CREDIT = 59
- L2C_ERR_NO_RES_AVAIL = 53
- L2C_ERR_SCID_ALLOCATED = 62
- L2C_ERR_UNACCEPTABLE_PARAM = 63
- LL_ERR_ACL_CON_EXISTS = 155
- LL_ERR_AUTH_FAILURE = 149
- LL_ERR_CHANNEL_CLASS_NOT_SUP = 190
- LL_ERR_COMMAND_DISALLOWED = 156
- LL_ERR_CONN_ACCEPT_TIMEOUT_EXCEED = 160
- LL_ERR_CONN_FAILED_TO_BE_EST = 206
- LL_ERR_CONN_REJ_LIMITED_RESOURCES = 157
- LL_ERR_CONN_REJ_SECURITY_REASONS = 158
- LL_ERR_CONN_REJ_UNACCEPTABLE_BDADDR = 159
- LL_ERR_CONTROLLER_BUSY = 202
- LL_ERR_CON_LIMIT_EXCEED = 153
- LL_ERR_CON_TERM_BY_LOCAL_HOST = 166
- LL_ERR_CON_TIMEOUT = 152
- LL_ERR_DIFF_TRANSACTION_COLLISION = 186
- LL_ERR_DIRECT_ADV_TO = 204
- LL_ERR_EIR_TOO_LARGE = 198
- LL_ERR_ENC_MODE_NOT_ACCEPT = 181
- LL_ERR_HARDWARE_FAILURE = 147
- LL_ERR_HOST_BUSY_PAIRING = 200
- LL_ERR_INSTANT_PASSED = 184
- LL_ERR_INSUFFICIENT_SECURITY = 191
- LL_ERR_INVALID_HCI_PARAM = 162
- LL_ERR_INVALID_LMP_PARAM = 174
- LL_ERR_LINK_KEY_CANT_CHANGE = 182
- LL_ERR_LMP_COLLISION = 179
- LL_ERR_LMP_PDU_NOT_ALLOWED = 180
- LL_ERR_LMP_RSP_TIMEOUT = 178
- LL_ERR_MEMORY_CAPA_EXCEED = 151
- LL_ERR_PAGE_TIMEOUT = 148
- LL_ERR_PAIRING_NOT_ALLOWED = 168
- LL_ERR_PAIRING_WITH_UNIT_KEY_NOT_SUP = 185
- LL_ERR_PARAM_OUT_OF_MAND_RANGE = 192
- LL_ERR_PIN_MISSING = 150
- LL_ERR_QOS_NOT_SUPPORTED = 183
- LL_ERR_QOS_REJECTED = 189
- LL_ERR_QOS_UNACCEPTABLE_PARAM = 188
- LL_ERR_REMOTE_DEV_POWER_OFF = 165
- LL_ERR_REMOTE_DEV_TERM_LOW_RESOURCES = 164
- LL_ERR_REMOTE_USER_TERM_CON = 163
- LL_ERR_REPEATED_ATTEMPTS = 167
- LL_ERR_RESERVED_SLOT_VIOLATION = 196
- LL_ERR_ROLE_CHANGE_NOT_ALLOWED = 177
- LL_ERR_ROLE_SWITCH_FAIL = 197
- LL_ERR_ROLE_SWITCH_PEND = 194
- LL_ERR_SCO_AIR_MODE_REJECTED = 173
- LL_ERR_SCO_INTERVAL_REJECTED = 172
- LL_ERR_SCO_OFFSET_REJECTED = 171
- LL_ERR_SP_NOT_SUPPORTED_HOST = 199
- LL_ERR_SYNC_CON_LIMIT_DEV_EXCEED = 154
- LL_ERR_TERMINATED_MIC_FAILURE = 205
- LL_ERR_UNACCEPTABLE_CONN_INT = 203
- LL_ERR_UNKNOWN_CONNECTION_ID = 146
- LL_ERR_UNKNOWN_HCI_COMMAND = 145
- LL_ERR_UNKNOWN_LMP_PDU = 169
- LL_ERR_UNSPECIFIED_ERROR = 175
- LL_ERR_UNSUPPORTED = 161
- LL_ERR_UNSUPPORTED_LMP_PARAM_VALUE = 176
- LL_ERR_UNSUPPORTED_REMOTE_FEATURE = 170
- PRF_APP_ERROR = 128
- PRF_ERR_DISCONNECTED = 142
- PRF_ERR_FEATURE_NOT_SUPPORTED = 140
- PRF_ERR_IND_DISABLED = 139
- PRF_ERR_INEXISTENT_HDL = 130
- PRF_ERR_INVALID_PARAM = 129
- PRF_ERR_MULTIPLE_CHAR = 134
- PRF_ERR_MULTIPLE_SVC = 132
- PRF_ERR_NOT_READABLE = 136
- PRF_ERR_NOT_WRITABLE = 135
- PRF_ERR_NTF_DISABLED = 138
- PRF_ERR_PROC_TIMEOUT = 143
- PRF_ERR_REQ_DISALLOWED = 137
- PRF_ERR_STOP_DISC_CHAR_MISSING = 131
- PRF_ERR_STOP_DISC_WRONG_CHAR_PROP = 133
- PRF_ERR_UNEXPECTED_LEN = 141
- PRF_OUT_OF_RANGE = 255
- SMP_ERROR_LOC_ADDR_RESOLV_FAIL = 109
- SMP_ERROR_LOC_AUTH_REQ = 99
- SMP_ERROR_LOC_CMD_NOT_SUPPORTED = 103
- SMP_ERROR_LOC_CONF_VAL_FAILED = 100
- SMP_ERROR_LOC_ENC_KEY_SIZE = 102
- SMP_ERROR_LOC_INVALID_PARAM = 106
- SMP_ERROR_LOC_LL_ERROR = 108
- SMP_ERROR_LOC_OOB_NOT_AVAILABLE = 98
- SMP_ERROR_LOC_PAIRING_NOT_SUPP = 101
- SMP_ERROR_LOC_PASSKEY_ENTRY_FAILED = 97
- SMP_ERROR_LOC_REPEATED_ATTEMPTS = 105
- SMP_ERROR_LOC_REQ_DISALLOWED = 107
- SMP_ERROR_LOC_SIGN_VERIF_FAIL = 110
- SMP_ERROR_LOC_TIMEOUT = 111
- SMP_ERROR_LOC_UNSPECIFIED_REASON = 104
- SMP_ERROR_REM_AUTH_REQ = 115
- SMP_ERROR_REM_CMD_NOT_SUPPORTED = 119
- SMP_ERROR_REM_CONF_VAL_FAILED = 116
- SMP_ERROR_REM_ENC_KEY_MISSING = 123
- SMP_ERROR_REM_ENC_KEY_SIZE = 118
- SMP_ERROR_REM_ENC_NOT_SUPPORTED = 124
- SMP_ERROR_REM_ENC_TIMEOUT = 125
- SMP_ERROR_REM_INVALID_PARAM = 122
- SMP_ERROR_REM_OOB_NOT_AVAILABLE = 114
- SMP_ERROR_REM_PAIRING_NOT_SUPP = 117
- SMP_ERROR_REM_PASSKEY_ENTRY_FAILED = 113
- SMP_ERROR_REM_REPEATED_ATTEMPTS = 121
- SMP_ERROR_REM_UNSPECIFIED_REASON = 120
- class ATT_PERM(value)[source]
Bases:
IntEnum
Attribute permission
- ATT_PERM_KEYSIZE_16 = 128
- ATT_PERM_NONE = 0
- ATT_PERM_READ = 1
- ATT_PERM_READ_AUTH = 4
- ATT_PERM_READ_ENCRYPT = 16
- ATT_PERM_RW = 3
- ATT_PERM_RW_AUTH = 12
- ATT_PERM_RW_ENCRYPT = 48
- ATT_PERM_WRITE = 2
- ATT_PERM_WRITE_AUTH = 8
- ATT_PERM_WRITE_ENCRYPT = 32
py_ble_manager.ble_api.BleCommon module
- class ADDR_TYPE(value)[source]
Bases:
IntEnum
Bluetooth address type
- PRIVATE_ADDRESS = 1
- PUBLIC_ADDRESS = 0
- class BLE_ERROR(value)[source]
Bases:
IntEnum
BLE error code
- BLE_ERROR_ALREADY_DONE = 2
- BLE_ERROR_BUSY = 9
- BLE_ERROR_CANCELED = 12
- BLE_ERROR_DIFF_TRANS_COLLISION = 20
- BLE_ERROR_ENC_KEY_MISSING = 13
- BLE_ERROR_FAILED = 1
- BLE_ERROR_INS_BANDWIDTH = 18
- BLE_ERROR_INS_RESOURCES = 14
- BLE_ERROR_INVALID_PARAM = 4
- BLE_ERROR_IN_PROGRESS = 3
- BLE_ERROR_L2CAP_MTU_EXCEEDED = 17
- BLE_ERROR_L2CAP_NO_CREDITS = 16
- BLE_ERROR_LMP_COLLISION = 19
- BLE_ERROR_NOT_ACCEPTED = 8
- BLE_ERROR_NOT_ALLOWED = 5
- BLE_ERROR_NOT_CONNECTED = 6
- BLE_ERROR_NOT_FOUND = 15
- BLE_ERROR_NOT_SUPPORTED = 7
- BLE_ERROR_NOT_SUPPORTED_BY_PEER = 11
- BLE_ERROR_TIMEOUT = 10
- BLE_STATUS_OK = 0
- class BLE_EVT_CAT(value)[source]
Bases:
IntEnum
BLE event categories
- BLE_EVT_CAT_COMMON = 1
- BLE_EVT_CAT_GAP = 2
- BLE_EVT_CAT_GATTC = 4
- BLE_EVT_CAT_GATTS = 3
- BLE_EVT_CAT_L2CAP = 5
- class BLE_EVT_COMMON(value)[source]
Bases:
IntEnum
BLE Common events
- BLE_EVT_RESET_COMPLETED = 256
- class BLE_EVT_GAP(value)[source]
Bases:
IntEnum
BLE GAP events
- BLE_EVT_GAP_ADDRESS_RESOLUTION_FAILED = 533
- BLE_EVT_GAP_ADDRESS_RESOLVED = 526
- BLE_EVT_GAP_ADV_COMPLETED = 516
- BLE_EVT_GAP_ADV_REPORT = 513
- BLE_EVT_GAP_AIR_OP_BDADDR = 535
- BLE_EVT_GAP_CONNECTED = 512
- BLE_EVT_GAP_CONNECTION_COMPLETED = 531
- BLE_EVT_GAP_CONN_PARAM_UPDATED = 519
- BLE_EVT_GAP_CONN_PARAM_UPDATE_COMPLETED = 528
- BLE_EVT_GAP_CONN_PARAM_UPDATE_REQ = 518
- BLE_EVT_GAP_DATA_LENGTH_CHANGED = 529
- BLE_EVT_GAP_DATA_LENGTH_SET_FAILED = 530
- BLE_EVT_GAP_DISCONNECTED = 514
- BLE_EVT_GAP_DISCONNECT_FAILED = 515
- BLE_EVT_GAP_LOCAL_TX_PWR = 540
- BLE_EVT_GAP_LTK = 543
- BLE_EVT_GAP_LTK_MISSING = 534
- BLE_EVT_GAP_NUMERIC_REQUEST = 532
- BLE_EVT_GAP_PAIR_COMPLETED = 521
- BLE_EVT_GAP_PAIR_REQ = 520
- BLE_EVT_GAP_PASSKEY_NOTIFY = 523
- BLE_EVT_GAP_PASSKEY_REQUEST = 524
- BLE_EVT_GAP_PATH_LOSS_THRES = 542
- BLE_EVT_GAP_PEER_FEATURES = 539
- BLE_EVT_GAP_PEER_VERSION = 538
- BLE_EVT_GAP_PHY_CHANGED = 537
- BLE_EVT_GAP_PHY_SET_COMPLETED = 536
- BLE_EVT_GAP_SCAN_COMPLETED = 517
- BLE_EVT_GAP_SECURITY_REQUEST = 522
- BLE_EVT_GAP_SEC_LEVEL_CHANGED = 525
- BLE_EVT_GAP_SET_SEC_LEVEL_FAILED = 527
- BLE_EVT_GAP_TX_PWR_REPORT = 541
- class BLE_EVT_GATTC(value)[source]
Bases:
IntEnum
BLE GATTC events
- BLE_EVT_GATTC_BROWSE_COMPLETED = 1025
- BLE_EVT_GATTC_BROWSE_SVC = 1024
- BLE_EVT_GATTC_DISCOVER_CHAR = 1028
- BLE_EVT_GATTC_DISCOVER_COMPLETED = 1030
- BLE_EVT_GATTC_DISCOVER_DESC = 1029
- BLE_EVT_GATTC_DISCOVER_INCLUDE = 1027
- BLE_EVT_GATTC_DISCOVER_SVC = 1026
- BLE_EVT_GATTC_INDICATION = 1034
- BLE_EVT_GATTC_MTU_CHANGED = 1035
- BLE_EVT_GATTC_NOTIFICATION = 1033
- BLE_EVT_GATTC_READ_COMPLETED = 1031
- BLE_EVT_GATTC_WRITE_COMPLETED = 1032
- class BLE_EVT_GATTS(value)[source]
Bases:
IntEnum
BLE GATTS events
- BLE_EVT_GATTS_EVENT_SENT = 771
- BLE_EVT_GATTS_PREPARE_WRITE_REQ = 770
- BLE_EVT_GATTS_READ_REQ = 768
- BLE_EVT_GATTS_WRITE_REQ = 769
- class BLE_HCI_ERROR(value)[source]
Bases:
IntEnum
BLE HCI error code
- BLE_HCI_ERROR_ACL_CON_EXISTS = 11
- BLE_HCI_ERROR_AUTH_FAILURE = 5
- BLE_HCI_ERROR_CHANNEL_CLASS_NOT_SUP = 46
- BLE_HCI_ERROR_COARSE_CLK_ADJUST_REJECTED = 64
- BLE_HCI_ERROR_COMMAND_DISALLOWED = 12
- BLE_HCI_ERROR_CONN_ACCEPT_TIMEOUT_EXCEED = 16
- BLE_HCI_ERROR_CONN_FAILED_TO_BE_EST = 62
- BLE_HCI_ERROR_CONN_REJ_LIMITED_RESOURCES = 13
- BLE_HCI_ERROR_CONN_REJ_NO_SUITABLE_CHANNEL = 57
- BLE_HCI_ERROR_CONN_REJ_SECURITY_REASONS = 14
- BLE_HCI_ERROR_CONN_REJ_UNACCEPTABLE_BDADDR = 15
- BLE_HCI_ERROR_CONTROLLER_BUSY = 58
- BLE_HCI_ERROR_CON_LIMIT_EXCEED = 9
- BLE_HCI_ERROR_CON_TERM_BY_LOCAL_HOST = 22
- BLE_HCI_ERROR_CON_TIMEOUT = 8
- BLE_HCI_ERROR_DIFF_TRANSACTION_COLLISION = 42
- BLE_HCI_ERROR_DIRECT_ADV_TO = 60
- BLE_HCI_ERROR_EIR_TOO_LARGE = 54
- BLE_HCI_ERROR_ENC_MODE_NOT_ACCEPT = 37
- BLE_HCI_ERROR_HARDWARE_FAILURE = 3
- BLE_HCI_ERROR_HOST_BUSY_PAIRING = 56
- BLE_HCI_ERROR_INSTANT_PASSED = 40
- BLE_HCI_ERROR_INSUFFICIENT_SECURITY = 47
- BLE_HCI_ERROR_INVALID_HCI_PARAM = 18
- BLE_HCI_ERROR_INVALID_LMP_PARAM = 30
- BLE_HCI_ERROR_LINK_KEY_CANT_CHANGE = 38
- BLE_HCI_ERROR_LMP_COLLISION = 35
- BLE_HCI_ERROR_LMP_PDU_NOT_ALLOWED = 36
- BLE_HCI_ERROR_LMP_RSP_TIMEOUT = 34
- BLE_HCI_ERROR_MAC_CONNECTION_FAILED = 63
- BLE_HCI_ERROR_MEMORY_CAPA_EXCEED = 7
- BLE_HCI_ERROR_NO_ERROR = 0
- BLE_HCI_ERROR_PAGE_TIMEOUT = 4
- BLE_HCI_ERROR_PAIRING_NOT_ALLOWED = 24
- BLE_HCI_ERROR_PAIRING_WITH_UNIT_KEY_NOT_SUP = 41
- BLE_HCI_ERROR_PARAM_OUT_OF_MAND_RANGE = 48
- BLE_HCI_ERROR_PIN_MISSING = 6
- BLE_HCI_ERROR_QOS_NOT_SUPPORTED = 39
- BLE_HCI_ERROR_QOS_REJECTED = 45
- BLE_HCI_ERROR_QOS_UNACCEPTABLE_PARAM = 44
- BLE_HCI_ERROR_REMOTE_DEV_POWER_OFF = 21
- BLE_HCI_ERROR_REMOTE_DEV_TERM_LOW_RESOURCES = 20
- BLE_HCI_ERROR_REMOTE_USER_TERM_CON = 19
- BLE_HCI_ERROR_REPEATED_ATTEMPTS = 23
- BLE_HCI_ERROR_RESERVED_SLOT_VIOLATION = 52
- BLE_HCI_ERROR_ROLE_CHANGE_NOT_ALLOWED = 33
- BLE_HCI_ERROR_ROLE_SWITCH_FAIL = 53
- BLE_HCI_ERROR_ROLE_SWITCH_PEND = 50
- BLE_HCI_ERROR_SCO_AIR_MODE_REJECTED = 29
- BLE_HCI_ERROR_SCO_INTERVAL_REJECTED = 28
- BLE_HCI_ERROR_SCO_OFFSET_REJECTED = 27
- BLE_HCI_ERROR_SP_NOT_SUPPORTED_HOST = 55
- BLE_HCI_ERROR_SYNC_CON_LIMIT_DEV_EXCEED = 10
- BLE_HCI_ERROR_TERMINATED_MIC_FAILURE = 61
- BLE_HCI_ERROR_UNACCEPTABLE_CONN_INT = 59
- BLE_HCI_ERROR_UNKNOWN = 65
- BLE_HCI_ERROR_UNKNOWN_CONNECTION_ID = 2
- BLE_HCI_ERROR_UNKNOWN_HCI_COMMAND = 1
- BLE_HCI_ERROR_UNKNOWN_LMP_PDU = 25
- BLE_HCI_ERROR_UNSPECIFIED_ERROR = 31
- BLE_HCI_ERROR_UNSUPPORTED = 17
- BLE_HCI_ERROR_UNSUPPORTED_LMP_PARAM_VALUE = 32
- BLE_HCI_ERROR_UNSUPPORTED_REMOTE_FEATURE = 26
- class BLE_STATUS(value)[source]
Bases:
IntEnum
BLE status
- BLE_IS_BUSY = 2
- BLE_IS_DISABLED = 0
- BLE_IS_ENABLED = 1
- BLE_IS_RESET = 3
- class BdAddress(addr_type: ADDR_TYPE = ADDR_TYPE.PUBLIC_ADDRESS, addr: Optional[bytes] = None)[source]
Bases:
object
Bluetooth Device address
- Variables:
addr_type – address type
addr – 6 byte address
- class BleEventBase(evt_code)[source]
Bases:
object
Base class for BLE events
- Variables:
evt_code – event code
- class BleEventResetCompleted(status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_RESET_COMPLETED
event- Variables:
evt_code – event code
status – event status
- class Irk(key: Optional[bytes] = None)[source]
Bases:
object
Identity Resolving Key
- Variables:
key – 16 byte key
- class OWN_ADDR_TYPE(value)[source]
Bases:
IntEnum
Own device address type
- PRIVATE_CNTL = 5
- PRIVATE_RANDOM_NONRESOLVABLE_ADDRESS = 4
- PRIVATE_RANDOM_RESOLVABLE_ADDRESS = 3
- PRIVATE_STATIC_ADDRESS = 2
- PUBLIC_STATIC_ADDRESS = 1
- class OwnAddress(addr_type: OWN_ADDR_TYPE = OWN_ADDR_TYPE.PUBLIC_STATIC_ADDRESS, addr: Optional[bytes] = None)[source]
Bases:
object
Own address
- Variables:
addr_type – address type
addr – 6 byte address
py_ble_manager.ble_api.BleCommonApi module
- class BleCommonApi(ble_manager: BleManager)[source]
Bases:
BleApiBase
- get_dev_version() Tuple[BleConfigDefault, BLE_ERROR] [source]
py_ble_manager.ble_api.BleConfig module
- class BLE_DEVICE_TYPE(value)[source]
Bases:
IntEnum
An enumeration.
- BROADCASTER = 4
- CENTRAL = 1
- NONE = 0
- OBSERVER = 3
- PERIPHERAL = 2
- class BLE_HW_TYPE(value)[source]
Bases:
IntEnum
An enumeration.
- DA14531 = 1
- DA14695 = 2
- NONE = 0
- class BleConfigDA14531(ble_device_type: BLE_DEVICE_TYPE = BLE_DEVICE_TYPE.CENTRAL)[source]
Bases:
BleConfigDefault
DA14531 configuration for various BLE parameters
- class BleConfigDA1469x(ble_device_type: BLE_DEVICE_TYPE = BLE_DEVICE_TYPE.CENTRAL)[source]
Bases:
BleConfigDefault
DA14695 configuration for various BLE parameters
- class BleConfigDefault(ble_device_type: BLE_DEVICE_TYPE = BLE_DEVICE_TYPE.CENTRAL)[source]
Bases:
object
Default configuration for various BLE parameters
py_ble_manager.ble_api.BleConvert module
py_ble_manager.ble_api.BleGap module
- class ADV_FILT_POL[source]
Bases:
object
Advertising filter policy
- ADV_ALLOW_SCAN_ANY_CONN_ANY = 0
- ADV_ALLOW_SCAN_ANY_CONN_WLIST = <enum.auto object>
- ADV_ALLOW_SCAN_WLIST_CONN_ANY = <enum.auto object>
- ADV_ALLOW_SCAN_WLIST_CONN_WLIST = <enum.auto object>
- class BLE_GAP_PHY(value)[source]
Bases:
IntEnum
GAP PHY type
- BLE_GAP_PHY_1M = 1
- BLE_GAP_PHY_2M = 2
- BLE_GAP_PHY_CODED = 3
- BLE_GAP_PHY_PREF_AUTO = 0
- class BleAdvData(type: GAP_DATA_TYPE = GAP_DATA_TYPE.GAP_DATA_TYPE_FLAGS, data: Optional[bytes] = None)[source]
Bases:
object
Advertising AD Structure
- Variables:
len – length of AD structure, AD type byte + length of data
type – AD Type
data – data for AD structure
- property data
- class BleEventGapAddressResolutionFailed(status: BLE_ERROR = BLE_ERROR.BLE_STATUS_OK)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_ADDRESS_RESOLUTION_FAILED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_ADDRESS_RESOLUTION_FAILED
status – event status
- class BleEventGapAddressResolved(conn_idx: int = 0, resolved_address: Optional[BdAddress] = None, address: Optional[BdAddress] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_ADDRESS_RESOLVED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_ADDRESS_RESOLVED
conn_idx – connection index
resolved_address – static address
address – random address
- class BleEventGapAdvCompleted(adv_type: GAP_CONN_MODE = GAP_CONN_MODE.GAP_CONN_MODE_UNDIRECTED, status: BLE_ERROR = BLE_ERROR.BLE_STATUS_OK)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_ADV_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_ADV_COMPLETED
adv_type – advertising type
status – event status
- class BleEventGapAdvReport(type: GAP_ADV_TYPE = GAP_ADV_TYPE.CONN_UNDIR, address: Optional[BdAddress] = None, rssi: int = 0, data: Optional[bytes] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_ADV_REPORT
event- Variables:
evt_code – event code,
BLE_EVT_GAP_ADV_REPORT
type – type of advertising packet
address – BD address of advertising device
rssi – received signal strength
data – advertising data or scan response data
- class BleEventGapAirOpBdAddr(address: Optional[OwnAddress] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_AIR_OP_BDADDR
event- Variables:
evt_code – event code,
BLE_EVT_GAP_AIR_OP_BDADDR
address – random address
- class BleEventGapConnParamUpdateCompleted(conn_idx: int = 0, status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_CONN_PARAM_UPDATE_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_CONN_PARAM_UPDATE_COMPLETED
conn_idx – connection index
status – completion status
- class BleEventGapConnParamUpdateReq(conn_idx: int = 0, conn_params: Optional[GapConnParams] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_CONN_PARAM_UPDATE_REQ
event- Variables:
evt_code – event code,
BLE_EVT_GAP_CONN_PARAM_UPDATE_REQ
conn_idx – connection index
conn_params – connection parameters
- class BleEventGapConnParamUpdated(conn_idx: int = 0, conn_params: Optional[GapConnParams] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_CONN_PARAM_UPDATED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_CONN_PARAM_UPDATED
conn_idx – connection index
conn_params – connection parameters
- class BleEventGapConnected(conn_idx: int = 0, own_addr: Optional[OwnAddress] = None, peer_address: Optional[BdAddress] = None, conn_params: Optional[GapConnParams] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_CONNECTED
event- Variables:
conn_idx – connection index,
BLE_EVT_GAP_CONNECTED
own_addr – own address
peer_address – peer address
conn_params – connection parameters
- class BleEventGapConnectionCompleted(status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_CONNECTION_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_CONNECTION_COMPLETED
status – completion status
- class BleEventGapDataLengthChanged(conn_idx: int = 0, max_rx_length: int = 0, max_rx_time: int = 0, max_tx_length: int = 0, max_tx_time: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_DATA_LENGTH_CHANGED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_DATA_LENGTH_CHANGED
conn_idx – connection index
max_rx_length – maximum number of payload octets in RX
max_rx_time – maximum time used for RX
max_tx_length – maximum number of payload octets in TX
max_tx_time – maximum time used for TX
- class BleEventGapDataLengthSetFailed(conn_idx: int = 0, status: BLE_ERROR = BLE_ERROR.BLE_STATUS_OK)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_DATA_LENGTH_SET_FAILED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_DATA_LENGTH_SET_FAILED
conn_idx – connection index
status – event status
- class BleEventGapDisconnectFailed(conn_idx: int = 0, status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_DISCONNECT_FAILED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_DISCONNECT_FAILED
conn_idx – connection index
status – error status
- class BleEventGapDisconnected(conn_idx: int = 0, address: Optional[BdAddress] = None, reason: BLE_HCI_ERROR = BLE_HCI_ERROR.BLE_HCI_ERROR_NO_ERROR)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_DISCONNECTED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_DISCONNECTED
conn_idx – connection index
address – BD address of disconnected device
reason – reason of disconnection
- class BleEventGapLtkMissing(conn_idx: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_LTK_MISSING
event- Variables:
evt_code – event code,
BLE_EVT_GAP_LTK_MISSING
conn_idx – connection index
- class BleEventGapNumericRequest(conn_idx: int = 0, num_key: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_NUMERIC_REQUEST
event- Variables:
evt_code – event code,
BLE_EVT_GAP_NUMERIC_REQUEST
conn_idx – connection index
num_key – numeric comparison key
- class BleEventGapPairCompleted(conn_idx: int = 0, status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED, bond: bool = False, mitm: bool = False)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_PAIR_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_PAIR_COMPLETED
conn_idx – connection index
status – completion status
bond – bond enabled flag
mitm – man in the middle (MITM) protection enabled flag
- class BleEventGapPairReq(conn_idx: int = 0, bond: bool = False)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_PAIR_REQ
event- Variables:
evt_code – event code,
BLE_EVT_GAP_PAIR_REQ
conn_idx – connection index
bond – enable bond
- class BleEventGapPasskeyNotify(conn_idx: int = 0, passkey: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_PASSKEY_NOTIFY
event- Variables:
evt_code – event code,
BLE_EVT_GAP_PASSKEY_NOTIFY
conn_idx – connection index
passkey – passkey
- class BleEventGapPeerFeatures(conn_idx: int = 0, le_features: Optional[bytes] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_PEER_FEATURES
event- Variables:
evt_code – event code,
BLE_EVT_GAP_PEER_FEATURES
conn_idx – connection index
le_features – 8-byte array for LE features
- class BleEventGapPeerVersion(conn_idx: int = 0, lmp_version: int = 0, company_id: int = 0, lmp_subversion: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_PEER_VERSION
event- Variables:
evt_code – event code,
BLE_EVT_GAP_PEER_VERSION
conn_idx – connection index
lmp_version – supported Bluetooth LMP Specification
company_id – company ID
lmp_subversion – implementation subversion
- class BleEventGapScanCompleted(scan_type: GAP_SCAN_TYPE = GAP_SCAN_TYPE.GAP_SCAN_ACTIVE, status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_SCAN_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_SCAN_COMPLETED
scan_type – scan type
status – completion status
- class BleEventGapSecLevelChanged(conn_idx: int = 0, level: GAP_SEC_LEVEL = GAP_SEC_LEVEL.GAP_SEC_LEVEL_1)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_SEC_LEVEL_CHANGED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_SEC_LEVEL_CHANGED
conn_idx – connection index
level – security level
- class BleEventGapSecurityRequest(conn_idx: int = 0, bond: bool = False, mitm: bool = False)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_SECURITY_REQUEST
event- Variables:
evt_code – event code,
BLE_EVT_GAP_SECURITY_REQUEST
conn_idx – connection index
bond – bond requested flag
mitm – MITM requested flag
- class BleEventGapSetSecLevelFailed(conn_idx: int = 0, status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GAP_SET_SEC_LEVEL_FAILED
event- Variables:
evt_code – event code,
BLE_EVT_GAP_SET_SEC_LEVEL_FAILED
conn_idx – connection index
status – completion status
- class GAP_ADV_CHANNEL(value)[source]
Bases:
IntEnum
_summary_ Channels used for advertising
- GAP_ADV_CHANNEL_37 = 1
- GAP_ADV_CHANNEL_38 = 2
- GAP_ADV_CHANNEL_39 = 4
- class GAP_ADV_TYPE(value)[source]
Bases:
IntEnum
GAP Advertising Type
- CONN_DIR = 1
- CONN_DIR_LDC = 4
- CONN_UNDIR = 0
- DISC_UNDIR = 2
- NONCONN_UNDIR = 3
- class GAP_APPEARANCE(value)[source]
Bases:
IntEnum
GAP device external appearance
- BLE_GAP_APPEARANCE_BLOOD_PRESSURE_ARM = 897
- BLE_GAP_APPEARANCE_BLOOD_PRESSURE_WRIST = 898
- BLE_GAP_APPEARANCE_CYCLING_CADENCE_SENSOR = 1155
- BLE_GAP_APPEARANCE_CYCLING_CYCLING_COMPUTER = 1153
- BLE_GAP_APPEARANCE_CYCLING_POWER_SENSOR = 1156
- BLE_GAP_APPEARANCE_CYCLING_SPEED_AND_CADENCE_SENSOR = 1157
- BLE_GAP_APPEARANCE_CYCLING_SPEED_SENSOR = 1154
- BLE_GAP_APPEARANCE_GENERIC_BARCODE_SCANNER = 704
- BLE_GAP_APPEARANCE_GENERIC_BLOOD_PRESSURE = 896
- BLE_GAP_APPEARANCE_GENERIC_CLOCK = 256
- BLE_GAP_APPEARANCE_GENERIC_COMPUTER = 128
- BLE_GAP_APPEARANCE_GENERIC_CYCLING = 1152
- BLE_GAP_APPEARANCE_GENERIC_DISPLAY = 320
- BLE_GAP_APPEARANCE_GENERIC_EYE_GLASSES = 448
- BLE_GAP_APPEARANCE_GENERIC_GLUCOSE_METER = 1024
- BLE_GAP_APPEARANCE_GENERIC_HEART_RATE_SENSOR = 832
- BLE_GAP_APPEARANCE_GENERIC_HID = 960
- BLE_GAP_APPEARANCE_GENERIC_KEYRING = 576
- BLE_GAP_APPEARANCE_GENERIC_MEDIA_PLAYER = 640
- BLE_GAP_APPEARANCE_GENERIC_OUTDOOR_SPORTS_ACTIVITY = 5184
- BLE_GAP_APPEARANCE_GENERIC_PHONE = 64
- BLE_GAP_APPEARANCE_GENERIC_PULSE_OXIMETER = 3136
- BLE_GAP_APPEARANCE_GENERIC_REMOTE_CONTROL = 384
- BLE_GAP_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR = 1088
- BLE_GAP_APPEARANCE_GENERIC_TAG = 512
- BLE_GAP_APPEARANCE_GENERIC_THERMOMETER = 768
- BLE_GAP_APPEARANCE_GENERIC_WATCH = 192
- BLE_GAP_APPEARANCE_GENERIC_WEIGHT_SCALE = 3200
- BLE_GAP_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT = 833
- BLE_GAP_APPEARANCE_HID_BARCODE_SCANNER = 968
- BLE_GAP_APPEARANCE_HID_CARD_READER = 966
- BLE_GAP_APPEARANCE_HID_DIGITAL_PEN = 967
- BLE_GAP_APPEARANCE_HID_DIGITIZER_TABLET = 965
- BLE_GAP_APPEARANCE_HID_GAMEPAD = 964
- BLE_GAP_APPEARANCE_HID_JOYSTICK = 963
- BLE_GAP_APPEARANCE_HID_KEYBOARD = 961
- BLE_GAP_APPEARANCE_HID_MOUSE = 962
- BLE_GAP_APPEARANCE_LAST = 5189
- BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_AND_NAVIGATION_DISPLAY = 5186
- BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_AND_NAVIGATION_POD = 5188
- BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_DISPLAY = 5185
- BLE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACT_LOCATION_POD = 5187
- BLE_GAP_APPEARANCE_PULSE_OXIMETER_FINGERTIP = 3137
- BLE_GAP_APPEARANCE_PULSE_OXIMETER_WRIST_WORN = 3138
- BLE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE = 1089
- BLE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP = 1091
- BLE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE = 1090
- BLE_GAP_APPEARANCE_THERMOMETER_EAR = 769
- BLE_GAP_APPEARANCE_UNKNOWN = 0
- BLE_GAP_APPEARANCE_WATCH_SPORTS_WATCH = 193
- class GAP_CONN_MODE(value)[source]
Bases:
IntEnum
GAP connectivity modes
- GAP_CONN_MODE_DIRECTED = 2
- GAP_CONN_MODE_DIRECTED_LDC = 3
- GAP_CONN_MODE_NON_CONN = 0
- GAP_CONN_MODE_UNDIRECTED = 1
- class GAP_DATA_TYPE(value)[source]
Bases:
IntEnum
GAP Advertising Data Types, as defined by Bluetooth Core 4.2 specification
note:: only data types valid for Advertising Data are included
- GAP_DATA_TYPE_ADV_INTERVAL = 26
- GAP_DATA_TYPE_APPEARANCE = 25
- GAP_DATA_TYPE_CHNL_MAP_UPD_IND = 40
- GAP_DATA_TYPE_CLASS_OF_DEVICE = 13
- GAP_DATA_TYPE_FLAGS = 1
- GAP_DATA_TYPE_INDOOR_POSITIONING = 37
- GAP_DATA_TYPE_INFO_DATA_3D = 61
- GAP_DATA_TYPE_LE_BT_ADDR = 27
- GAP_DATA_TYPE_LE_ROLE = 28
- GAP_DATA_TYPE_LE_SEC_CONN_CFM_VAL = 34
- GAP_DATA_TYPE_LE_SEC_CONN_RAND_VAL = 35
- GAP_DATA_TYPE_LE_SUPP_FEATURES = 39
- GAP_DATA_TYPE_LOCAL_NAME = 9
- GAP_DATA_TYPE_MANUFACTURER_SPEC = 255
- GAP_DATA_TYPE_MESH_BEACON = 43
- GAP_DATA_TYPE_MESH_MESSAGE = 42
- GAP_DATA_TYPE_NONE = 0
- GAP_DATA_TYPE_OOB_FLAGS = 17
- GAP_DATA_TYPE_PB_ADV = 41
- GAP_DATA_TYPE_PUBLIC_ADDRESS = 23
- GAP_DATA_TYPE_RANDOM_ADDRESS = 24
- GAP_DATA_TYPE_RESERVED1 = 19
- GAP_DATA_TYPE_SHORT_LOCAL_NAME = 8
- GAP_DATA_TYPE_SLAVE_CONN_INTV = 18
- GAP_DATA_TYPE_SPAIR_HASH = 29
- GAP_DATA_TYPE_SPAIR_RAND = 30
- GAP_DATA_TYPE_SP_HASH_C = 14
- GAP_DATA_TYPE_SP_RANDOMIZER_R = 15
- GAP_DATA_TYPE_TK_VALUE = 16
- GAP_DATA_TYPE_TRANSPORT_DISC_DATA = 38
- GAP_DATA_TYPE_TX_POWER_LEVEL = 10
- GAP_DATA_TYPE_URI = 36
- GAP_DATA_TYPE_UUID128_LIST = 7
- GAP_DATA_TYPE_UUID128_LIST_INC = 6
- GAP_DATA_TYPE_UUID128_SOLIC = 21
- GAP_DATA_TYPE_UUID128_SVC_DATA = 33
- GAP_DATA_TYPE_UUID16_LIST = 3
- GAP_DATA_TYPE_UUID16_LIST_INC = 2
- GAP_DATA_TYPE_UUID16_SOLIC = 20
- GAP_DATA_TYPE_UUID16_SVC_DATA = 22
- GAP_DATA_TYPE_UUID32_LIST = 5
- GAP_DATA_TYPE_UUID32_LIST_INC = 4
- GAP_DATA_TYPE_UUID32_SOLIC = 31
- GAP_DATA_TYPE_UUID32_SVC_DATA = 32
- class GAP_DISC_MODE(value)[source]
Bases:
IntEnum
GAP discoverability modes
- GAP_DISC_MODE_BROADCASTER = 3
- GAP_DISC_MODE_GEN_DISCOVERABLE = 1
- GAP_DISC_MODE_LIM_DISCOVERABLE = 2
- GAP_DISC_MODE_NON_DISCOVERABLE = 0
- class GAP_IO_CAPABILITIES(value)[source]
Bases:
IntEnum
GAP Input/Output capabilities
- GAP_IO_CAP_DISP_ONLY = 0
- GAP_IO_CAP_DISP_YES_NO = 1
- GAP_IO_CAP_KEYBOARD_DISP = 4
- GAP_IO_CAP_KEYBOARD_ONLY = 2
- GAP_IO_CAP_NO_INPUT_OUTPUT = 3
- class GAP_ROLE(value)[source]
Bases:
IntEnum
GAP roles
- GAP_ALL_ROLES = 15
- GAP_BROADCASTER_ROLE = 2
- GAP_CENTRAL_ROLE = 4
- GAP_NO_ROLE = 0
- GAP_OBSERVER_ROLE = 1
- GAP_PERIPHERAL_ROLE = 8
- class GAP_SCAN_MODE(value)[source]
Bases:
IntEnum
Scanning modes
- GAP_SCAN_GEN_DISC_MODE = 0
- GAP_SCAN_LIM_DISC_MODE = 1
- GAP_SCAN_OBSERVER_MODE = 2
- class GAP_SCAN_TYPE(value)[source]
Bases:
IntEnum
Scanning types
- GAP_SCAN_ACTIVE = 0
- GAP_SCAN_PASSIVE = 1
- class GAP_SEC_LEVEL(value)[source]
Bases:
IntEnum
GAP security levels
- GAP_SEC_LEVEL_1 = 0
- GAP_SEC_LEVEL_2 = 1
- GAP_SEC_LEVEL_3 = 2
- GAP_SEC_LEVEL_4 = 3
- class GapChnlMap(map: Optional[bytes] = None)[source]
Bases:
object
Link Layer channel map
- Variables:
map – channel map
- class GapConnParams(interval_min_ms: int = 0, interval_max_ms: int = 0, slave_latency: int = 0, sup_timeout_ms: int = 0)[source]
Bases:
object
GAP connection parameters
- Variables:
interval_min_ms – connection interval minimum in milliseconds
interval_max_ms – connection interval minimum in milliseconds
slave_latency – slave latency, in number of events
sup_timeout_ms – supervision timeout in milliseconds
py_ble_manager.ble_api.BleGapApi module
- class BleGapApi(ble_manager: BleManager)[source]
Bases:
BleApiBase
- address_get() Tuple[OwnAddress, BLE_ERROR] [source]
- address_set(address: OwnAddress, renew_dur: int) BLE_ERROR [source]
- adv_data_set(adv_data_len: int = 0, adv_data: ~py_ble_manager.gtl_port.co_bt.c_ubyte_Array_31 = <py_ble_manager.gtl_port.co_bt.c_ubyte_Array_31 object>, scan_rsp_data_len: int = 0, scan_rsp_data: ~py_ble_manager.gtl_port.co_bt.c_ubyte_Array_31 = <py_ble_manager.gtl_port.co_bt.c_ubyte_Array_31 object>) BLE_ERROR [source]
- adv_mode_get() Tuple[GAP_DISC_MODE, BLE_ERROR] [source]
- adv_mode_set(mode: GAP_DISC_MODE) BLE_ERROR [source]
- adv_start(adv_type: GAP_CONN_MODE = GAP_CONN_MODE.GAP_CONN_MODE_UNDIRECTED) BLE_ERROR [source]
- appearance_get() Tuple[GAP_APPEARANCE, BLE_ERROR] [source]
- appearance_set(appearance: GAP_APPEARANCE, perm: ATT_PERM) BLE_ERROR [source]
- conn_param_update(conn_idx: int, conn_params: GapConnParams) BLE_ERROR [source]
- connect(peer_addr: BdAddress, conn_params: GapConnParams) BLE_ERROR [source]
- disconnect(conn_idx: int, reason: BLE_HCI_ERROR) BLE_ERROR [source]
- get_bonded() Tuple[list[py_ble_manager.ble_api.BleCommon.BdAddress], BLE_ERROR] [source]
- get_io_cap() Tuple[GAP_IO_CAPABILITIES, BLE_ERROR] [source]
- get_sec_level(conn_idx: int) Tuple[GAP_SEC_LEVEL, BLE_ERROR] [source]
- per_pref_conn_params_get() Tuple[GapConnParams, BLE_ERROR] [source]
- per_pref_conn_params_set(conn_params: GapConnParams) BLE_ERROR [source]
- scan_params_get() Tuple[GapScanParams, BLE_ERROR] [source]
- scan_params_set(scan_params: GapScanParams) BLE_ERROR [source]
- scan_start(type: GAP_SCAN_TYPE = GAP_SCAN_TYPE.GAP_SCAN_ACTIVE, mode: GAP_SCAN_MODE = GAP_SCAN_MODE.GAP_SCAN_GEN_DISC_MODE, interval: int = 0, window: int = 0, filt_wlist: bool = False, filt_dupl: bool = False) BLE_ERROR [source]
- set_io_cap(io_cap: GAP_IO_CAPABILITIES) BLE_ERROR [source]
- set_sec_level(conn_idx: int, level: GAP_SEC_LEVEL) BLE_ERROR [source]
py_ble_manager.ble_api.BleGatt module
- class GATT_CCC(value)[source]
Bases:
IntEnum
GATT Client Characteristic Configuration bitmask values
- GATT_CCC_INDICATIONS = 2
- GATT_CCC_NONE = 0
- GATT_CCC_NOTIFICATIONS = 1
- class GATT_EVENT(value)[source]
Bases:
IntEnum
GATT event type
- GATT_EVENT_INDICATION = 1
- GATT_EVENT_NOTIFICATION = 0
- class GATT_PROP(value)[source]
Bases:
IntEnum
GATT characteristic properties
- GATT_PROP_BROADCAST = 1
- GATT_PROP_EXTENDED = 128
- GATT_PROP_EXTENDED_RELIABLE_WRITE = 256
- GATT_PROP_EXTENDED_WRITABLE_AUXILIARIES = 512
- GATT_PROP_INDICATE = 32
- GATT_PROP_NONE = 0
- GATT_PROP_NOTIFY = 16
- GATT_PROP_READ = 2
- GATT_PROP_WRITE = 8
- GATT_PROP_WRITE_NO_RESP = 4
- GATT_PROP_WRITE_SIGNED = 64
py_ble_manager.ble_api.BleGattc module
- class BleEventGattcBrowseCompleted(conn_idx: int = 0, status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_BROWSE_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_BROWSE_COMPLETED
conn_idx – connection index
status – browsing status
- class BleEventGattcBrowseSvc(conn_idx: int = 0, uuid: Optional[AttUuid] = None, start_h: int = 0, end_h: int = 0, num_items: int = 0, items: Optional[list[py_ble_manager.ble_api.BleGattc.GattcItem]] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_BROWSE_SVC
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_BROWSE_SVC
conn_idx – connection index
uuid – service uuid
start_h – service start handle
end_h – service end handle
num_items – number of items in service
items – items found in service
- class BleEventGattcDiscoverChar(conn_idx: int = 0, uuid: Optional[AttUuid] = None, handle: int = 0, value_handle: int = 0, properties: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_DISCOVER_CHAR
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_DISCOVER_CHAR
conn_idx – connection index
uuid – characteristic UUID
handle – characteristic handle
value_handle – characteristic value handle
properties – characteristic properties
- class BleEventGattcDiscoverCompleted(conn_idx: int = 0, type: GATTC_DISCOVERY_TYPE = GATTC_DISCOVERY_TYPE.GATTC_DISCOVERY_TYPE_SVC, status: BLE_ERROR = BLE_ERROR.BLE_ERROR_FAILED)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_DISCOVER_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_DISCOVER_COMPLETED
conn_idx – connection index
type – discovery type
status – discovery status
- class BleEventGattcDiscoverDesc(conn_idx: int = 0, uuid: Optional[AttUuid] = None, handle: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_DISCOVER_DESC
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_DISCOVER_DESC
conn_idx – connection index
uuid – characteristic descriptor UUID
handle – characteristic descriptor handle
- class BleEventGattcDiscoverInclude(conn_idx: int = 0, handle: int = 0, uuid: Optional[AttUuid] = None, start_h: int = 0, end_h: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_DISCOVER_INCLUDE
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_DISCOVER_INCLUDE
conn_idx – connection index
handle – include attribute handle
uuid – included service UUID
start_h – included service start handle
end_h – included service end handle
- class BleEventGattcDiscoverSvc(conn_idx: int = 0, uuid: Optional[AttUuid] = None, start_h: int = 0, end_h: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_DISCOVER_SVC
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_DISCOVER_SVC
conn_idx – connection index
uuid – service UUID
start_h – service start handle
end_h – service end handle
- class BleEventGattcIndication(conn_idx: int = 0, handle: int = 0, value: Optional[bytes] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_INDICATION
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_INDICATION
conn_idx – connection index
handle – attribute handle
value – data value
- class BleEventGattcMtuChanged(conn_idx: int = 0, mtu: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_MTU_CHANGED
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_MTU_CHANGED
conn_idx – connection index
handle – current MTU
- class BleEventGattcNotification(conn_idx: int = 0, handle: int = 0, value: Optional[bytes] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_NOTIFICATION
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_NOTIFICATION
conn_idx – connection index
handle – attribute handle
value – data value
- class BleEventGattcReadCompleted(conn_idx: int = 0, handle: int = 0, status: ATT_ERROR = ATT_ERROR.ATT_ERROR_OK, offset: int = 0, value: Optional[bytes] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_READ_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_READ_COMPLETED
conn_idx – connection index
handle – attribute handle
status – operation status
offset – value offset
value – data value
- class BleEventGattcWriteCompleted(conn_idx: int = 0, handle: int = 0, status: ATT_ERROR = ATT_ERROR.ATT_ERROR_OK, operation: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTC_WRITE_COMPLETED
event- Variables:
evt_code – event code,
BLE_EVT_GATTC_WRITE_COMPLETED
conn_idx – connection index
handle – attribute handle (will be 0 for write_execute())
status – operation status
operation – operation type
- class GATTC_DISCOVERY_TYPE(value)[source]
Bases:
IntEnum
GATT Discovery type
- GATTC_DISCOVERY_TYPE_CHARACTERISTICS = 2
- GATTC_DISCOVERY_TYPE_DESCRIPTORS = 3
- GATTC_DISCOVERY_TYPE_INCLUDED = 1
- GATTC_DISCOVERY_TYPE_SVC = 0
- class GATTC_ITEM_TYPE(value)[source]
Bases:
IntEnum
Service item type
- GATTC_ITEM_TYPE_CHARACTERISTIC = 2
- GATTC_ITEM_TYPE_DESCRIPTOR = 3
- GATTC_ITEM_TYPE_INCLUDE = 1
- GATTC_ITEM_TYPE_NONE = 0
- class GattcCharacteristicData(value_handle: int = 0, properties: int = 0)[source]
Bases:
object
GATT Characteristic data
- Variables:
value_handle – characteristic value handle
properties – characteristic properties
- class GattcIncludedServiceData(start_h: int = 0, end_h: int = 0)[source]
Bases:
object
GATT Service data
- Variables:
start_h – included service start handle
end_h – included service end handle
- class GattcItem(uuid: Optional[AttUuid] = None, handle: int = 0, type: GATTC_ITEM_TYPE = GATTC_ITEM_TYPE.GATTC_ITEM_TYPE_NONE, service_data: Optional[GattcIncludedServiceData] = None, char_data: Optional[GattcCharacteristicData] = None)[source]
Bases:
object
Service item definition
- Variables:
uuid – item uuid
handle – item handle
type – item type
service_data – included service data
char_data – characteristic data
py_ble_manager.ble_api.BleGattcApi module
py_ble_manager.ble_api.BleGatts module
- class BleEventGattsEventSent(conn_idx: int = 0, handle: int = 0, type: GATT_EVENT = GATT_EVENT.GATT_EVENT_NOTIFICATION, status: bool = False)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTS_EVENT_SENT
event- Variables:
evt_code – event code,
BLE_EVT_GATTS_EVENT_SENT
conn_idx – connection index
handle – attribute handle
type – event type
status – event status
- class BleEventGattsPrepareWriteReq(conn_idx: int = 0, handle: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTS_PREPARE_WRITE_REQ
event- Variables:
evt_code – event code,
BLE_EVT_GATTS_PREPARE_WRITE_REQ
conn_idx – connection index
handle – attribute handle
- class BleEventGattsReadReq(conn_idx: int = 0, handle: int = 0, offset: int = 0)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTS_READ_REQ
event- Variables:
evt_code – event code,
BLE_EVT_GATTS_READ_REQ
conn_idx – connection index
handle – attribute handle
offset – attribute value offset
- class BleEventGattsWriteReq(conn_idx: int = 0, handle: int = 0, offset: int = 0, value: Optional[bytes] = None)[source]
Bases:
BleEventBase
Class for
BLE_EVT_GATTS_WRITE_REQ
event- Variables:
evt_code – event code,
BLE_EVT_GATTS_WRITE_REQ
conn_idx – connection index
handle – attribute handle
offset – attribute value offset
offset – attribute value
py_ble_manager.ble_api.BleGattsApi module
- class BleGattsApi(ble_manager: BleManager)[source]
Bases:
BleApiBase
- add_characteristic(uuid: Optional[AttUuid] = None, prop: GATT_PROP = GATT_PROP.GATT_PROP_NONE, perm: ATT_PERM = ATT_PERM.ATT_PERM_NONE, max_len: int = 0, flags: GATTS_FLAG = GATTS_FLAG.GATTS_FLAG_CHAR_READ_REQ) Tuple[int, int, BLE_ERROR] [source]
- add_descriptor(uuid: Optional[AttUuid] = None, perm: ATT_PERM = ATT_PERM.ATT_PERM_NONE, max_len: int = 0, flags: GATTS_FLAG = GATTS_FLAG.GATTS_FLAG_CHAR_READ_REQ) Tuple[int, BLE_ERROR] [source]
- add_service(uuid: Optional[AttUuid] = None, type: GATT_SERVICE = GATT_SERVICE.GATT_SERVICE_PRIMARY, num_attrs: int = 0) BLE_ERROR [source]
- prepare_write_cfm(conn_idx: int = 0, handle: int = 0, length: int = 0, status: ATT_ERROR = ATT_ERROR.ATT_ERROR_OK) BLE_ERROR [source]
- read_cfm(conn_idx: int = 0, handle: int = 0, status: ATT_ERROR = ATT_ERROR.ATT_ERROR_OK, value: Optional[bytes] = None) BLE_ERROR [source]
- send_event(conn_idx: int = 0, handle: int = 0, type: GATT_EVENT = GATT_EVENT.GATT_EVENT_NOTIFICATION, value: Optional[bytes] = None) BLE_ERROR [source]
py_ble_manager.ble_api.BleStorageApi module
- class BleStorageApi(ble_manager: BleManager)[source]
Bases:
BleApiBase
- get_buffer(conn_idx: int, key: int) tuple[bytes, py_ble_manager.ble_api.BleCommon.BLE_ERROR] [source]
- get_int(conn_idx: int, key: int) tuple[int, py_ble_manager.ble_api.BleCommon.BLE_ERROR] [source]
py_ble_manager.ble_api.BleUtil module
- class BleUtils[source]
Bases:
object
Utility class providing convenience methods for often used operations
- static bd_addr_to_str(bd: BdAddress) str [source]
Convert BD address to string of form “48:23:35:00:1b:53,P”, where P is a public address and R is a random address
- Parameters:
bd (BdAddress) – BD address to convert to string
- Returns:
string of the form “48:23:35:00:1b:53,P”
- Return type:
str
- static parse_adv_data_from_bytes(data: bytes) list[py_ble_manager.ble_api.BleGap.BleAdvData] [source]
“Generate AD structures from bytes
- Parameters:
data (bytes) – advertising data
- Returns:
list of AD structures
- Return type:
list[BleAdvData]