Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BASS & GATT fixes. #1779

Merged
merged 4 commits into from
May 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion nimble/host/audio/services/bass/pkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- pacs
- bass
- nimble

pkg.deps:
Expand Down
4 changes: 3 additions & 1 deletion nimble/host/audio/services/bass/src/ble_audio_svc_bass.c
Original file line number Diff line number Diff line change
Expand Up @@ -861,7 +861,9 @@ ble_svc_audio_bass_init(void)

ble_svc_audio_bass_chrs[0].uuid = bass_cp_uuid;
ble_svc_audio_bass_chrs[0].access_cb = ble_svc_audio_bass_access;
ble_svc_audio_bass_chrs[0].flags = BLE_GATT_CHR_F_WRITE_NO_RSP | BLE_GATT_CHR_F_WRITE_ENC;
ble_svc_audio_bass_chrs[0].flags = BLE_GATT_CHR_F_WRITE_NO_RSP |
BLE_GATT_CHR_F_WRITE |
BLE_GATT_CHR_F_WRITE_ENC;

for (i = 1; i <= MYNEWT_VAL(BLE_SVC_AUDIO_BASS_RECEIVE_STATE_MAX); i++) {
ble_svc_audio_bass_chrs[i].uuid = bass_receive_state_uuid;
Expand Down
2 changes: 1 addition & 1 deletion nimble/host/audio/services/bass/syscfg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
syscfg.defs:
BLE_SVC_AUDIO_BASS_SYSINIT_STAGE:
description: >
Sysinit stage for Published Audio Capabilities Service.
Sysinit stage for Broadcast Audio Scan Service.
value: 303
BLE_SVC_AUDIO_BASS_RECEIVE_STATE_MAX:
description: >
Expand Down
75 changes: 55 additions & 20 deletions nimble/host/include/host/ble_gatt.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,49 +121,49 @@ struct ble_hs_cfg;
* @{
*/

/** GATT Characteristic Flag: Broadcast. */
/** GATT Characteristic Flag: Broadcast property. */
#define BLE_GATT_CHR_F_BROADCAST 0x0001

/** GATT Characteristic Flag: Read. */
/** GATT Characteristic Flag: Read property. */
#define BLE_GATT_CHR_F_READ 0x0002

/** GATT Characteristic Flag: Write without Response. */
/** GATT Characteristic Flag: Write without Response property. */
#define BLE_GATT_CHR_F_WRITE_NO_RSP 0x0004

/** GATT Characteristic Flag: Write. */
/** GATT Characteristic Flag: Write property. */
#define BLE_GATT_CHR_F_WRITE 0x0008

/** GATT Characteristic Flag: Notify. */
/** GATT Characteristic Flag: Notify property. */
#define BLE_GATT_CHR_F_NOTIFY 0x0010

/** GATT Characteristic Flag: Indicate. */
/** GATT Characteristic Flag: Indicate property. */
#define BLE_GATT_CHR_F_INDICATE 0x0020

/** GATT Characteristic Flag: Authenticated Signed Writes. */
/** GATT Characteristic Flag: Authenticated Signed Writes property. */
#define BLE_GATT_CHR_F_AUTH_SIGN_WRITE 0x0040

/** GATT Characteristic Flag: Reliable Writes. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reliable writes are (extended) property, not permission

/** GATT Characteristic Flag: Reliable Writes property. */
#define BLE_GATT_CHR_F_RELIABLE_WRITE 0x0080

/** GATT Characteristic Flag: Auxiliary Writes. */
/** GATT Characteristic Flag: Auxiliary Writes permission. */
#define BLE_GATT_CHR_F_AUX_WRITE 0x0100

/** GATT Characteristic Flag: Read Encrypted. */
/** GATT Characteristic Flag: Read Encrypted permission. */
#define BLE_GATT_CHR_F_READ_ENC 0x0200

/** GATT Characteristic Flag: Read Authenticated. */
/** GATT Characteristic Flag: Read Authenticated permission. */
#define BLE_GATT_CHR_F_READ_AUTHEN 0x0400

/** GATT Characteristic Flag: Read Authorized. */
/** GATT Characteristic Flag: Read Authorized permission. */
#define BLE_GATT_CHR_F_READ_AUTHOR 0x0800

/** GATT Characteristic Flag: Write Encrypted. */
/** GATT Characteristic Flag: Write Encrypted permission. */
#define BLE_GATT_CHR_F_WRITE_ENC 0x1000

/** GATT Characteristic Flag: Write Authenticated. */
/** GATT Characteristic Flag: Write Authenticated permission. */
#define BLE_GATT_CHR_F_WRITE_AUTHEN 0x2000

/** GATT Characteristic Flag: Write Authorized. */
/** GATT Characteristic Flag: Write Authorized permission. */
#define BLE_GATT_CHR_F_WRITE_AUTHOR 0x4000


Expand Down Expand Up @@ -334,6 +334,8 @@ int ble_gattc_exchange_mtu(uint16_t conn_handle,
* updates; null for no callback.
* @param cb_arg The optional argument to pass to the callback
* function.
*
* @return 0 on success; nonzero on failure.
*/
int ble_gattc_disc_all_svcs(uint16_t conn_handle,
ble_gatt_disc_svc_fn *cb, void *cb_arg);
Expand Down Expand Up @@ -637,6 +639,8 @@ int ble_gattc_write_long(uint16_t conn_handle, uint16_t attr_handle,
* updates; null for no callback.
* @param cb_arg The optional argument to pass to the callback
* function.
*
* @return 0 on success; nonzero on failure.
*/
int ble_gattc_write_reliable(uint16_t conn_handle,
struct ble_gatt_attr *attrs,
Expand Down Expand Up @@ -686,7 +690,15 @@ int ble_gatts_notify_multiple_custom(uint16_t conn_handle,
struct ble_gatt_notif *tuples);

/**
* Deprecated. Should not be used. Use ble_gatts_notify_custom instead.
* @deprecated Should not be used. Use ble_gatts_notify_custom instead.
*
* @param conn_handle The connection over which to execute the
* procedure.
* @param att_handle The attribute handle to indicate in the
* outgoing notification.
* @param om The value to write to the characteristic.
*
* @return 0 on success; nonzero on failure.
*/
int ble_gattc_notify_custom(uint16_t conn_handle, uint16_t att_handle,
struct os_mbuf *om);
Expand All @@ -706,7 +718,15 @@ int ble_gattc_notify_custom(uint16_t conn_handle, uint16_t att_handle,
int ble_gatts_notify(uint16_t conn_handle, uint16_t chr_val_handle);

/**
* Deprecated. Should not be used. Use ble_gatts_notify instead.
* @deprecated Should not be used. Use ble_gatts_notify instead.
*
* @param conn_handle The connection over which to execute the
* procedure.
* @param chr_val_handle The value attribute handle of the
* characteristic to include in the outgoing
* notification.
*
* @return 0 on success; nonzero on failure.
*/
int ble_gattc_notify(uint16_t conn_handle, uint16_t chr_val_handle);

Expand Down Expand Up @@ -752,8 +772,18 @@ int ble_gatts_notify_multiple(uint16_t conn_handle,
*/
int ble_gatts_indicate_custom(uint16_t conn_handle, uint16_t chr_val_handle,
struct os_mbuf *txom);

/**
* Deprecated. Should not be used. Use ble_gatts_indicate_custom instead.
* @deprecated Should not be used. Use ble_gatts_indicate_custom instead.
*
* @param conn_handle The connection over which to execute the
* procedure.
* @param chr_val_handle The value attribute handle of the
* characteristic to include in the outgoing
* indication.
* @param txom The data to include in the indication.
*
* @return 0 on success; nonzero on failure.
*/
int ble_gattc_indicate_custom(uint16_t conn_handle, uint16_t chr_val_handle,
struct os_mbuf *txom);
Expand All @@ -773,11 +803,16 @@ int ble_gattc_indicate_custom(uint16_t conn_handle, uint16_t chr_val_handle,
int ble_gatts_indicate(uint16_t conn_handle, uint16_t chr_val_handle);

/**
* Deprecated. Should not be used. Use ble_gatts_indicate instead.
* @deprecated Should not be used. Use ble_gatts_indicate instead.
* @copydoc ble_gatts_indicate
*/
int ble_gattc_indicate(uint16_t conn_handle, uint16_t chr_val_handle);

/** Initialize the BLE GATT client. */
/**
* Initialize the BLE GATT client
*
* @return 0 on success; nonzero on failure.
*/
int ble_gattc_init(void);

/*** @server. */
Expand Down
Loading