Merge pull request #936 from kbeckmann/bmp085-docs

This commit is contained in:
Arnim Läuger 2016-01-14 22:31:06 +01:00
commit 96585a5748
2 changed files with 70 additions and 3 deletions

View File

@ -74,7 +74,7 @@ static int ICACHE_FLASH_ATTR bmp085_init(lua_State* L) {
bmp085_data.MC = r16(bmp085_i2c_id, 0xBC); bmp085_data.MC = r16(bmp085_i2c_id, 0xBC);
bmp085_data.MD = r16(bmp085_i2c_id, 0xBE); bmp085_data.MD = r16(bmp085_i2c_id, 0xBE);
return 1; return 0;
} }
static uint32_t bmp085_temperature_raw_b5(void) { static uint32_t bmp085_temperature_raw_b5(void) {
@ -128,7 +128,7 @@ static int32_t ICACHE_FLASH_ATTR bmp085_pressure_raw(int oss) {
p3 = r8u(bmp085_i2c_id, 0xF8); p3 = r8u(bmp085_i2c_id, 0xF8);
p = (p1 << 16) | (p2 << 8) | p3; p = (p1 << 16) | (p2 << 8) | p3;
p = p >> (8 - oss); p = p >> (8 - oss);
return p; return p;
} }
@ -159,7 +159,7 @@ static int ICACHE_FLASH_ATTR bmp085_lua_pressure(lua_State* L) {
oss = 3; oss = 3;
} }
} }
p = bmp085_pressure_raw(oss); p = bmp085_pressure_raw(oss);
B5 = bmp085_temperature_raw_b5(); B5 = bmp085_temperature_raw_b5();

67
docs/en/modules/bmp085.md Normal file
View File

@ -0,0 +1,67 @@
# BMP085 Module
This module provides access to the BMP085 temperature and pressure sensor. The module also works with BMP180.
## bmp085.init()
Initializes the module and sets the pin configuration.
#### Syntax
`bmp085.init(sda, scl)`
#### Parameters
- `sda` data pin
- `scl` clock pin
#### Returns
`nil`
## bmp085.temperature()
Samples the sensor and returns the temperature in celsius as an integer multiplied with 10.
#### Syntax
`bmp085.temperature()`
#### Returns
`integer` temperature multiplied with 10.
#### Example
```lua
bmp085.init(1, 2)
local t = bmp085.temperature()
print(string.format("Temperature: %s.%s degrees C", t / 10, t % 10))
```
## bmp085.pressure()
Samples the sensor and returns the pressure in pascal as an integer.
The optional `oversampling_setting` parameter determines for how long time the sensor samples data.
The default is `3` which is the longest sampling setting. Possible values are 0, 1, 2, 3.
See the data sheet for more information.
#### Syntax
`bmp085.pressure(oversampling_setting)`
#### Parameters
- `oversampling_setting` integer that can be 0, 1, 2 or 3.
#### Returns
`integer` pressure in pascals.
#### Example
```lua
bmp085.init(1, 2)
local p = bmp085.pressure()
print(string.format("Pressure: %s.%s mbar", p / 100, p % 100))
```
## bmp085.pressure_raw()
Samples the sensor and returns the raw pressure in internal units. Might be useful if you need higher precision.
#### Syntax
`bmp085.pressure_raw(oversampling_setting)`
#### Parameters
- `oversampling_setting` integer that can be 0, 1, 2 or 3.
#### Returns
`integer` raw pressure sampling value