Using SDK16, SD140 v7.0.1
While filtering UUID and taking ble_app_hrs_c from ble_central as reference, raw_uuid correctly appears when sd_ble_uuid_encode(p_target_uuid, &raw_uuid_len, raw_uuid) is called. The received parsed UUID is also same but it is in order of reception i.e. MSB first.
say UUID: 70786e86-fa13-4a65-ab89-d7b199fd0bc2
raw_uuid = {[0] = 0xc2, [1] = 0x0b, [2] = 0xfd,..., [14] = 0x78, [15] = 0x70} p_parsed_uuid = {[0] = 0x70, [1] = 0x78, [2] = 0x6e,..., [14] = 0x0b, [15] = 0xc2}
In the function ble_advdata_uuid_find when the comparison happens at memcmp(&p_parsed_uuid[list_offset], raw_uuid, raw_uuid_len) for comparing UUID, naturally it would fail.
What am I apparently missing.