示例#1
0
function testSync() {
  var spi2 = spi.open(configuration, function(err) {
    assert.assert(err === null, 'spi.open for sync test failed: ' + err);
    var rx = spi2.transferSync(tx);
    spi2.closeSync();
  });
}
示例#2
0
  assert.fail();
}

//  mcp3008 test
var channel = 0;
var spi0 = spi.open(configuration, function() {
  var mode = (8 + channel) << 4;
  var tx = [1, mode, 0];

  var rx = spi0.transferSync(tx);
  console.log(((rx[1] & 0x03) << 8) + rx[2]);

  var loopCnt = 10;
  var loop = setInterval(function() {
    spi0.transfer(tx, function(err, rx) {
      assert.equal(err, null);
      assert.equal(rx.length, 3);

      var value = ((rx[1] & 0x03) << 8) + rx[2];
      console.log(value);

      if (--loopCnt < 0) {
        spi0.closeSync();
        clearInterval(loop);
        console.log('finish test');
      }

    });
  }, 500);
});
示例#3
0
var checkError = require('tools/systemio_common').checkError;

var configuration = {
    device: pin.spi1, // for Linux
    bus: pin.spi1, // for Tizen, TizenRT and Nuttx
};

// Buffer test
var spi1 = spi.open(configuration, function(err) {
  checkError(err);
  var data = 'Hello IoTjs';
  var tx = new Buffer(data);

  spi1.transfer(tx, function(err, rx) {
    checkError(err);
    var len = data.length;
    assert.equal(rx.length, len);

    var value = '';
    for (var i = 0; i < len; i++) {
      value += String.fromCharCode(rx[i]);
    }
    console.log(value);
    assert.equal(value, data);

    spi1.close(function(err) {
      checkError(err);
    });
  });
});
示例#4
0
// ------ Test basic API functions
var data = 'Hello IoTjs';
var tx = new Buffer(data);

var spi1 = spi.open(configuration, function(err) {
  assert.assert(err === null, 'spi.open failed: ' + err);

  assert.equal(typeof spi1.transfer, 'function',
              'spibus does not provide \'transfer\' function');
  assert.equal(typeof spi1.transferSync, 'function',
              'spibus does not provide \'transferSync\' function');
  assert.equal(typeof spi1.close, 'function',
              'spibus does not provide \'close\' function');
  assert.equal(typeof spi1.closeSync, 'function',
              'spibus does not provide \'closeSync\' function');

  spi1.transfer(tx, function(err, rx) {
    assert.assert(err === null, 'spibus.transfer failed: ' + err);

    spi1.close(function(err) {
      assert.assert(err === null, 'spibus.close failed: ' + err);
      testSync();
    });
  });
});

function testSync() {
  var spi2 = spi.open(configuration, function(err) {
    assert.assert(err === null, 'spi.open for sync test failed: ' + err);
    var rx = spi2.transferSync(tx);