code: func NewADXL345Driver(a Connector, options ...func(Config)) *ADXL345Driver {
  	m := &ADXL345Driver{
  		name:      gobot.DefaultName("ADXL345"),
  		connector: a,
  		powerCtl: adxl345PowerCtl{
  			measure: 1,
  		},
  		dataFormat: adxl345DataFormat{
  			sensorRange: ADXL345_RANGE_2G,
  		},
  		bwRate: adxl345BwRate{
  			lowPower: 1,
  			rate:     ADXL345_RATE_100HZ,
  		},
  		Config: NewConfig(),
  	}
  
  	for _, option := range options {
  		option(m)
  	}
  
  	// TODO: add commands for API
  	return m
  }
docs: // NewADXL345Driver creates a new driver 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
  //