text: "use strict";
  
  var Cylon = require("cylon");
  
  Cylon
    .robot()
    .connection("sphero", { adaptor: "sphero", port: "/dev/rfcomm0" })
    .device("sphero", { driver: "sphero" })
    .on("ready", function(bot) {
      console.log("Setting up Data Streaming...");
  
      bot.sphero.on("dataStreaming", function(data) {
        console.log("data:");
        console.log(data);
      });
  
      // The data sources available for data streaming from the
      // Sphero API are as follows:
      // ["motorsPWM", "imu", "accelerometer", "gyroscope", "motorsIMF"
      //  "quaternion", "odometer", "accelOne", "velocity"]
      // It is also possible to pass an opts object to setDataStreaming():
      var opts = {
        // n: int, divisor of the max sampling rate, 400 hz/s
        // n = 40 means 400/40 = 10 data samples per second,
        // n = 200 means 400/200 = 2 data samples per second
        n: 40,
        // m: int, number of data packets buffered before passing to the stream
        // m = 10 means each time you get data it will contain 10 data packets
        // m = 1 is usually best for real time data readings.
        m: 1,
        // pcnt: 1 -255, how many packets to send.
        // pcnt = 0 means unlimited data Streaming
        // pcnt = 10 means stop after 10 data packets
        pcnt: 0,
        dataSources: ["motorsPWM", "imu", "accelerometer", "gyroscope",
                      "motorsIMF", "quaternion", "odometer", "accelOne",
                      "velocity"]
      };
  
      bot.sphero.setDataStreaming(opts);
    });
  
  Cylon.start();
  