test program for my BME280 library. Both I2C and SPI mode have been tested.

Dependencies:   BME280 mbed

Committer:
Rhyme
Date:
Tue May 09 06:33:18 2017 +0000
Revision:
0:7e8c784a0df1
Child:
1:21463f9ca08d
mostly working.. still not quite though

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:7e8c784a0df1 1 #include "mbed.h"
Rhyme 0:7e8c784a0df1 2 #include "MSS.h"
Rhyme 0:7e8c784a0df1 3 #include "BME280.h"
Rhyme 0:7e8c784a0df1 4
Rhyme 0:7e8c784a0df1 5 #define BME280_I2C_ADDRESS 0x76
Rhyme 0:7e8c784a0df1 6
Rhyme 0:7e8c784a0df1 7 DigitalOut csb(PIN_CS0, 1) ;
Rhyme 0:7e8c784a0df1 8
Rhyme 0:7e8c784a0df1 9 int main() {
Rhyme 0:7e8c784a0df1 10 uint8_t data[8] ;
Rhyme 0:7e8c784a0df1 11 float temp, hum, pres ;
Rhyme 0:7e8c784a0df1 12 // BME280 *bme280 = new BME280(PIN_SDA, PIN_SCL, BME280_I2C_ADDRESS) ;
Rhyme 0:7e8c784a0df1 13 BME280 *bme280 = new BME280(PIN_SCK, PIN_MISO, PIN_MOSI, PIN_CS0) ;
Rhyme 0:7e8c784a0df1 14
Rhyme 0:7e8c784a0df1 15 bme280->reset() ;
Rhyme 0:7e8c784a0df1 16 wait(2) ;
Rhyme 0:7e8c784a0df1 17 bme280->init() ;
Rhyme 0:7e8c784a0df1 18 wait(1) ;
Rhyme 0:7e8c784a0df1 19 printf("=== test BME280 for %s (%s) ===\n", BOARD_NAME, __DATE__) ;
Rhyme 0:7e8c784a0df1 20 printf("ID = 0x%02X (0x60 expected for BME280)\n", bme280->getID()) ;
Rhyme 0:7e8c784a0df1 21 printf("Temperature(C) , Humidity(%%), Pressure(hPa)\n") ;
Rhyme 0:7e8c784a0df1 22 while(1) {
Rhyme 0:7e8c784a0df1 23 bme280->trigger() ;
Rhyme 0:7e8c784a0df1 24 while(bme280->busy()) {
Rhyme 0:7e8c784a0df1 25 wait(0.1) ;
Rhyme 0:7e8c784a0df1 26 }
Rhyme 0:7e8c784a0df1 27 bme280->readData(data) ;
Rhyme 0:7e8c784a0df1 28 temp = bme280->getTemperature(&data[3]) ;
Rhyme 0:7e8c784a0df1 29 hum = bme280->getHumidity(&data[6]) ;
Rhyme 0:7e8c784a0df1 30 pres = bme280->getPressure(&data[0]) ;
Rhyme 0:7e8c784a0df1 31 printf("%.2f, %.2f, %.2f\n", temp, hum, pres) ;
Rhyme 0:7e8c784a0df1 32 wait(2) ;
Rhyme 0:7e8c784a0df1 33 }
Rhyme 0:7e8c784a0df1 34 }