Test firmware for the Supermote hardware.
Dependencies: K30_I2C libxDot-mbed5
Fork of K30_I2C_Program by
Diff: main.cpp
- Revision:
- 0:85741f91edf0
- Child:
- 2:680fc2690d10
diff -r 000000000000 -r 85741f91edf0 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Jun 29 00:41:34 2018 +0000 @@ -0,0 +1,74 @@ +#include "mbed.h" +#include "mDot.h" +#include "ChannelPlans.h" +#include "K30_I2C.h" + + +mDot* dot = NULL; + +Serial pc(USBTX,USBRX); // xDot dev board +//Serial pc(PA_2, PA_3); // Murata dev board +K30_I2C k30(I2C_SDA, I2C_SCL, 0x68<<1); // xDot dev board +//K30_I2C k30(PB_9, PB_8, 0x68<<1); // Muarata dev board +//AnalogIn HCHO(PB_14); + +DigitalOut blueLED (GPIO0); +DigitalOut orangeLED (GPIO1); +DigitalOut enable_5V (GPIO3); + +int main (){ + lora::ChannelPlan * plan = new lora::ChannelPlan_AS923(); + dot = mDot::getInstance(plan); + + pc.baud(115200); + pc.printf("**************************\r\n"); + pc.printf("\tCO2 Sensor\r\n"); + pc.printf("**************************\r\n"); + + enable_5V = true; + + blueLED = orangeLED = true; + dot->setAdr(true); + dot->sleep(3,dot->RTC_ALARM,false); +// k30.scan(); // Careful; has potential to cause breakage of system + + int co2; + int rc_check; + int counter = 0; + bool counterFail = false; + + orangeLED = blueLED = false; + + while(1){ + dot->sleep(2,dot->RTC_ALARM,false); + blueLED = orangeLED = !orangeLED; +// k30.scan(); +// wait(7.0f); +// pc.printf("**********************\r\n"); +// pc.printf("Reading CH2O sensor ...... \r\n"); +// ch2o_ppm = HCHO.read()*3.125*3.6 - 1.25; +// pc.printf("Formaldehyde Level: %.3f ppm\r\n\n", ch2o_ppm); + + pc.printf("Reading K30 sensor ...... \r\n"); + rc_check = k30.readCO2(co2); + +// pc.printf("%d \r\n", rc_check); + + if (rc_check&&co2){ + pc.printf("Successful reading\r\nCO2:\t%d ppm\r\n",co2); + if(!co2){ + counterFail = true; + } + if(!counterFail) { + counter++; + pc.printf("Success Count: %d\r\n", counter); + } + else pc.printf("Failure at: %d\r\n", counter); + } + else{ + pc.printf("Failure to read sensor \r\n"); + pc.printf("Last count: %d\r\n", counter); + counterFail = true; + } + } +} \ No newline at end of file