code: func (d *L3GD20HDriver) XYZ() (x float32, y float32, z float32, err error) {
  	if _, err = d.connection.Write([]byte{l3gd20hRegisterOutXLSB}); err != nil {
  		return 0, 0, 0, err
  	}
  	measurements := make([]byte, 6)
  	if _, err = d.connection.Read(measurements); err != nil {
  		return 0, 0, 0, err
  	}
  
  	var rawX int16
  	var rawY int16
  	var rawZ int16
  	buf := bytes.NewBuffer(measurements)
  	binary.Read(buf, binary.LittleEndian, &rawX)
  	binary.Read(buf, binary.LittleEndian, &rawY)
  	binary.Read(buf, binary.LittleEndian, &rawZ)
  
  	// Sensitivity values from the mechanical characteristics in the datasheet.
  	sensitivity := d.getSensitivity()
  
  	return float32(rawX) * sensitivity, float32(rawY) * sensitivity, float32(rawZ) * sensitivity, nil
  }
docs: // XYZ returns the current change in degrees per second, for the 3 axis.