mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-18 22:20:51 +00:00
daemon: checked gatt client state in discover primary services query
This commit is contained in:
parent
20bb552905
commit
0a1abdbef4
@ -351,8 +351,10 @@ extern "C" {
|
||||
#define ATT_HANDLE_VALUE_INDICATION_IN_PORGRESS 0x90
|
||||
#define ATT_HANDLE_VALUE_INDICATION_TIMEOUT 0x91
|
||||
|
||||
#define GATT_CLIENT_BUSY 0x94
|
||||
|
||||
typedef enum {
|
||||
BLE_PERIPHERAL_OK = 0x94,
|
||||
BLE_PERIPHERAL_OK = 0xA0,
|
||||
BLE_PERIPHERAL_IN_WRONG_STATE,
|
||||
BLE_PERIPHERAL_DIFFERENT_CONTEXT_FOR_ADDRESS_ALREADY_EXISTS,
|
||||
BLE_PERIPHERAL_NOT_CONNECTED,
|
||||
|
21
src/daemon.c
21
src/daemon.c
@ -407,15 +407,30 @@ static int btstack_command_handler(connection_t *connection, uint8_t *packet, ui
|
||||
}
|
||||
// check state
|
||||
if (!gatt_client_is_ready(context)){
|
||||
// TODO map BLE_PERIPHERAL errors to standard hci error codes
|
||||
// send_gatt_service_query_complete(connection, handle, BTSTACK_MEMORY_ALLOC_FAILED);
|
||||
send_gatt_service_query_complete(connection, handle, GATT_CLIENT_BUSY);
|
||||
break;
|
||||
}
|
||||
context->context = connection;
|
||||
gatt_client_discover_primary_services(context);
|
||||
break;
|
||||
}
|
||||
// many more! ca 15
|
||||
case GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID16: break;
|
||||
case GATT_DISCOVER_PRIMARY_SERVICES_BY_UUID128: break;
|
||||
case GATT_FIND_INCLUDED_SERVICES_FOR_SERVICE: break;
|
||||
case GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE: break;
|
||||
case GATT_DISCOVER_CHARACTERISTICS_FOR_SERVICE_BY_UUID128: break;
|
||||
case GATT_DISCOVER_CHARACTERISTIC_DESCRIPTOR: break;
|
||||
case GATT_READ_VALUE_OF_CHARACTERISTIC: break;
|
||||
case GATT_READ_LONG_VALUE_OF_CHARACTERISTIC: break;
|
||||
case GATT_WRITE_VALUE_OF_CHARACTERISTIC_WITHOUT_RESPONSE: break;
|
||||
case GATT_WRITE_VALUE_OF_CHARACTERISTIC: break;
|
||||
case GATT_WRITE_LONG_VALUE_OF_CHARACTERISTIC: break;
|
||||
case GATT_RELIABLE_WRITE_LONG_VALUE_OF_CHARACTERISTIC: break;
|
||||
case GATT_READ_CHARACTERISTIC_DESCRIPTOR: break;
|
||||
case GATT_READ_LONG_CHARACTERISTIC_DESCRIPTOR: break;
|
||||
case GATT_WRITE_CHARACTERISTIC_DESCRIPTOR: break;
|
||||
case GATT_WRITE_LONG_CHARACTERISTIC_DESCRIPTOR: break;
|
||||
case GATT_WRITE_CLIENT_CHARACTERISTIC_CONFIGURATION: break;
|
||||
#endif
|
||||
default:
|
||||
log_error("Error: command %u not implemented\n:", READ_CMD_OCF(packet));
|
||||
|
Loading…
x
Reference in New Issue
Block a user