Simple Mbed example of sleepy program reading OPT3001 and BME280 sensors

Dependencies:   BME280

Committer:
olegart
Date:
Thu Aug 16 20:22:45 2018 +0000
Revision:
0:002dbf6aef22
Let's call it release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
olegart 0:002dbf6aef22 1 #include "mbed.h"
olegart 0:002dbf6aef22 2 #include "BME280.h"
olegart 0:002dbf6aef22 3 #include "OPT3001.h"
olegart 0:002dbf6aef22 4
olegart 0:002dbf6aef22 5 DigitalOut led(LED1);
olegart 0:002dbf6aef22 6 BME280 sensor_bme(D14, D15);
olegart 0:002dbf6aef22 7 OPT3001 sensor_opt(D14, D15);
olegart 0:002dbf6aef22 8 EventQueue eventQueue(/* event count */ 50 * EVENTS_EVENT_SIZE);
olegart 0:002dbf6aef22 9 Serial pc(SERIAL_TX, SERIAL_RX);
olegart 0:002dbf6aef22 10 LowPowerTicker lpTicker;
olegart 0:002dbf6aef22 11
olegart 0:002dbf6aef22 12 void printTemperature(void)
olegart 0:002dbf6aef22 13 {
olegart 0:002dbf6aef22 14 pc.printf("%2.2f degC, %04.2f hPa, %2.2f %%\r\n", sensor_bme.getTemperature(), sensor_bme.getPressure(), sensor_bme.getHumidity());
olegart 0:002dbf6aef22 15 pc.printf("%ld lux\r\n", sensor_opt.readSensor());
olegart 0:002dbf6aef22 16 led = !led; // Toggle LED
olegart 0:002dbf6aef22 17 }
olegart 0:002dbf6aef22 18
olegart 0:002dbf6aef22 19 void tickerIRQ (void)
olegart 0:002dbf6aef22 20 {
olegart 0:002dbf6aef22 21 eventQueue.call(printTemperature);
olegart 0:002dbf6aef22 22 }
olegart 0:002dbf6aef22 23
olegart 0:002dbf6aef22 24 int main()
olegart 0:002dbf6aef22 25 {
olegart 0:002dbf6aef22 26 pc.baud(115200);
olegart 0:002dbf6aef22 27
olegart 0:002dbf6aef22 28 lpTicker.attach(tickerIRQ, 1); // every second
olegart 0:002dbf6aef22 29
olegart 0:002dbf6aef22 30 while(1)
olegart 0:002dbf6aef22 31 {
olegart 0:002dbf6aef22 32 eventQueue.dispatch(0);
olegart 0:002dbf6aef22 33 sleep();
olegart 0:002dbf6aef22 34 }
olegart 0:002dbf6aef22 35 }