bmx055, bmi055, bmc160, bma250e, bmg150, bmm150: Initial implementation
This module (bmx055) implements support for the following core Bosch
chipsets:
bma250e - accelerometer, 3 variants (chip id's 0x03, 0xf9, and 0xfa)
bmm150 - magnetometer
bmg160 - gyroscope
The other 3 devices are combinations of the above:
bmx055 - accel/gyro/mag
bmc160 - accel/mag
bmi055 - accel/gyro
...for 6 devices total.
For the combination devices, all of the sub-devices appear as
individual independent devices on the I2C/SPI bus.
The combination drivers provide basic configuration and data output.
For more detailed control as well as interrupt support, you should use
the core device drivers (accel/gyro/mag) directly.
These devices support both I2C and SPI communications. They must be
powered at 3.3vdc.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-05-06 17:56:51 -06:00
|
|
|
/*
|
|
|
|
|
* Author: Jon Trulson <jtrulson@ics.com>
|
|
|
|
|
* Copyright (c) 2016 Intel Corporation.
|
|
|
|
|
*
|
2019-07-30 19:41:32 -07:00
|
|
|
* This program and the accompanying materials are made available under the
|
|
|
|
|
* terms of the The MIT License which is available at
|
|
|
|
|
* https://opensource.org/licenses/MIT.
|
bmx055, bmi055, bmc160, bma250e, bmg150, bmm150: Initial implementation
This module (bmx055) implements support for the following core Bosch
chipsets:
bma250e - accelerometer, 3 variants (chip id's 0x03, 0xf9, and 0xfa)
bmm150 - magnetometer
bmg160 - gyroscope
The other 3 devices are combinations of the above:
bmx055 - accel/gyro/mag
bmc160 - accel/mag
bmi055 - accel/gyro
...for 6 devices total.
For the combination devices, all of the sub-devices appear as
individual independent devices on the I2C/SPI bus.
The combination drivers provide basic configuration and data output.
For more detailed control as well as interrupt support, you should use
the core device drivers (accel/gyro/mag) directly.
These devices support both I2C and SPI communications. They must be
powered at 3.3vdc.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-05-06 17:56:51 -06:00
|
|
|
*
|
2019-07-30 19:41:32 -07:00
|
|
|
* SPDX-License-Identifier: MIT
|
bmx055, bmi055, bmc160, bma250e, bmg150, bmm150: Initial implementation
This module (bmx055) implements support for the following core Bosch
chipsets:
bma250e - accelerometer, 3 variants (chip id's 0x03, 0xf9, and 0xfa)
bmm150 - magnetometer
bmg160 - gyroscope
The other 3 devices are combinations of the above:
bmx055 - accel/gyro/mag
bmc160 - accel/mag
bmi055 - accel/gyro
...for 6 devices total.
For the combination devices, all of the sub-devices appear as
individual independent devices on the I2C/SPI bus.
The combination drivers provide basic configuration and data output.
For more detailed control as well as interrupt support, you should use
the core device drivers (accel/gyro/mag) directly.
These devices support both I2C and SPI communications. They must be
powered at 3.3vdc.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-05-06 17:56:51 -06:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
var sensorObj = require('jsupm_bmx055');
|
|
|
|
|
|
|
|
|
|
// Instantiate a BMC150 instance using default i2c bus and address
|
|
|
|
|
var sensor = new sensorObj.BMC150();
|
|
|
|
|
|
|
|
|
|
var x = new sensorObj.new_floatp();
|
|
|
|
|
var y = new sensorObj.new_floatp();
|
|
|
|
|
var z = new sensorObj.new_floatp();
|
|
|
|
|
|
|
|
|
|
// now output data every 250 milliseconds
|
|
|
|
|
setInterval(function()
|
|
|
|
|
{
|
|
|
|
|
// update our values from the sensor
|
|
|
|
|
sensor.update();
|
|
|
|
|
|
|
|
|
|
sensor.getAccelerometer(x, y, z);
|
|
|
|
|
console.log("Accelerometer x: "
|
|
|
|
|
+ sensorObj.floatp_value(x)
|
|
|
|
|
+ " y: " + sensorObj.floatp_value(y)
|
|
|
|
|
+ " z: " + sensorObj.floatp_value(z)
|
|
|
|
|
+ " g");
|
|
|
|
|
|
|
|
|
|
sensor.getMagnetometer(x, y, z);
|
|
|
|
|
console.log("Magnetometer x: "
|
|
|
|
|
+ sensorObj.floatp_value(x)
|
|
|
|
|
+ " y: " + sensorObj.floatp_value(y)
|
|
|
|
|
+ " z: " + sensorObj.floatp_value(z)
|
|
|
|
|
+ " uT");
|
|
|
|
|
|
|
|
|
|
console.log();
|
|
|
|
|
|
|
|
|
|
}, 250);
|
|
|
|
|
|
|
|
|
|
// exit on ^C
|
|
|
|
|
process.on('SIGINT', function()
|
|
|
|
|
{
|
|
|
|
|
sensor = null;
|
|
|
|
|
sensorObj.cleanUp();
|
|
|
|
|
sensorObj = null;
|
|
|
|
|
console.log("Exiting.");
|
|
|
|
|
process.exit(0);
|
|
|
|
|
});
|