diff options
author | Bob McWhirter <bmcwhirt@redhat.com> | 2022-05-16 13:26:11 -0400 |
---|---|---|
committer | Bob McWhirter <bmcwhirt@redhat.com> | 2022-05-16 13:26:11 -0400 |
commit | 18688ae733d2e204bb0c5a810751fda07b94d443 (patch) | |
tree | 356a99673fbf0988cc4d1483e9d4009aceb17f26 /nrf-softdevice-macro | |
parent | 14eae6c04fcb9081532300cdc7b4d2904b329f0f (diff) | |
download | nrf-softdevice-18688ae733d2e204bb0c5a810751fda07b94d443.zip |
Add support for `write_without_response` on server characteristics.
Sets the appropriate flag in the Softdevice database.
Diffstat (limited to 'nrf-softdevice-macro')
-rw-r--r-- | nrf-softdevice-macro/src/lib.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/nrf-softdevice-macro/src/lib.rs b/nrf-softdevice-macro/src/lib.rs index 3a73263..b0382d6 100644 --- a/nrf-softdevice-macro/src/lib.rs +++ b/nrf-softdevice-macro/src/lib.rs @@ -25,6 +25,8 @@ struct CharacteristicArgs { #[darling(default)] write: bool, #[darling(default)] + write_without_response: bool, + #[darling(default)] notify: bool, #[darling(default)] indicate: bool, @@ -221,6 +223,7 @@ pub fn gatt_service(args: TokenStream, item: TokenStream) -> TokenStream { let uuid = ch.args.uuid; let read = ch.args.read; let write = ch.args.write; + let write_without_response = ch.args.write_without_response; let notify = ch.args.notify; let indicate = ch.args.indicate; let ty = &ch.ty; @@ -240,6 +243,7 @@ pub fn gatt_service(args: TokenStream, item: TokenStream) -> TokenStream { uuid: #uuid, can_read: #read, can_write: #write, + can_write_without_response: #write_without_response, can_notify: #notify, can_indicate: #indicate, max_len: #ty_as_val::MAX_SIZE as _, @@ -281,7 +285,7 @@ pub fn gatt_service(args: TokenStream, item: TokenStream) -> TokenStream { )); } - if write { + if write || write_without_response { let case_write = format_ident!("{}Write", name_pascal); code_event_enum.extend(quote_spanned!(ch.span=> #case_write(#ty), |