code: func (d *GrovePiDriver) readAnalog(pin byte) (int, error) {
  	b := []byte{CommandReadAnalog, pin, 0, 0}
  	_, err := d.connection.Write(b)
  	if err != nil {
  		return 0, err
  	}
  
  	time.Sleep(2 * time.Millisecond)
  
  	data := make([]byte, 3)
  	_, err = d.connection.Read(data)
  	if err != nil || data[0] != CommandReadAnalog {
  		return -1, err
  	}
  
  	v1 := int(data[1])
  	v2 := int(data[2])
  	return ((v1 * 256) + v2), nil
  }
docs: // readAnalog reads analog value from the GrovePi.