function decodeSensorData(data, o, out) {
    out[0] = (data[o + 0] << 13) | (data[o + 1] << 5) |
             ((data[o + 2] & 0xF8) >> 3);
    out[1] = ((data[o + 2] & 0x07) << 18) | (data[o + 3] << 10) |
             (data[o + 4] << 2) | ((data[o + 5] & 0xC0) >> 6);
    out[2] = ((data[o + 5] & 0x3F) << 15) | (data[o + 6] << 7) |
             (data[o + 7] >> 1);
    out[0] = ((out[0] << 11) >> 11);
    out[1] = ((out[1] << 11) >> 11);
    out[2] = ((out[2] << 11) >> 11);
  }
A single input pump.
Called when there is new data from the device.
@param {Uint8Array} data Data, if available.
@param {Error=} opt_error Error, if any occurred.
@return {boolean} True to continue pumping. False to end.