Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.46 KB | None | 0 0
  1. //onCreate
  2. getApplicationContext().bindService(new Intent(this, MetaWearBleService.class), this, Context.BIND_AUTO_CREATE);
  3.  
  4.  
  5.  
  6. MetaWearBleService.LocalBinder serviceBinder;
  7.     MetaWearBoard mwBoard;
  8.     boolean ready = false;
  9.  
  10.     public void connect(BluetoothDevice btDevice){
  11.  
  12.         mwBoard= serviceBinder.getMetaWearBoard(btDevice);
  13.         mwBoard.setConnectionStateHandler(new MetaWearBoard.ConnectionStateHandler() {
  14.             @Override
  15.             public void connected() {
  16.  
  17.  
  18.             }
  19.  
  20.             @Override
  21.             public void disconnected() {
  22.                 mwBoard.connect();
  23.             }
  24.  
  25.             @Override
  26.             public void failure(int status, Throwable error) {
  27.                 mwBoard.connect();
  28.             }
  29.         });
  30.         mwBoard.connect();
  31.         Log.d("Connected to:", btDevice.getName()+ " "+btDevice.getAddress());
  32.  
  33.     }
  34.  
  35.     @Override
  36.     public void onServiceConnected(ComponentName name, IBinder service) {
  37.         Log.d("ConnectionStatus", "Bind BT service");
  38.         serviceBinder = (MetaWearBleService.LocalBinder) service;
  39.     }
  40.  
  41.     @Override
  42.     public void onServiceDisconnected(ComponentName name) {
  43.  
  44.  
  45.     }
  46.  
  47.     Accelerometer accModule;
  48.     Gyro gyrModule;
  49.  
  50.     public void ready() {
  51.         try {
  52.             accModule = mwBoard.getModule(Accelerometer.class);
  53.             accModule.setOutputDataRate(50.f);
  54.  
  55.             gyrModule = mwBoard.getModule(Gyro.class);
  56.             gyrModule.setOutputDataRate(50.f);
  57.  
  58.         } catch (UnsupportedModuleException e) {
  59.         }
  60.         ready = true;
  61.     }
  62.  
  63.     public void start(){
  64.         accModule.routeData().fromAxes().stream("acc_stream").commit()
  65.                 .onComplete(new AsyncOperation.CompletionHandler<RouteManager>() {
  66.                     @Override
  67.                     public void success(RouteManager result) {
  68.                         result.subscribe("acc_stream", new RouteManager.MessageHandler() {
  69.                             @Override
  70.                             public void process(Message msg) {
  71.                                 Log.i("tutorial", "Accel:" + msg.getData(CartesianFloat.class).toString() + msg.getTimestampAsString());
  72.                                 ArionArray.accXadd(msg.getData(CartesianFloat.class).x());
  73.                                 ArionFile.accXfloat.addLast(msg.getData(CartesianFloat.class).x());
  74.                                 ArionArray.accYadd(msg.getData(CartesianFloat.class).y());
  75.                                 ArionFile.accYfloat.addLast(msg.getData(CartesianFloat.class).y());
  76.                                 ArionArray.accZadd(msg.getData(CartesianFloat.class).z());
  77.                                 ArionFile.accZfloat.addLast(msg.getData(CartesianFloat.class).z());
  78.  
  79.  
  80.                             }
  81.                         });
  82.  
  83.                         accModule.enableAxisSampling();
  84.                         accModule.start();
  85.                     }
  86.                 });
  87.  
  88.         gyrModule.routeData().fromAxes().stream("gyr_stream").commit()
  89.                 .onComplete(new AsyncOperation.CompletionHandler<RouteManager>() {
  90.                     @Override
  91.                     public void success(RouteManager result) {
  92.                         result.subscribe("gyr_stream", new RouteManager.MessageHandler() {
  93.                             @Override
  94.                             public void process(Message msg) {
  95.                                 Log.i("tutorial", "Gyro:" + msg.getData(CartesianFloat.class).toString() + msg.getTimestampAsString());
  96.                                 ArionArray.gyrXadd(msg.getData(CartesianFloat.class).x());
  97.                                 ArionFile.gyrXfloat.addLast(msg.getData(CartesianFloat.class).x());
  98.                                 ArionArray.gyrYadd(msg.getData(CartesianFloat.class).y());
  99.                                 ArionFile.gyrYfloat.addLast(msg.getData(CartesianFloat.class).y());
  100.                                 ArionArray.gyrZadd(msg.getData(CartesianFloat.class).z());
  101.                                 ArionFile.gyrZfloat.addLast(msg.getData(CartesianFloat.class).z());
  102.                                 ArionFile.check(c);
  103.                             }
  104.                         });
  105.  
  106.                         gyrModule.start();
  107.                     }
  108.                 });
  109.     }
  110.  
  111.     public void stop(){
  112.         accModule.stop();
  113.         accModule.disableAxisSampling();
  114.         gyrModule.stop();
  115.         mwBoard.removeRoutes();
  116.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement