Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //onCreate
- getApplicationContext().bindService(new Intent(this, MetaWearBleService.class), this, Context.BIND_AUTO_CREATE);
- MetaWearBleService.LocalBinder serviceBinder;
- MetaWearBoard mwBoard;
- boolean ready = false;
- public void connect(BluetoothDevice btDevice){
- mwBoard= serviceBinder.getMetaWearBoard(btDevice);
- mwBoard.setConnectionStateHandler(new MetaWearBoard.ConnectionStateHandler() {
- @Override
- public void connected() {
- }
- @Override
- public void disconnected() {
- mwBoard.connect();
- }
- @Override
- public void failure(int status, Throwable error) {
- mwBoard.connect();
- }
- });
- mwBoard.connect();
- Log.d("Connected to:", btDevice.getName()+ " "+btDevice.getAddress());
- }
- @Override
- public void onServiceConnected(ComponentName name, IBinder service) {
- Log.d("ConnectionStatus", "Bind BT service");
- serviceBinder = (MetaWearBleService.LocalBinder) service;
- }
- @Override
- public void onServiceDisconnected(ComponentName name) {
- }
- Accelerometer accModule;
- Gyro gyrModule;
- public void ready() {
- try {
- accModule = mwBoard.getModule(Accelerometer.class);
- accModule.setOutputDataRate(50.f);
- gyrModule = mwBoard.getModule(Gyro.class);
- gyrModule.setOutputDataRate(50.f);
- } catch (UnsupportedModuleException e) {
- }
- ready = true;
- }
- public void start(){
- accModule.routeData().fromAxes().stream("acc_stream").commit()
- .onComplete(new AsyncOperation.CompletionHandler<RouteManager>() {
- @Override
- public void success(RouteManager result) {
- result.subscribe("acc_stream", new RouteManager.MessageHandler() {
- @Override
- public void process(Message msg) {
- Log.i("tutorial", "Accel:" + msg.getData(CartesianFloat.class).toString() + msg.getTimestampAsString());
- ArionArray.accXadd(msg.getData(CartesianFloat.class).x());
- ArionFile.accXfloat.addLast(msg.getData(CartesianFloat.class).x());
- ArionArray.accYadd(msg.getData(CartesianFloat.class).y());
- ArionFile.accYfloat.addLast(msg.getData(CartesianFloat.class).y());
- ArionArray.accZadd(msg.getData(CartesianFloat.class).z());
- ArionFile.accZfloat.addLast(msg.getData(CartesianFloat.class).z());
- }
- });
- accModule.enableAxisSampling();
- accModule.start();
- }
- });
- gyrModule.routeData().fromAxes().stream("gyr_stream").commit()
- .onComplete(new AsyncOperation.CompletionHandler<RouteManager>() {
- @Override
- public void success(RouteManager result) {
- result.subscribe("gyr_stream", new RouteManager.MessageHandler() {
- @Override
- public void process(Message msg) {
- Log.i("tutorial", "Gyro:" + msg.getData(CartesianFloat.class).toString() + msg.getTimestampAsString());
- ArionArray.gyrXadd(msg.getData(CartesianFloat.class).x());
- ArionFile.gyrXfloat.addLast(msg.getData(CartesianFloat.class).x());
- ArionArray.gyrYadd(msg.getData(CartesianFloat.class).y());
- ArionFile.gyrYfloat.addLast(msg.getData(CartesianFloat.class).y());
- ArionArray.gyrZadd(msg.getData(CartesianFloat.class).z());
- ArionFile.gyrZfloat.addLast(msg.getData(CartesianFloat.class).z());
- ArionFile.check(c);
- }
- });
- gyrModule.start();
- }
- });
- }
- public void stop(){
- accModule.stop();
- accModule.disableAxisSampling();
- gyrModule.stop();
- mwBoard.removeRoutes();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement