# BMP085 Module | Since | Origin / Contributor | Maintainer | Source | | :----- | :-------------------- | :---------- | :------ | | 2015-08-03 | [Konrad Beckmann](https://github.com/kbeckmann) | [Konrad Beckmann](https://github.com/kbeckmann) | [bmp085.c](../../app/modules/bmp085.c)| This module provides access to the [BMP085](https://www.sparkfun.com/tutorials/253) temperature and pressure sensor. The module also works with BMP180. ## bmp085.setup() Initializes the module. #### Syntax `bmp085.setup()` #### Parameters None #### Returns `nil` ## bmp085.temperature() Samples the sensor and returns the temperature in celsius as an integer multiplied with 10. #### Syntax `bmp085.temperature()` #### Returns temperature multiplied with 10 (integer) #### Example ```lua local sda, scl = 1, 2 i2c.setup(0, sda, scl, i2c.SLOW) bmp085.setup() 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 pressure in pascals (integer) #### Example ```lua local sda, scl = 1, 2 i2c.setup(0, sda, scl, i2c.SLOW) -- call i2c.setup() only once bmp085.setup() 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 raw pressure sampling value (integer)