9 static const char *
const TAG =
"ble_binary_output";
12 ESP_LOGCONFIG(TAG,
"BLE Binary Output:");
16 LOG_BINARY_OUTPUT(
this);
20 esp_ble_gattc_cb_param_t *param) {
22 case ESP_GATTC_OPEN_EVT:
26 case ESP_GATTC_DISCONNECT_EVT:
30 case ESP_GATTC_WRITE_CHAR_EVT: {
31 if (param->write.status == 0) {
40 if (param->write.handle == chr->handle) {
41 ESP_LOGW(TAG,
"[%s] Write error, status=%d", this->
char_uuid_.
to_string().c_str(), param->write.status);
52 ESP_LOGW(TAG,
"[%s] Not connected to BLE client. State update can not be written.",
59 ESP_LOGW(TAG,
"[%s] Characteristic not found. State update can not be written.",
64 uint8_t state_as_uint = (uint8_t) state;
67 chr->
write_value(&state_as_uint,
sizeof(state_as_uint), ESP_GATT_WRITE_TYPE_RSP);
69 chr->write_value(&state_as_uint,
sizeof(state_as_uint), ESP_GATT_WRITE_TYPE_NO_RSP);
void write_state(bool state) override
espbt::ESPBTUUID service_uuid_
void dump_config() override
esp_err_t write_value(uint8_t *new_val, int16_t new_val_size)
std::string address_str() const
espbt::ESPBTUUID char_uuid_
espbt::ClientState client_state_
std::string to_string() const
BLECharacteristic * get_characteristic(espbt::ESPBTUUID service, espbt::ESPBTUUID chr)
Implementation of SPI Controller mode.
void gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param) override