Skip to content

Commit

Permalink
All: move datasheet urls to lib/datasheets.md
Browse files Browse the repository at this point in the history
  • Loading branch information
rwaldron committed Apr 20, 2018
1 parent b43662d commit 16c1cdd
Show file tree
Hide file tree
Showing 16 changed files with 143 additions and 301 deletions.
55 changes: 5 additions & 50 deletions lib/accelerometer.js
Expand Up @@ -62,7 +62,6 @@ var Controllers = {
value: analogToGravity
}
},
// http://www.invensense.com/mems/gyro/mpu6050.html
MPU6050: {
initialize: {
value: function(opts, dataHandler) {
Expand All @@ -79,7 +78,6 @@ var Controllers = {
},
toGravity: {
value: function(raw) {
// Datasheet available at http://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf
// Table 6.2 (Accelerometer specifications)
// Sensitivity for AFS_SEL=0
// Full scale range +- 2g
Expand All @@ -99,7 +97,7 @@ var Controllers = {
var driver = IMU.Drivers.get(this.board, "BNO055", opts);
var state = priv.get(this);

// AF p.31, Table 3-17: Accelerometer Unit settings
// Page 31, Table 3-17
state.sensitivity = 100;

driver.on("data", function(data) {
Expand All @@ -109,9 +107,7 @@ var Controllers = {
},
toGravity: {
value: function(raw) {
// Datasheet available at https://cdn-shop.adafruit.com/datasheets/BST_BNO055_DS000_12.pdf
//
// From Table 3-17, page 31
// Page 31, Table 3-17
// Assuming that the the `m/s^2` representation is used given that `state.sensitvity = 100`
// 1m/s^2 = 100LSB -> 1LSB = 0.01m/s^2
var state = priv.get(this);
Expand All @@ -131,9 +127,7 @@ var Controllers = {
value: analogInitialize
},
toGravity: {
// Datasheet available at https://www.sparkfun.com/datasheets/Components/SMD/adxl335.pdf
//
// From Table 1 at page 3
// Page 3, Table 1
// Typical range +- 3.6g
// Sensitivity: 300mV/g
// MaxSensitvity: 330mv/g
Expand All @@ -144,7 +138,6 @@ var Controllers = {
}
},

// http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf
ADXL345: {
ADDRESSES: {
value: [0x53]
Expand Down Expand Up @@ -237,7 +230,7 @@ var Controllers = {
},
toGravity: {
value: function(raw) {
// From Table 1, page 4
// Page 4, Table 1
//
// Sensitivity
// All g-ranges, full resolution, 256LSB/g, 0.00390625g/LSB
Expand Down Expand Up @@ -267,9 +260,7 @@ var Controllers = {
}
},
toGravity: {
// Datasheet available at https://www.nxp.com/docs/en/data-sheet/MMA7361LC.pdf
//
// From Table 2, page 3
// Page 3, Table 2
//
// Sensitivity
// 1.5g, 800mV/g
Expand All @@ -290,10 +281,6 @@ var Controllers = {
}
}
},

// https://cdn.sparkfun.com/datasheets/Sensors/Accelerometers/MMA8452Q-rev8.1.pdf
// http://cache.freescale.com/files/sensors/doc/app_note/AN4076.pdf?fpsp=1
// http://cache.freescale.com/files/sensors/doc/app_note/AN4072.pdf
MMA8452: {
ADDRESSES: {
value: [0x1D]
Expand Down Expand Up @@ -573,7 +560,6 @@ var Controllers = {
},
toGravity: {
value: function(raw) {
// From datasheet avaible at https://cdn.sparkfun.com/datasheets/Sensors/Accelerometers/MMA8452Q-rev8.1.pdf
//
// Paragraph 3.1, page 9
// Sensitivity
Expand Down Expand Up @@ -609,7 +595,6 @@ var Controllers = {

this.io.i2cConfig(opts);

// http://www.freescale.com.cn/files/sensors/doc/data_sheet/MMA7660FC.pdf?fpsp=1
//
// Standby mode
this.io.i2cWrite(address, this.REGISTER.MODE, 0x00);
Expand Down Expand Up @@ -662,8 +647,6 @@ var Controllers = {
}
},

// https://cdn-shop.adafruit.com/datasheets/LIS3DHappnote.pdf
// http://www.st.com/content/ccc/resource/technical/document/datasheet/3c/ae/50/85/d6/b1/46/fe/CD00274221.pdf/files/CD00274221.pdf/jcr:content/translations/en.CD00274221.pdf
LIS3DH: {
ADDRESSES: {
value: [0x18]
Expand Down Expand Up @@ -816,11 +799,6 @@ var Controllers = {
//
// ...Offers some guidance. Ultimately I opted to take inspiration
// from Adafruit's driver and example:
//
// Times in ms
// var timelimit = 10;
// var timelatency = 20;
// var timewindow = 255;
var timelimit = 10;
var timelatency = 20;
var timewindow = 255;
Expand All @@ -832,10 +810,6 @@ var Controllers = {

// Page 33
// 8.3.2 TAP_SRC (39h)
//
// This register is called both CLICK_SRC and TAP_SRC
//

var lastEmitTime = null;

state.expander.i2cRead(address, this.REGISTER.CLICK_SRC, 1, function(data) {
Expand Down Expand Up @@ -881,31 +855,12 @@ var Controllers = {
},
toGravity: {
value: function(raw) {
// Datasheet available at http://www.st.com/content/ccc/resource/technical/document/datasheet/3c/ae/50/85/d6/b1/46/fe/CD00274221.pdf/files/CD00274221.pdf/jcr:content/translations/en.CD00274221.pdf
//
// Table 4, page 10
// Sensitivity
// High res Normal Low power
// FS 00, +-2g 1mg/digit 4mg/digit 16mg/digit
// 0.001g/LSB 0.004g/LSB 0.016g/LSB
// FS 01, +-4g 2mg/digit 8mg/digit 32mg/digit
// 0.002g/LSB 0.008g/LSB 0.032g/LSB
// FS 10, +-8g 4mg/digit 16mg/digit 64mg/digit
// 0.004g/LSB 0.016g/LSB 0.064g/LSB
// FS 11, +-16g 12mg/digit 48mg/digit 192mg/digit
// 0.012g/LSB 0.048g/LSB 0.192m/LSB
var state = priv.get(this);
return toFixed(raw / state.divider, 3);
},
},
},

/**
* LSM303C: 6Dof 3-Axis Magnetometer & Accelerometer
*
* https://learn.sparkfun.com/tutorials/lsm303c-6dof-hookup-guide
* https://github.com/sparkfun/LSM303C_6_DOF_IMU_Breakout
*/
LSM303C: {
initialize: {
value: function(opts, dataHandler) {
Expand Down
14 changes: 4 additions & 10 deletions lib/altimeter.js
Expand Up @@ -27,7 +27,7 @@ var Controllers = {
},
toMeters: {
value: function(raw) {
// http://cache.freescale.com/files/sensors/doc/data_sheet/MPL3115A2.pdf

// Table 2, Note 3
// "Smallest bit change in register represents minimum value change in
// Pascals or meters. Typical resolution to signify change in altitudeis 0.3 m"
Expand Down Expand Up @@ -69,9 +69,7 @@ var Controllers = {
},
toMeters: {
value: function(raw) {
// Datasheet available at https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf
//
// From Table 1, page 6
// Page 6, Table 1
// Resolution of output data 0.01hPa
//
// From paragraph 3.6, page 16 1hPa=8.43m
Expand All @@ -93,9 +91,7 @@ var Controllers = {
},
toMeters: {
value: function(raw) {
// Datasheet available at https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf
//
// From table 2, page 8
// Page 8, Table 2
// Resolution of output data in ultra high resolution mode 0.0016hPa
// 1hPa=8.43m
// resolution ~= 0.013m
Expand All @@ -115,9 +111,7 @@ var Controllers = {
},
toMeters: {
value: function(raw) {
// Datasheet available at https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf
//
// From Table 3, page 10
// Page 10, Table 3
// Resolution of pressure output data 0.18Pa
// 1hPa=8.43m
// 100Pa=8.43m
Expand Down
18 changes: 6 additions & 12 deletions lib/barometer.js
Expand Up @@ -21,7 +21,6 @@ var Controllers = {
// kPa (Kilopascals)
toPressure: {
value: function(raw) {
// Datasheet available at http://cache.freescale.com/files/sensors/doc/data_sheet/MPL115A2.pdf
// Pressure output in kPa explained at P. 6, Eqn. 2
var output = ((65 / 1023) * raw) + 50;
// Typical resolution 0.15kPa from paragraph 2.2 page 3
Expand All @@ -46,8 +45,8 @@ var Controllers = {
// https://github.com/adafruit/Adafruit_MPL3115A2_Library
var inches = (raw / 4) / 3377;
var output = inches * 3.39;
// Datasheet available at https://www.nxp.com/docs/en/data-sheet/MPL3115A2.pdf
// From Table 5, page 8

// Page 8, Table 5
// Typical resolution 1.5Pa = 0.0015kPa
return toFixed(output, 4);
}
Expand All @@ -66,8 +65,7 @@ var Controllers = {
// kPa (Kilopascals)
toPressure: {
value: function(raw) {
// Datasheet available at https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP180-DS000-121.pdf
// From Table 1, page 6
// Page 6, Table 1
// Typical resolution 0.01hPa = 0.001kPa
return toFixed(raw / 1000, 3);
}
Expand All @@ -86,8 +84,7 @@ var Controllers = {
// kPa (Kilopascals)
toPressure: {
value: function(raw) {
// Datasheet available at https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf
// From Table 2, page 8
// Page 8, Table 2
// Resolution in ultra high resolution mode 0.0016hPa = 0.00016kPa
return toFixed(raw / 1000, 5);
}
Expand All @@ -106,8 +103,7 @@ var Controllers = {
// kPa (Kilopascals)
toPressure: {
value: function(raw) {
// Datasheet available at https://cdn.sparkfun.com/assets/learn_tutorials/4/1/9/BST-BME280_DS001-10.pdf
// From Table 3, page 10
// Page 10, Table 3
// Typical resolution 0.18Pa = 0.00018kPa
return toFixed(raw / 1000, 5);
}
Expand All @@ -123,11 +119,9 @@ var Controllers = {
}.bind(this));
}
},
// kPa (Kilopascals)
toPressure: {
value: function(raw) {
// Datasheet available at http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=MS5611-01BA03&DocType=Data+Sheet&DocLang=English
// From table in page 2
// Page 2, Table ?
// Resolution Over sampling ratio
// 0.065mbar 256
// 0.042mbar 512
Expand Down
2 changes: 1 addition & 1 deletion lib/color.js
Expand Up @@ -150,7 +150,7 @@ var Controllers = {
}
},
ISL29125: {
// http://www.intersil.com/content/dam/Intersil/documents/isl2/isl29125.pdf

REGISTER: {
value: {
RESET: 0x00,
Expand Down
12 changes: 0 additions & 12 deletions lib/compass.js
Expand Up @@ -9,7 +9,6 @@ var priv = new Map();

var Controllers = {

// https://cdn-shop.adafruit.com/datasheets/HMC5883L_3-Axis_Digital_Compass_IC.pdf
HMC5883L: {
REGISTER: {
value: {
Expand Down Expand Up @@ -80,7 +79,6 @@ var Controllers = {
* HMC6352: 2-Axis Compass Module
* 0x42
*
* http://www.sparkfun.com/datasheets/Components/HMC6352.pdf
* http://bildr.org/2011/01/hmc6352/
*/
HMC6352: {
Expand Down Expand Up @@ -655,15 +653,8 @@ function ToHeading(x, y) {
* Azimuth (x<0) = 180 - [arcTan(y/x)]*180/PI
* Azimuth (x>0, y<0) = - [arcTan(y/x)]*180/PI
* Azimuth (x>0, y>0) = 360 - [arcTan(y/x)]*180/PI
*
*
*
*
*
*/
/**
*
*
* http://bildr.org/2012/02/hmc5883l_arduino/
* @type {[type]}
* Copyright (C) 2011 Love Electronics (loveelectronics.co.uk)
Expand Down Expand Up @@ -939,6 +930,3 @@ if (!!process.env.IS_TEST_MODE) {
}

module.exports = Compass;


// http://en.wikipedia.org/wiki/Relative_direction
66 changes: 66 additions & 0 deletions lib/datasheets.md
@@ -0,0 +1,66 @@
# Datasheets

For all `Controllers`, use the following datasheets for the corresponding product. Page numbers found within the `Controllers[*]` definition are expected to correspond to page numbers found within the appropriate datasheet below. For example, if you're reading through the source of the `BNO055` controller in `imu.js`, you'd use the `BNO055` document linked below.

- [ADS1115](https://cdn-shop.adafruit.com/datasheets/ads1115.pdf)
- [ADXL335](Datasheet available at https://www.sparkfun.com/datasheets/Components/SMD/adxl335.pdf)
- [ADXL345](http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf)
- [AM2301](https://kropochev.com/downloads/humidity/AM2301.pdf)
- [AN4072](http://cache.freescale.com/files/sensors/doc/app_note/AN4072.pdf)
- [AN4076](http://cache.freescale.com/files/sensors/doc/app_note/AN4076.pdf?fpsp=1)
- [Applications of Magnetoresistive Sensors in Navigation Systems](http://www.ssec.honeywell.com/position-sensors/datasheets/sae.pdf)
- [BH1750](https://www.mysensors.org/dl/57cc6e4595afb8801e529dab/design/bh1750fvi-e.pdf)
- [BME280](https://cdn.sparkfun.com/assets/learn_tutorials/4/1/9/BST-BME280_DS001-10.pdf)
- [BMP085](https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf)
- [BMP180](https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf)
- [BMP280](https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf)
- [BNO055](https://www.adafruit.com/datasheets/BST_BNO055_DS000_12.pdf)
- [DHT11](http://www.micropik.com/PDF/dht11.pdf)
- [DHT22](https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf)
- [DS18B20](http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf)
- [EV3](http://www.nr.edu/csc200/labs-ev3/ev3-user-guide-EN.pdf)
- [HCSR04](https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf)
- [HD44780](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf)
- [HIH6100](https://sensing.honeywell.com/honeywell-sensing-humidicon-hih6100-series-product-sheet-009059-6-en.pdf)
- [HIH6130](http://cdn.sparkfun.com/datasheets/Prototyping/1443945.pdf)
- [HMC5883L](https://cdn-shop.adafruit.com/datasheets/HMC5883L_3-Axis_Digital_Compass_IC.pdf)
- [HMC6352](http://www.sparkfun.com/datasheets/Components/HMC6352.pdf)
- [HRLV-MaxSonar](https://www.maxbotix.com/documents/HRLV-MaxSonar-EZ_Datasheet.pdf)
- [HTU21D](https://www.adafruit.com/datasheets/1899_HTU21D.pdf)
- [ISL29125](http://www.intersil.com/content/dam/Intersil/documents/isl2/isl29125.pdf)
- [LIDARLITE](http://www.robotshop.com/media/files/pdf/operating-manual-llm20c132i500s011.pdf)
- [LIS3DH Appnote](https://cdn-shop.adafruit.com/datasheets/LIS3DHappnote.pdf)
- [LIS3DH](http://www.st.com/resource/en/datasheet/lis3dh.pdf)
- [LIS3DH](https://cdn-shop.adafruit.com/datasheets/LIS3DH.pdf)
- [LM335](http://www.ti.com/lit/ds/symlink/lm335.pdf)
- [LM35](http://www.ti.com/lit/ds/symlink/lm35.pdf)
- [LSM303C](http://www.st.com/resource/en/datasheet/lsm303c.pdf)
- [LV-MaxSonar](https://www.maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf)
- [MAG3110](http://www.nxp.com/files/sensors/doc/data_sheet/MAG3110.pdf)
- [MAX31850](https://cdn-shop.adafruit.com/datasheets/MAX31850-MAX31851.pdf)
- [MAX31851](https://cdn-shop.adafruit.com/datasheets/MAX31850-MAX31851.pdf)
- [MCP23017](http://www.adafruit.com/datasheets/mcp23017.pdf)
- [MCP9808](http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf)
- [MMA7361LC](https://www.nxp.com/docs/en/data-sheet/MMA7361LC.pdf)
- [MMA7660FC](http://www.freescale.com.cn/files/sensors/doc/data_sheet/MMA7660FC.pdf?fpsp=1)
- [MMA8452Q](https://cdn.sparkfun.com/datasheets/Sensors/Accelerometers/MMA8452Q-rev8.1.pdf)
- [MPL115A2](http://cache.freescale.com/files/sensors/doc/data_sheet/MPL115A2.pdf)
- [MPL3115A2](http://www.nxp.com/files/sensors/doc/data_sheet/MPL3115A2.pdf)
- [MPR121](https://www.sparkfun.com/datasheets/Components/MPR121.pdf )
- [MPU6050](http://www.invensense.com/mems/gyro/mpu6050.html)
- [MS5611](http://www.hpinfotech.ro/MS5611-01BA03.pdf)
- [PCF8591](http://www.nxp.com/documents/data_sheet/PCF8591.pdf)
- [SHT31D](https://cdn-shop.adafruit.com/product-files/2857/Sensirion_Humidity_SHT3x_Datasheet_digital-767294.pdf)
- [SHT3x](https://cdn-shop.adafruit.com/product-files/2857/Sensirion_Humidity_SHT3x_Datasheet_digital-767294.pdf)
- [SI7005](https://datasheet.lcsc.com/szlcsc/TH02-SI7005_C155481.pdf)
- [Si7020-A20](https://www.silabs.com/Support%20Documents/TechnicalDocs/Si7020-A20.pdf)
- [Si7020](https://www.silabs.com/Support%20Documents/TechnicalDocs/Si7020-A20.pdf)
- [TH02](http://www.seeedstudio.com/wiki/images/3/30/TH02_SENSOR.pdf)
- [TINKERKIT, MF52A103J3470](http://www.cantherm.com/media/productPDF/cantherm_mf52_1.pdf)
- [TMP02 SOT563](http://www.ti.com/lit/ds/sbos397b/sbos397b.pdf)
- [TMP02](http://www.ti.com.cn/cn/lit/ds/symlink/tmp102.pdf)
- [TMP35](http://ctms.engin.umich.edu/CTMS/Content/Activities/TMP35_36_37.pdf)
- [TMP36](http://ctms.engin.umich.edu/CTMS/Content/Activities/TMP35_36_37.pdf)
- [TMP37](http://ctms.engin.umich.edu/CTMS/Content/Activities/TMP35_36_37.pdf)
- [TSL2561](http://www.adafruit.com/datasheets/TSL2561.pdf)
- [XL-MaxSonar](https://www.maxbotix.com/documents/XL-MaxSonar-EZ_Datasheet.pdf)
2 changes: 0 additions & 2 deletions lib/evshield.js
Expand Up @@ -23,8 +23,6 @@ Bank.prototype.write = function(register, bytes) {
this.io.i2cWrite(this.address, register, bytes);
};

// http://www.nr.edu/csc200/labs-ev3/ev3-user-guide-EN.pdf

function EVS(options) {
if (shared) {
return shared;
Expand Down

0 comments on commit 16c1cdd

Please sign in to comment.