code: func (g *Driver) DigitalWrite(pin string, val byte) (err error) {
  	var (
  		grovePin, grovePort Grove
  	)
  	grovePin, grovePort, _, _, err = getGroveAddresses(pin)
  	if err != nil {
  		return err
  	}
  	err = g.SetGroveType(grovePort, CUSTOM)
  	if err != nil {
  		return err
  	}
  	time.Sleep(10 * time.Millisecond)
  	err = g.SetGroveMode(grovePin, GROVE_OUTPUT_DIGITAL)
  	if err != nil {
  		return err
  	}
  	time.Sleep(10 * time.Millisecond)
  	err = g.writeBytes([]byte{
  		goPiGo3Address,
  		SET_GROVE_STATE,
  		byte(grovePin),
  		byte(val),
  	})
  	return err
  }
docs: // DigitalWrite writes a 0/1 value to the given pin.