Skip to content

Instantly share code, notes, and snippets.

@mbientlab
Last active August 29, 2015 14:10
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mbientlab/c11d8793eed12282d191 to your computer and use it in GitHub Desktop.
Save mbientlab/c11d8793eed12282d191 to your computer and use it in GitHub Desktop.
Example using the event interface to program a MetaWear board
import com.mbientlab.metawear.api.MetaWearBleService;
import com.mbientlab.metawear.api.MetaWearController;
import com.mbientlab.metawear.api.MetaWearController.DeviceCallbacks;
import com.mbientlab.metawear.api.Module;
import com.mbientlab.metawear.api.controller.Accelerometer;
import com.mbientlab.metawear.api.controller.Accelerometer.Axis;
import com.mbientlab.metawear.api.controller.Accelerometer.TapType;
import com.mbientlab.metawear.api.controller.Event;
import com.mbientlab.metawear.api.controller.LED;
import com.mbientlab.metawear.api.controller.LED.ColorChannel;
import com.mbientlab.metawear.api.controller.MechanicalSwitch;
import android.content.ComponentName;
import android.content.ServiceConnection;
import android.os.IBinder;
public class OfflineEventHandler implements ServiceConnection {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MetaWearController controller= ((MetaWearBleService.LocalBinder) service).getService()
.getMetaWearController();
final Event eventCtrllr= (Event) controller.getModuleController(Module.EVENT);
final LED ledCtrllr= (LED) controller.getModuleController(Module.LED);
final Accelerometer accelCtrllr= (Accelerometer) controller.getModuleController(Module.ACCELEROMETER);
controller.addDeviceCallback(new DeviceCallbacks() {
@Override
public void connected() {
ledCtrllr.setColorChannel(ColorChannel.GREEN)
.withRiseTime((short) 0)
.withPulseDuration((short) 1000).withRepeatCount((byte) -1)
.withHighTime((short) 500).withHighIntensity((byte) 16)
.withLowIntensity((byte) 16).commit();
eventCtrllr.recordMacro(MechanicalSwitch.Register.SWITCH_STATE);
ledCtrllr.play(false);
eventCtrllr.stopRecord();
eventCtrllr.recordMacro(Accelerometer.Register.PULSE_STATUS);
ledCtrllr.stop(false);
eventCtrllr.stopRecord();
accelCtrllr.enableTapDetection(TapType.SINGLE_TAP, Axis.Z).withSilentMode();
accelCtrllr.startComponents();
}
});
}
@Override
public void onServiceDisconnected(ComponentName name) { }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment