code: func NewWiichuckDriver(a Connector, options ...func(Config)) *WiichuckDriver {
  	w := &WiichuckDriver{
  		name:      gobot.DefaultName("Wiichuck"),
  		connector: a,
  		Config:    NewConfig(),
  		interval:  10 * time.Millisecond,
  		pauseTime: 1 * time.Millisecond,
  		Eventer:   gobot.NewEventer(),
  		joystick: map[string]float64{
  			"sy_origin": -1,
  			"sx_origin": -1,
  		},
  		data: map[string]float64{
  			"sx": 0,
  			"sy": 0,
  			"z":  0,
  			"c":  0,
  		},
  	}
  
  	for _, option := range options {
  		option(w)
  	}
  
  	w.AddEvent(Z)
  	w.AddEvent(C)
  	w.AddEvent(Joystick)
  	w.AddEvent(Error)
  
  	return w
  }
docs: // NewWiichuckDriver creates a WiichuckDriver with specified i2c interface.
  //
  // Params:
  //		conn Connector - the Adaptor to use with this Driver
  //
  // Optional params:
  //		i2c.WithBus(int):	bus to use with this driver
  //		i2c.WithAddress(int):	address to use with this driver
  //