Skip to content

Commit

Permalink
Merge pull request #936 from kbeckmann/bmp085-docs
Browse files Browse the repository at this point in the history
  • Loading branch information
devsaurus committed Jan 14, 2016
2 parents 517faf4 + d426976 commit 96585a5
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 3 deletions.
6 changes: 3 additions & 3 deletions app/modules/bmp085.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ static int ICACHE_FLASH_ATTR bmp085_init(lua_State* L) {
bmp085_data.MC = r16(bmp085_i2c_id, 0xBC);
bmp085_data.MD = r16(bmp085_i2c_id, 0xBE);

return 1;
return 0;
}

static uint32_t bmp085_temperature_raw_b5(void) {
Expand Down Expand Up @@ -128,7 +128,7 @@ static int32_t ICACHE_FLASH_ATTR bmp085_pressure_raw(int oss) {
p3 = r8u(bmp085_i2c_id, 0xF8);
p = (p1 << 16) | (p2 << 8) | p3;
p = p >> (8 - oss);

return p;
}

Expand Down Expand Up @@ -159,7 +159,7 @@ static int ICACHE_FLASH_ATTR bmp085_lua_pressure(lua_State* L) {
oss = 3;
}
}

p = bmp085_pressure_raw(oss);
B5 = bmp085_temperature_raw_b5();

Expand Down
67 changes: 67 additions & 0 deletions docs/en/modules/bmp085.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 96585a5

Please sign in to comment.