Giter Club home page Giter Club logo

bluedroid's Introduction

bluedroid's People

Contributors

cwoolum avatar dberlin avatar fabiocragnolini avatar katyo avatar persello avatar taks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bluedroid's Issues

Compilation issues

Hi,

Thanks for this crate. I'm trying to get it running, but I'm getting the following errors:

cargo espflash 
New version of cargo-espflash is available: v2.0.0-rc.3

Detected 2 serial ports. Ports which match a known common dev board are highlighted.

Serial port: /dev/cu.usbserial-54350025201
Connecting...

    Updating git repository `https://github.com/persello/bluedroid`
    Updating crates.io index
   Compiling syn v1.0.109
   Compiling log v0.4.17
   Compiling static_assertions v1.1.0
   Compiling cvt v0.1.2
   Compiling bindgen v0.63.0
   Compiling normpath v1.1.1
   Compiling home v0.5.5
   Compiling nix v0.26.2
   Compiling globset v0.4.10
   Compiling fs_at v0.1.6
   Compiling remove_dir_all v0.8.2
   Compiling ignore v0.4.20
   Compiling globwalk v0.8.1
   Compiling strum_macros v0.24.3
   Compiling num_enum_derive v0.5.11
   Compiling strum_macros v0.23.1
   Compiling num_enum v0.5.11
   Compiling strum v0.23.0
   Compiling strum v0.24.1
   Compiling embedded-svc v0.24.0
   Compiling embuild v0.31.2
   Compiling esp-idf-sys v0.32.1
   Compiling esp-idf-hal v0.40.1
   Compiling esp-idf-svc v0.45.0
   Compiling bluedroid v0.3.7 (https://github.com/persello/bluedroid#62d84c6a)
   Compiling esp-idf-test v0.1.0 (/Users/mark/Projects/Personal/esp-idf-ble-improv)
error: could not compile `bluedroid` due to 145 previous errors
error[E0432]: unresolved imports `esp_idf_sys::esp_attr_control_t`, `esp_idf_sys::esp_attr_value_t`, `esp_idf_sys::esp_ble_gatts_add_char`, `esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_read_evt_param`, `esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_write_evt_param`, `esp_idf_sys::esp_ble_gatts_set_attr_value`
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/characteristic.rs:8:5
   |
8  |     esp_attr_control_t, esp_attr_value_t, esp_ble_gatts_add_char,
   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_add_char` in the root
   |     |                   |
   |     |                   no `esp_attr_value_t` in the root
   |     no `esp_attr_control_t` in the root
9  |     esp_ble_gatts_cb_param_t_gatts_read_evt_param, esp_ble_gatts_cb_param_t_gatts_write_evt_param,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_cb_param_t_gatts_write_evt_param` in the root
   |     |
   |     no `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in the root
10 |     esp_ble_gatts_set_attr_value, esp_nofail,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_set_attr_value` in the root

error[E0432]: unresolved imports `esp_idf_sys::esp_attr_control_t`, `esp_idf_sys::esp_attr_value_t`, `esp_idf_sys::esp_ble_gatts_add_char_descr`, `esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_read_evt_param`, `esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_write_evt_param`, `esp_idf_sys::esp_ble_gatts_set_attr_value`
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/descriptor.rs:9:5
   |
9  |     esp_attr_control_t, esp_attr_value_t, esp_ble_gatts_add_char_descr,
   |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_add_char_descr` in the root
   |     |                   |
   |     |                   no `esp_attr_value_t` in the root
   |     no `esp_attr_control_t` in the root
10 |     esp_ble_gatts_cb_param_t_gatts_read_evt_param, esp_ble_gatts_cb_param_t_gatts_write_evt_param,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_cb_param_t_gatts_write_evt_param` in the root
   |     |
   |     no `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in the root
11 |     esp_ble_gatts_set_attr_value, esp_nofail,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_set_attr_value` in the root

error[E0432]: unresolved imports `esp_idf_sys::esp_ble_gap_cb_param_t`, `esp_idf_sys::esp_ble_gap_start_advertising`, `esp_idf_sys::esp_bt_status_t_ESP_BT_STATUS_SUCCESS`, `esp_idf_sys::esp_gap_ble_cb_event_t`, `esp_idf_sys::esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT`, `esp_idf_sys::esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_START_COMPLETE_EVT`, `esp_idf_sys::esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT`, `esp_idf_sys::esp_gap_ble_cb_event_t_ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT`, `esp_idf_sys::esp_gap_ble_cb_event_t_ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT`
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gap_event_handler.rs:2:5
  |
2 |     esp_ble_gap_cb_param_t, esp_ble_gap_start_advertising, esp_bt_status_t_ESP_BT_STATUS_SUCCESS,
  |     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |     |                       |                              |
  |     |                       |                              no `esp_bt_status_t_ESP_BT_STATUS_SUCCESS` in the root
  |     |                       |                              help: a similar name exists in the module: `wifi_ftm_status_t_FTM_STATUS_SUCCESS`
  |     |                       no `esp_ble_gap_start_advertising` in the root
  |     no `esp_ble_gap_cb_param_t` in the root
3 |     esp_gap_ble_cb_event_t, esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT,
  |     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT` in the root
  |     |
  |     no `esp_gap_ble_cb_event_t` in the root
4 |     esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_START_COMPLETE_EVT,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_START_COMPLETE_EVT` in the root
5 |     esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_gap_ble_cb_event_t_ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT` in the root
6 |     esp_gap_ble_cb_event_t_ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_gap_ble_cb_event_t_ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT` in the root
7 |     esp_gap_ble_cb_event_t_ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT, esp_nofail,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_gap_ble_cb_event_t_ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT` in the root

error[E0432]: unresolved imports `esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_connect_evt_param`, `esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_disconnect_evt_param`
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/connection.rs:2:5
  |
2 |     esp_ble_gatts_cb_param_t_gatts_connect_evt_param,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_cb_param_t_gatts_connect_evt_param` in the root
3 |     esp_ble_gatts_cb_param_t_gatts_disconnect_evt_param,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `esp_ble_gatts_cb_param_t_gatts_disconnect_evt_param` in the root

error[E0432]: unresolved imports `esp_idf_sys::esp_bt_uuid_t`, `esp_idf_sys::esp_gatt_id_t`, `esp_idf_sys::ESP_UUID_LEN_128`, `esp_idf_sys::ESP_UUID_LEN_16`, `esp_idf_sys::ESP_UUID_LEN_32`
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/ble_uuid.rs:2:5
  |
2 |     esp_bt_uuid_t, esp_gatt_id_t, ESP_UUID_LEN_128, ESP_UUID_LEN_16, ESP_UUID_LEN_32,
  |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^ no `ESP_UUID_LEN_32` in the root
  |     |              |              |                 |
  |     |              |              |                 no `ESP_UUID_LEN_16` in the root
  |     |              |              no `ESP_UUID_LEN_128` in the root
  |     |              no `esp_gatt_id_t` in the root
  |     |              help: a similar name exists in the module: `esp_vfs_id_t`
  |     no `esp_bt_uuid_t` in the root

error[E0412]: cannot find type `esp_gatt_id_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/profile.rs:69:48
      |
69    |     pub(crate) fn get_service_by_id(&self, id: esp_gatt_id_t) -> Option<Arc<RwLock<Service>>> {
      |                                                ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_chip_id_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:64704:1
      |
64704 | pub type esp_chip_id_t = ::core::ffi::c_ushort;
      | ---------------------- similarly named type alias `esp_chip_id_t` defined here

error[E0412]: cannot find type `esp_bt_uuid_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/service.rs:78:13
   |
78 |         id: esp_bt_uuid_t,
   |             ^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_bt_uuid_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/service.rs:86:52
   |
86 |     pub(crate) fn get_descriptors_by_id(&self, id: esp_bt_uuid_t) -> Vec<Arc<RwLock<Descriptor>>> {
   |                                                    ^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatt_srvc_id_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/service.rs:104:17
    |
104 |         let id: esp_gatt_srvc_id_t = esp_gatt_srvc_id_t {
    |                 ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_srvc_id_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/service.rs:104:38
    |
104 |         let id: esp_gatt_srvc_id_t = esp_gatt_srvc_id_t {
    |                                      ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in crate `esp_idf_sys`
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/custom_attributes.rs:53:38
   |
53 |                 |param: esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_read_evt_param| {
   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `esp_idf_sys`

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_add_char_evt_param` in this scope
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/add_char.rs:7:49
  |
7 |     pub(crate) fn on_char_add(&mut self, param: esp_ble_gatts_cb_param_t_gatts_add_char_evt_param) {
  |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/add_char.rs:18:28
   |
18 |         if param.status == esp_gatt_status_t_ESP_GATT_OK {
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_add_char_descr_evt_param` in this scope
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/add_char_descr.rs:9:16
  |
9 |         param: esp_ble_gatts_cb_param_t_gatts_add_char_descr_evt_param,
  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/add_char_descr.rs:29:28
   |
29 |         if param.status == esp_gatt_status_t_ESP_GATT_OK {
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_create_evt_param` in this scope
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/create.rs:7:47
  |
7 |     pub(crate) fn on_create(&mut self, param: esp_ble_gatts_cb_param_t_gatts_create_evt_param) {
  |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/create.rs:15:28
   |
15 |         if param.status == esp_gatt_status_t_ESP_GATT_OK {
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatt_if_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:9:19
      |
9     |         gatts_if: esp_gatt_if_t,
      |                   ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_netif_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41443:1
      |
41443 | pub type esp_netif_t = esp_netif_obj;
      | -------------------- similarly named type alias `esp_netif_t` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:10:16
   |
10 |         param: esp_ble_gatts_cb_param_t_gatts_read_evt_param,
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_rsp_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:35:47
   |
35 | ...                   let mut esp_rsp = esp_gatt_rsp_t {
   |                                         ^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_value_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:36:45
   |
36 | ...                   attr_value: esp_gatt_value_t {
   |                                   ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:51:37
   |
51 | ...                   esp_gatt_status_t_ESP_GATT_OK,
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_rsp_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:85:59
   |
85 | ...                   let mut esp_rsp = esp_gatt_rsp_t {
   |                                         ^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_value_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:86:57
   |
86 | ...                   attr_value: esp_gatt_value_t {
   |                                   ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:100:49
    |
100 | ...                   esp_gatt_status_t_ESP_GATT_OK,
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_reg_evt_param` in this scope
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/reg.rs:6:44
  |
6 |     pub(crate) fn on_reg(&mut self, param: esp_ble_gatts_cb_param_t_gatts_reg_evt_param) {
  |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_bt_status_t_ESP_BT_STATUS_SUCCESS` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/reg.rs:8:28
      |
8     |         if param.status == esp_bt_status_t_ESP_BT_STATUS_SUCCESS {
      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `wifi_ftm_status_t_FTM_STATUS_SUCCESS`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41282:1
      |
41282 | pub const wifi_ftm_status_t_FTM_STATUS_SUCCESS: wifi_ftm_status_t = 0;
      | ----------------------------------------------------------------- similarly named constant `wifi_ftm_status_t_FTM_STATUS_SUCCESS` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_start_evt_param` in this scope
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/start.rs:6:46
  |
6 |     pub(crate) fn on_start(&mut self, param: esp_ble_gatts_cb_param_t_gatts_start_evt_param) {
  |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/start.rs:12:28
   |
12 |         if param.status == esp_gatt_status_t_ESP_GATT_OK {
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatt_if_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:10:19
      |
10    |         gatts_if: esp_gatt_if_t,
      |                   ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_netif_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41443:1
      |
41443 | pub type esp_netif_t = esp_netif_obj;
      | -------------------- similarly named type alias `esp_netif_t` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_write_evt_param` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:11:16
   |
11 |         param: esp_ble_gatts_cb_param_t_gatts_write_evt_param,
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:43:41
   |
43 | ...                   esp_ble_gatts_cb_param_t_gatts_read_evt_param {
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_rsp_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:60:55
   |
60 | ...                   let mut esp_rsp = esp_gatt_rsp_t {
   |                                         ^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_value_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:61:53
   |
61 | ...                   attr_value: esp_gatt_value_t {
   |                                   ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:75:45
   |
75 | ...                   esp_gatt_status_t_ESP_GATT_OK,
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:116:53
    |
116 | ...                   esp_ble_gatts_cb_param_t_gatts_read_evt_param {
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_rsp_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:133:67
    |
133 | ...                   let mut esp_rsp = esp_gatt_rsp_t {
    |                                         ^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_gatt_value_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:134:65
    |
134 | ...                   attr_value: esp_gatt_value_t {
    |                                   ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:148:57
    |
148 | ...                   esp_gatt_status_t_ESP_GATT_OK,
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_connect_evt_param` in crate `esp_idf_sys`
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/connect.rs:8:29
  |
8 |         param: esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_connect_evt_param,
  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `esp_idf_sys`

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_disconnect_evt_param` in crate `esp_idf_sys`
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/disconnect.rs:7:29
  |
7 |         param: esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_disconnect_evt_param,
  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `esp_idf_sys`

error[E0425]: cannot find function `esp_ble_gap_start_advertising` in crate `esp_idf_sys`
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/disconnect.rs:17:26
   |
17 |             esp_idf_sys::esp_ble_gap_start_advertising(&mut self.advertisement_parameters);
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `esp_idf_sys`

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_mtu_evt_param` in crate `esp_idf_sys`
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/mtu.rs:8:29
  |
8 |         param: esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_mtu_evt_param,
  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `esp_idf_sys`

error[E0412]: cannot find type `esp_gatt_if_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/reg.rs:9:19
      |
9     |         gatts_if: esp_gatt_if_t,
      |                   ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_netif_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41443:1
      |
41443 | pub type esp_netif_t = esp_netif_obj;
      | -------------------- similarly named type alias `esp_netif_t` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_reg_evt_param` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/reg.rs:10:16
   |
10 |         param: esp_ble_gatts_cb_param_t_gatts_reg_evt_param,
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/reg.rs:12:28
   |
12 |         if param.status == esp_gatt_status_t_ESP_GATT_OK {
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_rsp_evt_param` in crate `esp_idf_sys`
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/response.rs:8:29
  |
8 |         param: esp_idf_sys::esp_ble_gatts_cb_param_t_gatts_rsp_evt_param,
  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `esp_idf_sys`

error[E0412]: cannot find type `esp_gatt_if_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/set_attr_val.rs:10:19
      |
10    |         gatts_if: esp_gatt_if_t,
      |                   ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_netif_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41443:1
      |
41443 | pub type esp_netif_t = esp_netif_obj;
      | -------------------- similarly named type alias `esp_netif_t` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_set_attr_val_evt_param` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/set_attr_val.rs:11:16
   |
11 |         param: esp_ble_gatts_cb_param_t_gatts_set_attr_val_evt_param,
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_gatt_status_t_ESP_GATT_OK` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/set_attr_val.rs:13:28
   |
13 |         if param.status != esp_gatt_status_t_ESP_GATT_OK {
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/set_attr_val.rs:42:40
   |
42 |             let simulated_read_param = esp_ble_gatts_cb_param_t_gatts_read_evt_param {
   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatts_cb_event_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/mod.rs:16:16
      |
16    |         event: esp_gatts_cb_event_t,
      |                ^^^^^^^^^^^^^^^^^^^^ help: a struct with a similar name exists: `esp_mqtt_event_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:67203:1
      |
67203 | pub struct esp_mqtt_event_t {
      | --------------------------- similarly named struct `esp_mqtt_event_t` defined here

error[E0412]: cannot find type `esp_gatt_if_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/mod.rs:17:19
      |
17    |         gatts_if: esp_gatt_if_t,
      |                   ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_netif_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41443:1
      |
41443 | pub type esp_netif_t = esp_netif_obj;
      | -------------------- similarly named type alias `esp_netif_t` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/mod.rs:18:21
   |
18 |         param: *mut esp_ble_gatts_cb_param_t,
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatts_cb_event_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/mod.rs:86:16
      |
86    |         event: esp_gatts_cb_event_t,
      |                ^^^^^^^^^^^^^^^^^^^^ help: a struct with a similar name exists: `esp_mqtt_event_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:67203:1
      |
67203 | pub struct esp_mqtt_event_t {
      | --------------------------- similarly named struct `esp_mqtt_event_t` defined here

error[E0412]: cannot find type `esp_gatt_if_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/mod.rs:87:19
      |
87    |         gatts_if: esp_gatt_if_t,
      |                   ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_netif_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41443:1
      |
41443 | pub type esp_netif_t = esp_netif_obj;
      | -------------------- similarly named type alias `esp_netif_t` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/mod.rs:88:21
   |
88 |         param: *mut esp_ble_gatts_cb_param_t,
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_ble_adv_params_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:42:35
   |
42 |         advertisement_parameters: esp_ble_adv_params_t {
   |                                   ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_ble_adv_type_t_ADV_TYPE_IND` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:45:23
   |
45 |             adv_type: esp_ble_adv_type_t_ADV_TYPE_IND,
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_ble_addr_type_t_BLE_ADDR_TYPE_RPA_PUBLIC` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:46:28
   |
46 |             own_addr_type: esp_ble_addr_type_t_BLE_ADDR_TYPE_RPA_PUBLIC,
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_ble_adv_channel_t_ADV_CHNL_ALL` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:47:26
   |
47 |             channel_map: esp_ble_adv_channel_t_ADV_CHNL_ALL,
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_ble_adv_filter_t_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:48:32
   |
48 |             adv_filter_policy: esp_ble_adv_filter_t_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY,
   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_ble_adv_data_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:51:29
   |
51 |         advertisement_data: esp_ble_adv_data_t {
   |                             ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_BLE_ADV_FLAG_GEN_DISC` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:64:20
   |
64 |             flag: (ESP_BLE_ADV_FLAG_GEN_DISC | ESP_BLE_ADV_FLAG_BREDR_NOT_SPT) as u8,
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_BLE_ADV_FLAG_BREDR_NOT_SPT` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:64:48
   |
64 |             flag: (ESP_BLE_ADV_FLAG_GEN_DISC | ESP_BLE_ADV_FLAG_BREDR_NOT_SPT) as u8,
   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_ble_adv_data_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:66:29
   |
66 |         scan_response_data: esp_ble_adv_data_t {
   |                             ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_BLE_ADV_FLAG_GEN_DISC` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:79:20
   |
79 |             flag: (ESP_BLE_ADV_FLAG_GEN_DISC | ESP_BLE_ADV_FLAG_BREDR_NOT_SPT) as u8,
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_BLE_ADV_FLAG_BREDR_NOT_SPT` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:79:48
   |
79 |             flag: (ESP_BLE_ADV_FLAG_GEN_DISC | ESP_BLE_ADV_FLAG_BREDR_NOT_SPT) as u8,
   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_adv_params_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:93:31
   |
93 |     advertisement_parameters: esp_ble_adv_params_t,
   |                               ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_adv_data_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:94:25
   |
94 |     advertisement_data: esp_ble_adv_data_t,
   |                         ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_adv_data_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:95:25
   |
95 |     scan_response_data: esp_ble_adv_data_t,
   |                         ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_adv_params_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:155:46
    |
155 |     pub fn set_adv_params(&mut self, params: esp_ble_adv_params_t) -> &mut Self {
    |                                              ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_adv_data_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:161:42
    |
161 |     pub fn set_adv_data(&mut self, data: esp_ble_adv_data_t) -> &mut Self {
    |                                          ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0422]: cannot find struct, variant or union type `esp_bt_controller_config_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:213:48
      |
213   |         let default_controller_configuration = esp_bt_controller_config_t {
      |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a struct with a similar name exists: `esp_console_config_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:22486:1
      |
22486 | pub struct esp_console_config_t {
      | ------------------------------- similarly named struct `esp_console_config_t` defined here

error[E0425]: cannot find value `BT_HCI_UART_NO_DEFAULT` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:216:26
    |
216 |             hci_uart_no: BT_HCI_UART_NO_DEFAULT as _,
    |                          ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `BT_HCI_UART_BAUDRATE_DEFAULT` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:217:32
    |
217 |             hci_uart_baudrate: BT_HCI_UART_BAUDRATE_DEFAULT,
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `SCAN_DUPLICATE_MODE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:218:34
    |
218 |             scan_duplicate_mode: SCAN_DUPLICATE_MODE as _,
    |                                  ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `SCAN_DUPLICATE_TYPE_VALUE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:219:34
    |
219 |             scan_duplicate_type: SCAN_DUPLICATE_TYPE_VALUE as _,
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `NORMAL_SCAN_DUPLICATE_CACHE_SIZE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:220:30
    |
220 |             normal_adv_size: NORMAL_SCAN_DUPLICATE_CACHE_SIZE as _,
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `MESH_DUPLICATE_SCAN_CACHE_SIZE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:221:28
    |
221 |             mesh_adv_size: MESH_DUPLICATE_SCAN_CACHE_SIZE as _,
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `SCAN_SEND_ADV_RESERVED_SIZE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:222:37
    |
222 |             send_adv_reserved_size: SCAN_SEND_ADV_RESERVED_SIZE as _,
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONTROLLER_ADV_LOST_DEBUG_BIT` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:223:36
    |
223 |             controller_debug_flag: CONTROLLER_ADV_LOST_DEBUG_BIT,
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_bt_mode_t_ESP_BT_MODE_BLE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:224:19
    |
224 |             mode: esp_bt_mode_t_ESP_BT_MODE_BLE as _,
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:225:27
    |
225 |             ble_max_conn: CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF as _,
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:226:30
    |
226 |             bt_max_acl_conn: CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF as _,
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:227:30
    |
227 |             bt_sco_datapath: CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF as _,
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `BTDM_CTRL_AUTO_LATENCY_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:228:27
    |
228 |             auto_latency: BTDM_CTRL_AUTO_LATENCY_EFF != 0,
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:229:36
    |
229 |             bt_legacy_auth_vs_evt: BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF != 0,
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:230:31
    |
230 |             bt_max_sync_conn: CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF as _,
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:231:22
    |
231 |             ble_sca: CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF as _,
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_BTDM_CTRL_PCM_ROLE_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:232:23
    |
232 |             pcm_role: CONFIG_BTDM_CTRL_PCM_ROLE_EFF as _,
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_BTDM_CTRL_PCM_POLAR_EFF` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:233:24
    |
233 |             pcm_polar: CONFIG_BTDM_CTRL_PCM_POLAR_EFF as _,
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `BTDM_CTRL_HLI` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:234:18
    |
234 |             hli: BTDM_CTRL_HLI != 0,
    |                  ^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:235:20
    |
235 |             magic: ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL,
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_bt_mode_t_ESP_BT_MODE_CLASSIC_BT` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:348:17
    |
348 |                 esp_bt_mode_t_ESP_BT_MODE_CLASSIC_BT
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `esp_bt_mode_t_ESP_BT_MODE_BLE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:353:50
    |
353 |             esp_nofail!(esp_bt_controller_enable(esp_bt_mode_t_ESP_BT_MODE_BLE));
    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatts_cb_event_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:369:16
      |
369   |         event: esp_gatts_cb_event_t,
      |                ^^^^^^^^^^^^^^^^^^^^ help: a struct with a similar name exists: `esp_mqtt_event_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:67203:1
      |
67203 | pub struct esp_mqtt_event_t {
      | --------------------------- similarly named struct `esp_mqtt_event_t` defined here

error[E0412]: cannot find type `esp_gatt_if_t` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:370:19
      |
370   |         gatts_if: esp_gatt_if_t,
      |                   ^^^^^^^^^^^^^ help: a type alias with a similar name exists: `esp_netif_t`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:41443:1
      |
41443 | pub type esp_netif_t = esp_netif_obj;
      | -------------------- similarly named type alias `esp_netif_t` defined here

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:371:21
    |
371 |         param: *mut esp_ble_gatts_cb_param_t,
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gap_ble_cb_event_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:383:16
    |
383 |         event: esp_gap_ble_cb_event_t,
    |                ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gap_cb_param_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:384:21
    |
384 |         param: *mut esp_ble_gap_cb_param_t,
    |                     ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_ble_gatts_cb_param_t_gatts_read_evt_param` in this scope
 --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_control.rs:7:20
  |
7 |         Arc<dyn Fn(esp_ble_gatts_cb_param_t_gatts_read_evt_param) -> Vec<u8> + Send + Sync>,
  |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
  |
help: you might be missing a type parameter
  |
5 | pub(crate) enum AttributeControl<esp_ble_gatts_cb_param_t_gatts_read_evt_param> {
  |                                 +++++++++++++++++++++++++++++++++++++++++++++++

error[E0412]: cannot find type `esp_attr_control_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_control.rs:12:33
   |
12 | impl From<AttributeControl> for esp_attr_control_t {
   |                                 ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_AUTO_RSP` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_control.rs:16:55
   |
16 |             AttributeControl::AutomaticResponse(_) => ESP_GATT_AUTO_RSP as u8,
   |                                                       ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_RSP_BY_APP` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_control.rs:17:51
   |
17 |             AttributeControl::ResponseByApp(_) => ESP_GATT_RSP_BY_APP as u8,
   |                                                   ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatt_char_prop_t` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:103:41
    |
103 | impl From<CharacteristicProperties> for esp_gatt_char_prop_t {
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_BROADCAST` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:108:23
    |
108 |             result |= ESP_GATT_CHAR_PROP_BIT_BROADCAST;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_READ` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:111:23
    |
111 |             result |= ESP_GATT_CHAR_PROP_BIT_READ;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_WRITE_NR` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:114:23
    |
114 |             result |= ESP_GATT_CHAR_PROP_BIT_WRITE_NR;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_WRITE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:117:23
    |
117 |             result |= ESP_GATT_CHAR_PROP_BIT_WRITE;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_NOTIFY` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:120:23
    |
120 |             result |= ESP_GATT_CHAR_PROP_BIT_NOTIFY;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_INDICATE` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:123:23
    |
123 |             result |= ESP_GATT_CHAR_PROP_BIT_INDICATE;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_AUTH` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:126:23
    |
126 |             result |= ESP_GATT_CHAR_PROP_BIT_AUTH;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_CHAR_PROP_BIT_EXT_PROP` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/characteristic_properties.rs:129:23
    |
129 |             result |= ESP_GATT_CHAR_PROP_BIT_EXT_PROP;
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `esp_gatt_perm_t` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:43:37
   |
43 | impl From<AttributePermissions> for esp_gatt_perm_t {
   |                                     ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_READ` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:53:37
   |
53 |             (true, false, false) => ESP_GATT_PERM_READ,
   |                                     ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_WRITE` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:54:37
   |
54 |             (false, true, false) => ESP_GATT_PERM_WRITE,
   |                                     ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_READ` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:55:36
   |
55 |             (true, true, false) => ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE,
   |                                    ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_WRITE` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:55:57
   |
55 |             (true, true, false) => ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE,
   |                                                         ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_READ_ENCRYPTED` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:56:36
   |
56 |             (true, false, true) => ESP_GATT_PERM_READ_ENCRYPTED,
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_WRITE_ENCRYPTED` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:57:36
   |
57 |             (false, true, true) => ESP_GATT_PERM_WRITE_ENCRYPTED,
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_READ_ENCRYPTED` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:58:35
   |
58 |             (true, true, true) => ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED,
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `ESP_GATT_PERM_WRITE_ENCRYPTED` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/utilities/attribute_permissions.rs:58:66
   |
58 |             (true, true, true) => ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED,
   |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_app_register` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/profile.rs:81:30
   |
81 |         unsafe { esp_nofail!(esp_ble_gatts_app_register(self.identifier)) };
   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_create_service` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/service.rs:110:25
    |
110 |             esp_nofail!(esp_ble_gatts_create_service(
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0624]: method `set_raw` is private
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/custom_attributes.rs:99:22
    |
99  |                     .set_raw(&key, &value)
    |                      ^^^^^^^ private method
    |
   ::: /Users/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/esp-idf-svc-0.45.0/src/nvs.rs:329:5
    |
329 |     fn set_raw(&mut self, name: &str, buf: &[u8]) -> Result<bool, EspError> {
    |     ----------------------------------------------------------------------- private method defined here
    |
    = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
1   | use embedded_svc::storage::RawStorage;
    |

error[E0425]: cannot find function `esp_ble_gatts_start_service` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/create.rs:23:29
   |
23 |                 esp_nofail!(esp_ble_gatts_start_service(
   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_send_response` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:46:45
   |
46 | ...                   esp_nofail!(esp_ble_gatts_send_response(
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_send_response` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/read.rs:96:57
   |
96 | ...                   esp_nofail!(esp_ble_gatts_send_response(
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_send_response` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:71:53
   |
71 | ...                   esp_nofail!(esp_ble_gatts_send_response(
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_send_response` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/profile/write.rs:144:65
    |
144 | ...                   esp_nofail!(esp_ble_gatts_send_response(
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gap_set_device_name` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/reg.rs:25:33
   |
25 |                     esp_nofail!(esp_ble_gap_set_device_name(
   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gap_config_adv_data` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/reg.rs:32:33
   |
32 |                     esp_nofail!(esp_ble_gap_config_adv_data(&mut self.advertisement_data));
   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gap_config_adv_data` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/reg.rs:35:33
   |
35 |                     esp_nofail!(esp_ble_gap_config_adv_data(&mut self.scan_response_data));
   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_send_indicate` in this scope
  --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/set_attr_val.rs:77:26
   |
77 |                     esp!(esp_ble_gatts_send_indicate(
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_send_indicate` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/set_attr_val.rs:100:26
    |
100 |                     esp!(esp_ble_gatts_send_indicate(
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_get_attr_value` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/gatts_event_handler/server/set_attr_val.rs:119:25
    |
119 |             esp_nofail!(esp_ble_gatts_get_attr_value(
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_bt_controller_mem_release` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:347:25
    |
347 |             esp_nofail!(esp_bt_controller_mem_release(
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_bt_controller_init` in this scope
     --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:350:25
      |
350   |             esp_nofail!(esp_bt_controller_init(leaky_box_raw!(
      |                         ^^^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `esp_console_init`
      |
     ::: /Users/mark/Projects/Personal/esp-idf-ble-improv/target/xtensa-esp32-espidf/debug/build/esp-idf-sys-6089d9cebcb2e2a7/out/bindings.rs:22541:5
      |
22541 |     pub fn esp_console_init(config: *const esp_console_config_t) -> esp_err_t;
      |     ------------------------------------------------------------------------- similarly named function `esp_console_init` defined here

error[E0425]: cannot find function `esp_bt_controller_enable` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:353:25
    |
353 |             esp_nofail!(esp_bt_controller_enable(esp_bt_mode_t_ESP_BT_MODE_BLE));
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_bluedroid_init` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:354:25
    |
354 |             esp_nofail!(esp_bluedroid_init());
    |                         ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_bluedroid_enable` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:355:25
    |
355 |             esp_nofail!(esp_bluedroid_enable());
    |                         ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gatts_register_callback` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:356:25
    |
356 |             esp_nofail!(esp_ble_gatts_register_callback(Some(
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `esp_ble_gap_register_callback` in this scope
   --> /Users/mark/.cargo/git/checkouts/bluedroid-772e81417d580638/62d84c6/src/gatt_server/mod.rs:359:25
    |
359 |             esp_nofail!(esp_ble_gap_register_callback(Some(
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error: aborting due to 144 previous errors

This is with

[package]
name = "esp-idf-test"
version = "0.1.0"
edition = "2021"
resolver = "2"

[profile.release]
opt-level = "s"

[profile.dev]
debug = true    # Symbols are nice and they don't increase the size on Flash
opt-level = "z"

[dependencies]
esp-idf-sys = { version = "0.32.1", features = ["binstart"] }
esp-idf-svc = { version = "0.45.0" }
bluedroid = "0.3.7"

Basically generated by the cargo-generate esp-rs template

Recent support for ESP-IDF 5.0 broke 4.4

After getting the latest code from main, I now receive the error

error[E0425]: cannot find value `DUPL_SCAN_CACHE_REFRESH_PERIOD` in this scope
   --> bluedroid\src\gatt_server\mod.rs:277:38
    |
277 |             dup_list_refresh_period: DUPL_SCAN_CACHE_REFRESH_PERIOD as u16,
    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0624]: method `set_raw` is private
   --> bluedroid\src\gatt_server\custom_attributes.rs:99:22
    |
99  |                     .set_raw(&key, &value)
    |                      ^^^^^^^ private method
    |
   ::: C:\Users\machine\.cargo\registry\src\index.crates.io-6f17d22bba15001f\esp-idf-svc-0.45.0\src\nvs.rs:329:5
    |
329 |     fn set_raw(&mut self, name: &str, buf: &[u8]) -> Result<bool, EspError> {
    |     ----------------------------------------------------------------------- private method defined here

In src/gatt_server/mod.rs#277, it looks like there may have been intent to remove that field if < IDF 5.0 but it got commented out. Is this a bug or was it intentional?

// #[cfg(any(esp_idf_version = "5.0", esp_idf_version = "5.1"))]
dup_list_refresh_period: DUPL_SCAN_CACHE_REFRESH_PERIOD as u16,

I'm using ESP-IDF 4.4 and using ESP32-C3.

Current implementation Panics if accessing Default NVS partition

The current implementation of the custom attribute descriptor appears to indefinitely reference the EspDefaultNvsPartition. This leads to a panic when someone else attempts to access the mentioned default partition.

This issue arises from the lazy initialization of a static variable (STORAGE) in src/gatt_server/custom_attributes.rs, which retains a Mutex lock until itself is dropped. I am working on resolving this problem promptly and wanted to inform anyone else who may encounter the same issue.

No field `link_role` on type `esp_ble_gatts_cb_param_t_gatts_disconnect_evt_param`

After getting 0.3.5, I'm no longer able to compile. I get the following error message.

   Compiling bluedroid v0.3.6
error[E0609]: no field `link_role` on type `esp_ble_gatts_cb_param_t_gatts_disconnect_evt_param`
  --> C:\Users\slick\.cargo\registry\src\github.com-1ecc6299db9ec823\bluedroid-0.3.6\src\utilities\connection.rs:27:29
   |
27 |             is_slave: param.link_role == 1,
   |                             ^^^^^^^^^ unknown field
   |
   = note: available fields are: `conn_id`, `remote_bda`, `reason`

For more information about this error, try `rustc --explain E0609`.

I'm guessing some dependency of mine changed and is no longer compatible?

These are my dependencies

esp-idf-sys = { version = "^0.31.10", features = ["native"] }
esp-idf-svc = { version = "0.43.4" }
embedded-svc = { version = "0.23.1" }
log = { version = "0.4.17" }
lazy_static = { version = "1.4.0" }

`let` expressions in this position are unstable

Hi,

Not sure if you're at the point where you're taking bug reports and feedback yet but wanted to get an issue in just in case. I am trying to use the crate and on cargo build, I get a lot of errors similar to

error[E0658]: `let` expressions in this position are unstable
  --> C:\Users\slick\.cargo\registry\src\github.com-1ecc6299db9ec823\bluedroid-0.2.0\src\gatt_server\characteristic.rs:89:12
   |
89 |         if let AttributeControl::AutomaticResponse(_) = self.control && self.internal_value.is_empty() {
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information
   = help: add `#![feature(let_chains)]` to the crate attributes to enable

error[E0658]: `let` expressions in this position are unstable
   --> C:\Users\slick\.cargo\registry\src\github.com-1ecc6299db9ec823\bluedroid-0.2.0\src\gatt_server\gatts_event_handler.rs:121:20
    |
121 |                 if let Some(profile) = self.get_profile(gatts_if) &&
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information
    = help: add `#![feature(let_chains)]` to the crate attributes to enable

error[E0658]: `let` expressions in this position are unstable
   --> C:\Users\slick\.cargo\registry\src\github.com-1ecc6299db9ec823\bluedroid-0.2.0\src\gatt_server\gatts_event_handler.rs:122:20
    |
122 |                    let Some(service) = profile.read().unwrap().get_service(param.srvc_handle) &&
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information
    = help: add `#![feature(let_chains)]` to the crate attributes to enable

I'm on rustc 1.66.0-nightly (f5fed93ba 2022-09-27)

Change method type of `on_write`

Currently on_write uses fn for callbacks. The downside of that is that you cannot capture the environment that way. Does it make sense to change it to Fn to allow that?

Completely stops working after write event processed

I have a writable characteristic. It works as expected including first write event. But after that it doesn't responds to any requests anymore. Other threads continue to work without problems.

I use ESP32C3 with develop branch. IDF SDK v5.0. Also I extended stacks up to 16K.

There is piece of log with debug enabled:

I (121026) myapp: Free heap: 200808 bytes, free internal heap: 193028 bytes
D (124826) bluedroid::gatt_server::gatts_event_handler: Handling event 2 on profile Default Profile (0x0001).
D (124826) bluedroid::gatt_server::gatts_event_handler::profile::write: Received write event for characteristic Operating Mode (5cc1f748-fcf1-47a6-ae93-bb7a3521d809).
I (124826) myapp::controller: Set operation mode: Stat
I (126026) myapp: Free heap: 199856 bytes, free internal heap: 192076 bytes

After that there is no log messages from bluedroid even if I try to read or write characteristic.
Device becomes invisible via BLE. However myapp continue periodic send heap usage statistics.

Should this be upstreamed into esp-idf-svc?

Hey, great project! We made our own implementation of essentially this a while back and would like to upstream it back to esp-idf-svc but then I stumbled upon this project right here. The question now is: Are you interested in upstreaming this or do you plan to keep this separate?

I think there's value in putting this into esp-idf-svc if it's specific to ESP32 anyway.

Typed characteristics.

Make characteristics generic. The callbacks and set_value will accept and return values with the characteristic’s generic type.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.