No changes
Fork of nRF51822 by
Diff: source/btle/custom/custom_helper.cpp
- Revision:
- 509:7dc75f30064f
- Parent:
- 506:aab595b22981
- Child:
- 513:9abdc3021d8c
diff -r 43f58b48bbab -r 7dc75f30064f source/btle/custom/custom_helper.cpp --- a/source/btle/custom/custom_helper.cpp Wed Dec 02 10:32:54 2015 +0000 +++ b/source/btle/custom/custom_helper.cpp Wed Dec 02 12:35:26 2015 +0000 @@ -202,7 +202,7 @@ uint8_t properties, SecurityManager::SecurityMode_t requiredSecurity, uint8_t *p_data, - uint16_t length, + uint16_t min_length, uint16_t max_length, const uint8_t *userDescriptionDescriptorValuePtr, uint16_t userDescriptionDescriptorValueLen, @@ -242,8 +242,7 @@ attr_md.wr_auth = writeAuthorization; attr_md.vloc = BLE_GATTS_VLOC_STACK; - /* Always set variable size */ - attr_md.vlen = 1; + attr_md.vlen = (min_length == max_length) ? 0 : 1; if (char_props.read || char_props.notify || char_props.indicate) { switch (requiredSecurity) { @@ -293,7 +292,7 @@ attr_char_value.p_uuid = p_uuid; attr_char_value.p_attr_md = &attr_md; - attr_char_value.init_len = length; + attr_char_value.init_len = min_length; attr_char_value.max_len = max_length; attr_char_value.p_value = p_data; @@ -326,7 +325,7 @@ error_t custom_add_in_descriptor(uint16_t char_handle, ble_uuid_t *p_uuid, uint8_t *p_data, - uint16_t length, + uint16_t min_length, uint16_t max_length, uint16_t *p_desc_handle) { @@ -334,8 +333,7 @@ ble_gatts_attr_md_t desc_md = {0}; desc_md.vloc = BLE_GATTS_VLOC_STACK; - /* Always set variable size */ - desc_md.vlen = 1; + desc_md.vlen = (min_length == max_length) ? 0 : 1; /* Make it readable and writable */ BLE_GAP_CONN_SEC_MODE_SET_OPEN(&desc_md.read_perm); @@ -345,7 +343,7 @@ attr_desc.p_uuid = p_uuid; attr_desc.p_attr_md = &desc_md; - attr_desc.init_len = length; + attr_desc.init_len = min_length; attr_desc.max_len = max_length; attr_desc.p_value = p_data;