- From: Rick Waldron via GitHub <sysbot+gh@w3.org>
- Date: Wed, 16 Nov 2016 21:20:24 +0000
- To: public-device-apis-log@w3.org
> My understanding from looking at the BMP180 (pdf) (which btw contains a temp sensor), it that temp is used to calculate true pressure (see the algorithm on page 15). Yes, I've implemented the entire algorithm to support that sensor package in J5. The compensated temp and pressure, in C and kPa respectively, are exposed via instances of `Thermometer` and `Barometer`—there isn't . J5 also provides a novel `Multi` class that creates objects that are composed of instances of other sensors, which correspond to commercially available sensor packages like the BMP180. But that's irrelevant to browser based applications, since they won't ever know (or care about) what MEMS sensor is surface mounted to the pcb in the laptop or mobile device. Since uncompensated pressure value isn't useful (for example, Honeywell requires compensation for its uncompensated barometric pressure sensors that do not provide compensation themselves), it shouldn't matter to end developers that a particular device manufacturer chose to use a temperature compensated pressure sensor in their latest handset. So what is the point of temperature compensation? Pressure sensors are particularly vulnerable to temperature changes: external temperature changes the resistive value of the materials inside the sensor itself. As temperature increases, so does the resistive value (and vice-versa). A constant current circuit is used to counter the effect of temperature changes (this is the temperature compensation). Because the sensor chips only store values from an ADC reading into a register, other registers are used to store the coefficient values that will be necessary for an external consumer to compute the compensated pressure with the ambient temperature value. The compensated pressure value is the only one of the two values that matters (vs. uncompensated). - A`Barometer` instance object only needs to provide the pressure in kPa - It's irrelevant to the end developer, and their program, whether or not the MEMS sensor had built in temperature compensation or not—for the same reason that we don't expose the byte order, registers or coefficients: people want to write applications with this data, not drivers. -- GitHub Notification of comment by rwaldron Please view or discuss this issue at https://github.com/w3c/sensors/issues/151#issuecomment-261075536 using your GitHub account
Received on Wednesday, 16 November 2016 21:20:30 UTC