Skip to content

nimble/apps/tester: Implement GATT Server BTP Service (ID 0x07) #1969

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

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

piotrnarajowski
Copy link
Contributor

@piotrnarajowski piotrnarajowski commented Feb 4, 2025

New BTP service is introduced. Most of the changes are just migration of code from btp_gatt.c and btp_gatt.h. Changes also include refactor of notifications sent by server and database initialization:

  • os_callout_init and functions/variables realted to it are removed. It was responsible for starting a timer when peer has subscribed for notifications/indications and sending notifications right after the timer has expired. An updated version of gatts_set_value command can be used to set values of one or more characteristics and takes care of sending notifications, indications and multiple handle value notifications
  • All predefined ble_gatt_svc_def structs will be registred on GATTS service registration with visibility set to invisible. BTP_GATTS_INITIALIZE_DATABASE command can be used to make chosen database visible

Related auto-pts/auto-pts#1367

@github-actions github-actions bot added the size/XL Extra large PR label Feb 4, 2025
@piotrnarajowski piotrnarajowski marked this pull request as ready for review February 6, 2025 14:57
@piotrnarajowski piotrnarajowski marked this pull request as draft February 6, 2025 14:57
@szymon-czapracki
Copy link
Contributor

It might be good if this was parted into several commits - i.e. changes made to header files might be separated into standalone commit.

@piotrnarajowski piotrnarajowski force-pushed the GATTS_BTP_SERVICE branch 2 times, most recently from 7cf9288 to eec2aa2 Compare June 16, 2025 14:08
@piotrnarajowski piotrnarajowski changed the title nimble: tester: Implement GATT Server BTP Service (ID 0x07) nimble/apps/tester: Implement GATT Server BTP Service (ID 0x07) Jun 16, 2025
@piotrnarajowski piotrnarajowski force-pushed the GATTS_BTP_SERVICE branch 2 times, most recently from 9784d2d to 89b8488 Compare June 27, 2025 14:24
@github-actions github-actions bot added the host label Jun 27, 2025
New BTP service is introduced. Most of the changes are just migration
of code from btp_gatt.c and btp_gatt.h.
Changes also include refactor of notifications sent by server and
database initialization:
- os_callout_init and functions/variables realted to it are removed.
  It was responsible for starting a timer when peer has subscribed for
  notifications/indications and sending notifications right after the
  timer has expired. An updated version of gatts_set_value command can
  be used to set values of one or more characteristics and handles sending
  notifications, indications and multiple handle value notifications
- All predefined ble_gatt_svc_def structs will be registred on GATTS
  service registration with visibility set to invisible.
  BTP_GATTS_INITIALIZE_DATABASE command can be used to make chosen database
  visible.
- Removes files and content related to BTP GATT Service (0x02).
- All necessary content has been migrated to btp_gatts.c and btp_gatts.h files
- Ensured no loss of functionality; all essential GATT components preserved
This metod allows reading configuration flags of Client Characteristic
Configuration Descriptor for specified characteristic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
host size/XL Extra large PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants