updated

Dependencies:   mbed Nucleo_Sensor_Shield

Committer:
pu19830226
Date:
Fri Feb 15 06:26:49 2019 +0000
Revision:
4:975c2877c923
Parent:
3:53d2d440a695
updated

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kennethwfk 0:fc777b6c55d6 1
kennethwfk 0:fc777b6c55d6 2
kennethwfk 0:fc777b6c55d6 3 #include "mbed.h"
kennethwfk 0:fc777b6c55d6 4 #include "x_cube_mems.h"
kennethwfk 0:fc777b6c55d6 5
kennethwfk 0:fc777b6c55d6 6 DigitalOut led(LED1);
kennethwfk 0:fc777b6c55d6 7
kennethwfk 0:fc777b6c55d6 8 Serial pc(USBTX, USBRX);
kennethwfk 0:fc777b6c55d6 9
kennethwfk 0:fc777b6c55d6 10 Ticker blinky;
kennethwfk 0:fc777b6c55d6 11 Ticker update;
kennethwfk 0:fc777b6c55d6 12
kennethwfk 0:fc777b6c55d6 13 volatile float TEMPERATURE_C;
pu19830226 4:975c2877c923 14 volatile float TEMPERATURE_F;
pu19830226 4:975c2877c923 15 volatile float TEMPERATURE_K;
pu19830226 4:975c2877c923 16 volatile float HUMIDITY;
pu19830226 4:975c2877c923 17 volatile float PRESSURE;
selvakumararm 3:53d2d440a695 18
kennethwfk 0:fc777b6c55d6 19
kennethwfk 0:fc777b6c55d6 20 bool measurements_update = false;
kennethwfk 0:fc777b6c55d6 21
kennethwfk 0:fc777b6c55d6 22 void blinky_handler(){
kennethwfk 0:fc777b6c55d6 23 led = !led;
kennethwfk 0:fc777b6c55d6 24 }
kennethwfk 0:fc777b6c55d6 25
kennethwfk 0:fc777b6c55d6 26 void sensors_handler(){
kennethwfk 0:fc777b6c55d6 27 measurements_update = true;
kennethwfk 0:fc777b6c55d6 28 }
kennethwfk 0:fc777b6c55d6 29
kennethwfk 0:fc777b6c55d6 30 int main() {
kennethwfk 0:fc777b6c55d6 31
selvakumararm 2:28f8cd15fca4 32
kennethwfk 0:fc777b6c55d6 33 static X_CUBE_MEMS *Sensors = X_CUBE_MEMS::Instance();
kennethwfk 0:fc777b6c55d6 34
selvakumararm 2:28f8cd15fca4 35
kennethwfk 0:fc777b6c55d6 36 blinky.attach(&blinky_handler, 0.5);
kennethwfk 0:fc777b6c55d6 37 update.attach(&sensors_handler, 3);
kennethwfk 0:fc777b6c55d6 38
kennethwfk 0:fc777b6c55d6 39 while(1) {
kennethwfk 0:fc777b6c55d6 40
kennethwfk 0:fc777b6c55d6 41 if(measurements_update == true){
kennethwfk 0:fc777b6c55d6 42 /* Read the environmental sensors */
pu19830226 4:975c2877c923 43 Sensors->hts221.GetTemperature((float*)&TEMPERATURE_C);
pu19830226 4:975c2877c923 44 Sensors->hts221.GetHumidity((float*)&HUMIDITY);
pu19830226 4:975c2877c923 45 Sensors->lps25h.GetPressure((float*)&PRESSURE);
pu19830226 4:975c2877c923 46
pu19830226 4:975c2877c923 47 TEMPERATURE_F = (TEMPERATURE_C * 1.8f) + 32.0f;
pu19830226 4:975c2877c923 48 TEMPERATURE_K = (TEMPERATURE_C + 273.15f);
selvakumararm 2:28f8cd15fca4 49
kennethwfk 0:fc777b6c55d6 50 pc.printf("Temperature:\t %.2f C / %.2f F / %.2f K\r\n", TEMPERATURE_C, TEMPERATURE_F, TEMPERATURE_K);
pu19830226 4:975c2877c923 51 pc.printf("Humidity:\t %.2f%%\r\n",HUMIDITY);
pu19830226 4:975c2877c923 52 pc.printf("Pressure:\t %.2fhPa\r\n",PRESSURE);
kennethwfk 0:fc777b6c55d6 53 pc.printf("\r\n");
kennethwfk 0:fc777b6c55d6 54
kennethwfk 0:fc777b6c55d6 55 measurements_update = false;
kennethwfk 0:fc777b6c55d6 56 }
kennethwfk 0:fc777b6c55d6 57 __wfi();
kennethwfk 0:fc777b6c55d6 58 }
kennethwfk 0:fc777b6c55d6 59 }