James Devine / Mbed 2 deprecated Cosmic_Pi_STM32_i2c

Dependencies:   mbed Si7020 LPS25H LSM303D

main.cpp

Committer:
pingu_98
Date:
2019-01-06
Revision:
7:7137218c4432
Parent:
2:b60cb847489c
Child:
8:1b347e764f16

File content as of revision 7:7137218c4432:

#include "mbed.h"
#include "Si7020.h"
#include "LPS25H.h"


DigitalOut myled(LED1);

Serial pc(SERIAL_TX, SERIAL_RX); //serial debug output, 9600 bps 8 bit, no parity 1 stop bit no flow control.

//I2C declarations
I2C       i2c(PB_9,PB_8);   // SDA, SCL
I2CSlave  slave(PB_3,PB_10);   // SDA, SCL
Si7020 si(&i2c);
LPS25H baro(&i2c, LPS25H_G_CHIP_ADDR);

AnalogIn adc(ADC_TEMP);

//int I2C_ADDR = 0x00200; 
static const char I2C_ADDR =  0xE5 ;
int main() {
    
    //i2c setups
    i2c.frequency(100000); //Set the clock frequency
    slave.frequency(100000); //Set the clock frequency
    slave.address(I2C_ADDR);

    pc.printf("Hello world! \n");
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
        //put the code here!
    float tempuc = adc.read()*100;
    pc.printf("This is a loop\n");
    pc.printf("x=%.1f\r\n", tempuc);
    float humid;
        if(si.getHumidity(&humid) != 0) {
            printf("Error getting humidity\n");
            humid = -1;
        }

        float temp;
        if(si.getTemperature(&temp) != 0) {
            printf("Error getting temperature");
            temp = -1;
        } 
        printf("Humidity = %f%% Temperature = %fC\n", humid, temp);

     baro.get();
      printf("Pressure: %.1f, Temperature: %.1f\r\n",
              baro.pressure(), baro.temperature());


        wait(1);
    }
}