code: func IBeacon(u ble.UUID, major, minor uint16, pwr int8) Field {
  	return func(p *Packet) error {
  		if u.Len() != 16 {
  			return ErrInvalid
  		}
  		md := make([]byte, 23)
  		md[0] = 0x02                               // Data type: iBeacon
  		md[1] = 0x15                               // Data length: 21 bytes
  		copy(md[2:], ble.Reverse(u))               // Big endian
  		binary.BigEndian.PutUint16(md[18:], major) // Big endian
  		binary.BigEndian.PutUint16(md[20:], minor) // Big endian
  		md[22] = uint8(pwr)                        // Measured Tx Power
  		return ManufacturerData(0x004C, md)(p)
  	}
  }
docs: // IBeacon returns an iBeacon advertising packet with specified parameters.