/**@brief Function for encoding the Bond Management Feature characteristic. * * @param[in] p_bms Bond Management Service structure. * @param[out] p_encoded_feature Encoded features. * * @return Size of the encoded feature. */ static uint8_t feature_encode(nrf_ble_bms_features_t const * p_feature, uint8_t * p_encoded_feature) { uint32_t data = 0; if (p_feature->delete_all_auth) { data |= NRF_BLE_BMS_ALL_BONDS_LE_AUTH_CODE; } if (p_feature->delete_all_but_requesting_auth) { data |= NRF_BLE_BMS_ALL_EXCEPT_REQUESTING_DEVICE_LE_AUTH_CODE; } if (p_feature->delete_all_but_requesting) { data |= NRF_BLE_BMS_ALL_EXCEPT_REQUESTING_DEVICE_LE; } if (p_feature->delete_all) { data |= NRF_BLE_BMS_ALL_BONDS_LE; } if (p_feature->delete_requesting_auth) { data |= NRF_BLE_BMS_REQUESTING_DEVICE_LE_AUTH_CODE; } if (p_feature->delete_requesting) { data |= NRF_BLE_BMS_REQUESTING_DEVICE_LE; } return (uint24_encode(data, p_encoded_feature)); }
void ant_bsc_page_1_encode(uint8_t * p_page_buffer, ant_bsc_page1_data_t const * p_page_data) { ant_bsc_page1_data_layout_t * p_outcoming_data = (ant_bsc_page1_data_layout_t *)p_page_buffer; UNUSED_PARAMETER(uint24_encode(p_page_data->operating_time, p_outcoming_data->cumulative_operating_time)); page1_data_log( p_page_data); }
void ant_sdm_page_16_encode(uint8_t * p_page_buffer, ant_sdm_common_data_t const * p_common_data) { ant_sdm_page16_data_layout_t * p_outcoming_data = (ant_sdm_page16_data_layout_t *)p_page_buffer; UNUSED_PARAMETER(uint24_encode(p_common_data->strides, p_outcoming_data->strides)); UNUSED_PARAMETER(uint32_encode(p_common_data->distance << 4, p_outcoming_data->distance)); page_16_data_log(p_common_data); }
uint8_t encode_feature_location_type(uint8_t * p_out_buffer, nrf_ble_cgms_feature_t * p_in_feature) { uint8_t len = 0; len += uint24_encode(p_in_feature->feature, &p_out_buffer[len]); p_out_buffer[len++] = (p_in_feature->sample_location << 4) | (p_in_feature->type & 0x0F); len += uint16_encode(0xFFFF, &p_out_buffer[len]); return len; }