This repository was archived by the owner on Feb 27, 2024. It is now read-only.
forked from acburigo/python-bgapi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.py
More file actions
190 lines (173 loc) · 5.7 KB
/
Copy pathtypes.py
File metadata and controls
190 lines (173 loc) · 5.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
from enum import IntEnum
class ParseError(Exception):
pass
class MessageType(IntEnum):
COMMAND_RESPONSE = 0x20
EVENT = 0xa0
class MessageClass(IntEnum):
COEX = 0x20
DFU = 0x00
ENDPOINT = 0x0b
FLASH = 0x0d
GATT = 0x09
GATT_SERVER = 0x0a
HARDWARE = 0x0c
LE_CONNECTION = 0x08
LE_GAP = 0x03
SM = 0x0f
SYSTEM = 0x01
TEST = 0x0e
USER = 0xff
class Error(IntEnum):
SUCCESS = 0x0000
# Errors related to hardware
PS_STORE_FULL = 0x0501
PS_KEY_NOT_FOUND = 0x0502
I2C_ACK_MISSING = 0x0503
I2C_TIMEOUT = 0x0504
# Errors related to BGAPI protocol
INVALID_CONN_HANDLE = 0x0101
WAITING_RESPONSE = 0x0102
GATT_CONNECTION_TIMEOUT = 0x0103
INVALID_PARAM = 0x0180
WRONG_STATE = 0x0181
OUT_OF_MEMORY = 0x0182
NOT_IMPLEMENTED = 0x0183
INVALID_COMMAND = 0x0184
TIMEOUT = 0x0185
NOT_CONNECTED = 0x0186
FLOW = 0x0187
USER_ATTRIBUTE = 0x0188
INVALID_LICENSE_KEY = 0x0189
COMMAND_TOO_LONG = 0x018a
OUT_OF_BONDS = 0x018b
UNSPECIFIED = 0x018c
HARDWARE = 0x018d
BUFFERS_FULL = 0x018e
DISCONNECTED = 0x018f
TOO_MANY_REQUESTS = 0x0190
NOT_SUPPORTED = 0x0191
NO_BONDING = 0x0192
CRYPTO = 0x0193
DATA_CORRUPTED = 0x0194
COMMAND_INCOMPLETE = 0x0195
# Errors from Security Manager Protocol
PASSKEY_ENTRY_FAILED = 0x0301
OOB_NOT_AVAILABLE = 0x0302
AUTHENTICATION_REQUIREMENTS = 0x0303
CONFIRM_VALUE_FAILED = 0x0304
PAIRING_NOT_SUPPORTED = 0x0305
ENCRYPTION_KEY_SIZE = 0x0306
COMMAND_NOT_SUPPORTED = 0x0307
UNSPECIFIED_REASON = 0x0308
SMP_REPEATED_ATTEMPTS = 0x0309
INVALID_PARAMETERS = 0x030a
DHKEY_CHECK_FAILED = 0x030b
NUMERIC_COMPARISON_FAILED = 0x030c
BREDR_PAIRING_IN_PROGRESS = 0x030d
CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED = 0x030e
# Bluetooth errors
UNKNOWN_CONNECTION_IDENTIFIER = 0x0202
PAGE_TIMEOUT = 0x0204
AUTHENTICATION_FAILURE = 0x0205
PIN_OR_KEY_MISSING = 0x0206
MEMORY_CAPACITY_EXCEEDED = 0x0207
CONNECTION_TIMEOUT = 0x0208
CONNECTION_LIMIT_EXCEEDED = 0x0209
SYNCHRONOUS_CONNECTIONTION_LIMIT_EXCEEDED = 0x020a
ACL_CONNECTION_ALREADY_EXISTS = 0x020b
COMMAND_DISALLOWED = 0x020c
CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES = 0x020d
CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS = 0x020e
CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR = 0x020f
CONNECTION_ACCEPT_TIMEOUT_EXCEEDED = 0x0210
UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE = 0x0211
INVALID_COMMAND_PARAMETERS = 0x0212
REMOTE_USER_TERMINATED = 0x0213
REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES = 0x0214
REMOTE_POWERING_OFF = 0x0215
CONNECTION_TERMINATED_BY_LOCAL_HOST = 0x0216
BT_REPEATED_ATTEMPTS = 0x0217
PAIRING_NOT_ALLOWED = 0x0218
UNKNOWN_LMP_PDU = 0x0219
UNSUPPORTED_REMOTE_FEATURE = 0x021a
SCO_OFFSET_REJECTED = 0x021b
SCO_INTERVAL_REJECTED = 0x021c
SCO_AIR_MODE_REJECTED = 0x021d
INVALID_LMP_PARAMETERS = 0x021e
UNSPECIFIED_ERROR = 0x021f
UNSUPPORTED_LMP_PARAMETER_VALUE = 0x0220
ROLE_CHANGE_NOT_ALLOWED = 0x0221
LL_RESPONSE_TIMEOUT = 0x0222
LMP_ERROR_TRANSACTION_COLLISION = 0x0223
LMP_PDU_NOT_ALLOWED = 0x0224
ENCRYPTION_MODE_NOT_ACCEPTABLE = 0x0225
LINK_KEY_CANNOT_BE_CHANGED = 0x0226
REQUESTED_QOS_NOT_SUPPORTED = 0x0227
INSTANT_PASSED = 0x0228
PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 0x0229
DIFFERENT_TRANSACTION_COLLISION = 0x022a
QOS_UNACCEPTABLE_PARAMETER = 0x022c
QOS_REJECTED = 0x022d
CHANNEL_ASSESMENT_NOT_SUPPORTED = 0x022e
INSUFFICIENT_SECURITY = 0x022f
PARAMETER_OUT_OF_MANDATORY_RANGE = 0x0230
ROLE_SWITCH_PENDING = 0x0232
RESERVED_SLOT_VIOLATION = 0x0234
ROLE_SWITCH_FAILED = 0x0235
EXTENDED_INQUIRY_RESPONSE_TOO_LARGE = 0x0236
SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST = 0x0237
HOST_BUSY_PAIRING = 0x0238
CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_ = 0x0239
CONTROLLER_BUSY = 0x023a
UNACCEPTABLE_CONNECTION_INTERVAL = 0x023b
DIRECTED_ADVERTISING_TIMEOUT = 0x023c
CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE = 0x023d
CONNECTION_FAILED_TO_BE_ESTABLISHED = 0x023e
MAC_CONNECTION_FAILED = 0x023f
COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_ = 0x0240
# Application errors
FILE_OPEN_FAILED = 0x0a01
XML_PARSE_FAILED = 0x0a02
DEVICE_CONNECTION_FAILED = 0x0a03
DEVICE_COMUNICATION_FAILED = 0x0a04
AUTHENTICATION_FAILED = 0x0a05
INCORRECT_GATT_DATABASE = 0x0a06
DISCONNECTED_DUE_TO_PROCEDURE_COLLISION = 0x0a07
DISCONNECTED_DUE_TO_SECURE_SESSION_FAILED = 0x0a08
ENCRYPTION_DECRYPTION_ERROR = 0x0a09
MAXIMUM_RETRIES = 0x0a0a
DATA_PARSE_FAILED = 0x0a0b
PAIRING_REMOVED = 0x0a0c
INACTIVE_TIMEOUT = 0x0a0d
# Errors from Attribute Protocol
INVALID_HANDLE = 0x0401
READ_NOT_PERMITTED = 0x0402
WRITE_NOT_PERMITTED = 0x0403
INVALID_PDU = 0x0404
INSUFFICIENT_AUTHENTICATION = 0x0405
REQUEST_NOT_SUPPORTED = 0x0406
INVALID_OFFSET = 0x0407
INSUFFICIENT_AUTHORIZATION = 0x0408
PREPARE_QUEUE_FULL = 0x0409
ATT_NOT_FOUND = 0x040a
ATT_NOT_LONG = 0x040b
INSUFFICIENT_ENC_KEY_SIZE = 0x040c
INVALID_ATT_LENGTH = 0x040d
UNLIKELY_ERROR = 0x040e
INSUFFICIENT_ENCRYPTION = 0x040f
UNSUPPORTED_GROUP_TYPE = 0x0410
INSUFFICIENT_RESOURCES = 0x0411
APPLICATION = 0x0480
# Bluetooth Mesh errors
ALREADY_EXISTS = 0x0c01
DOES_NOT_EXIST = 0x0c02
LIMIT_REACHED = 0x0c03
INVALID_ADDRESS = 0x0c04
MALFORMED_DATA = 0x0c05
# Filesystem errors
FILE_NOT_FOUND = 0x0901
# Security errors
IMAGE_SIGNATURE_VERIFICATION_FAILED = 0x0b01
FILE_SIGNATURE_VERIFICATION_FAILED = 0x0b02
IMAGE_CHECKSUM_ERROR = 0x0b03