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

[nrfconnect] Bring back BLE write requests #7039

Merged
merged 1 commit into from
May 21, 2021

Conversation

Damian-Nordic
Copy link
Contributor

Problem

PR #6955, apart from changing from BLE indications to notifications on nRF Connect platform, started require
controllers to use only GATT WriteCommand procedure (aka Write without response) as that is required by the spec.

However, Darwin platform layer still uses WriteRequest (aka Write with response) method, so the change broke compatibility between mac and nRF Connect platforms.

Change overview

Support both methods on the firmware side until all platforms switch to the new spec-recommended method.

Testing

No unit or integration tests are added/modified as the change can only be tested on hardware.
The change has been tested manually by using Python CHIP Controller on mac OS and nRF Connect lock-app.

PR project-chip#6955, apart from changing from BLE indications to
notifications on nRF Connect platform, started require
controllers to use WriteCommon (aka Write without response)
only as that is required by the spec.

However, Darwin platform layer still uses WriteRequest
(aka Write with response) method, so the change broke
compatibility between mac and nRF Connect platforms.

Support both methods on the firmware side.
@github-actions
Copy link

Size increase report for "esp32-example-build" from 82a8544

File Section File VM
chip-all-clusters-app.elf .flash.text 16 16
chip-all-clusters-app.elf .flash.rodata 4 4
Full report output
BLOAT REPORT

Files found only in the build output:
    report.csv

Comparing ./master_artifact/chip-pigweed-app.elf and ./pull_artifact/chip-pigweed-app.elf:

sections,vmsize,filesize

Comparing ./master_artifact/chip-all-clusters-app.elf and ./pull_artifact/chip-all-clusters-app.elf:

sections,vmsize,filesize
.xt.lit._ZN12QRCodeScreenD5Ev,0,88
.xt.prop._ZN12QRCodeScreenD5Ev,0,52
.xt.prop._ZN4chip9Transport16AdminPairingInfo5ResetEv,0,40
.flash.text,16,16
.flash.rodata,4,4
[Unmapped],0,-4
.xt.prop._ZN4chip8Platform3NewINS_9Transport16AdminPairingInfo24StorableAdminPairingInfoEJEEEPT_DpOT0_,0,-12
.xt.prop._ZNSt6vectorIhSaIhEE17_M_default_appendEj,0,-40
.xt.lit._ZN4chip8Platform3NewINS_9Transport16AdminPairingInfo24StorableAdminPairingInfoEJEEEPT_DpOT0_,0,-48
.xt.lit._ZNSt6vectorIhSaIhEE17_M_default_appendEj,0,-80


@woody-apple woody-apple merged commit 3d2a392 into project-chip:master May 21, 2021
@Damian-Nordic Damian-Nordic deleted the fix-ble-writerequest branch June 4, 2021 10:45
nikita-s-wrk pushed a commit to nikita-s-wrk/connectedhomeip that referenced this pull request Sep 23, 2021
PR project-chip#6955, apart from changing from BLE indications to
notifications on nRF Connect platform, started require
controllers to use WriteCommon (aka Write without response)
only as that is required by the spec.

However, Darwin platform layer still uses WriteRequest
(aka Write with response) method, so the change broke
compatibility between mac and nRF Connect platforms.

Support both methods on the firmware side.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants