code: func (w *WiichuckDriver) update(value []byte) (err error) {
  	if w.isEncrypted(value) {
  		return ErrEncryptedBytes
  	} else {
  		w.parse(value)
  		w.adjustOrigins()
  		w.updateButtons()
  		w.updateJoystick()
  	}
  	return
  }
docs: // update parses value to update buttons and joystick.
  // If value is encrypted, warning message is printed