Old version
Fork of nRF51822 by
Diff: nordic/ble/ble_advdata_parser.cpp
- Revision:
- 0:eff01767de02
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nordic/ble/ble_advdata_parser.cpp Wed Mar 26 14:38:17 2014 +0000 @@ -0,0 +1,21 @@ +#include "ble_advdata_parser.h" + +uint32_t ble_advdata_parser_field_find(uint8_t type, uint8_t * p_advdata, uint8_t * len, uint8_t ** pp_field_data) +{ + uint32_t index = 0; + + while (index < *len) + { + uint8_t field_length = p_advdata[index]; + uint8_t field_type = p_advdata[index+1]; + + if (field_type == type) + { + *pp_field_data = &p_advdata[index+2]; + *len = field_length-1; + return NRF_SUCCESS; + } + index += field_length+1; + } + return NRF_ERROR_NOT_FOUND; +}