package org.myrobotlab.i2c; import org.myrobotlab.service.data.SensorData; import org.myrobotlab.service.interfaces.DeviceControl; import org.myrobotlab.service.interfaces.DeviceController; import org.myrobotlab.service.interfaces.I2CBusControl; import org.myrobotlab.service.interfaces.I2CBusController; import org.myrobotlab.service.interfaces.SensorDataListener; public class I2CBus implements DeviceController, I2CBusControl, SensorDataListener{ String name; // transient too help prevent infinite recursion in gson transient I2CBusController controller; public I2CBus(String Name){ this.name = Name; } @Override public void setController(DeviceController controller) { this.controller = (I2CBusController) controller; } @Override public DeviceController getController() { return controller; } @Override public boolean isAttached() { return true; } @Override public String getName() { return name; } @Override public void deviceAttach(DeviceControl device, Object... conf) throws Exception { // TODO Auto-generated method stub } @Override public void deviceDetach(DeviceControl device) { // TODO Auto-generated method stub } @Override public void onSensorData(SensorData data) { // This is where the data read from the i2c bus gets returned // pass it back to the I2cController ( Arduino ) so that it can be // returned to the i2cdevice controller.i2cReturnData(data); } @Override public boolean isLocal() { return true; } }