''
Dependencies: BME280 BMP280 TextLCD mbed
Fork of CW_watchdog_08012018a by
main.cpp
- Committer:
- ckalintra
- Date:
- 2018-01-09
- Revision:
- 5:8aa72ee456fc
- Parent:
- 4:5dbb5145d0a9
File content as of revision 5:8aa72ee456fc:
#include "mbed.h" #include "TextLCD.h" #include "BME280.h" #include "sd.h" #define watchdog_time 15 //DigitalOut myled(LED1); int dislcd = 0, wdcounter = 0, watchdog = 0; float T = 15; char ch = 0; Ticker display; Ticker second_pass; InterruptIn button(USER_BUTTON); //NVIC_SetPriority(display, 0); //NVIC_SetPriority(second_pass, 1); //NVIC_SetPriority(button, 1); void second_tick() { ss++; if(watchdog == 1) { wdcounter++; } time_rule(); day_check(); lcd.cls(); if (dislcd == 1) { lcd.locate(10,0); lcd.printf("l:%1.2f", lvl); lcd.locate(0,0); lcd.printf("p:%5.1f", pressuref); lcd.locate(10,1); lcd.printf("t:%3.1f", tempf); display_time(); } else if (dislcd == 0) { display_dates(); display_time(); } if (wdcounter >= watchdog_time) { pc.printf("system stuck, reset\n\r"); NVIC_SystemReset(); } } void watchdog() { wdcounter = 0; watchdog = 1; } void lcddisp() { if (gather_data == 1) { redLED = 1; display_time(); getdata(); store(); redLED = 0; } if (gather_data ==0) { redLED = 1; wait(0.2); } } void check_display() { if(dislcd == 0) {dislcd = 1;} else {dislcd = 0;} } int main() { lcd.cls(); //display_date_time(); // while (pointer != 14) // { // select_date(); // } //bmp.initialize(); pc.printf("\n\rputty ready\n\r"); display.attach(&lcddisp, T); second_pass.attach(&second_tick, 1.0); button.rise(&check_display); while(1) { check_display(); if (putty_enabled == 1) { //watchdog(); putty_write(); watchdog = 0; } if (putty_enabled == 0) { while(ch != 'p') { ch = 0; yellowLED = 1; ch = pc.getc(); } putty_enabled = 1; } yellowLED = 0; check_display(); if (interrupt == 1) { T = t; display.attach(&lcddisp, T); interrupt = 0; } //if(sw1 == 1 && sw2 == 1) // { // sd(); // } } }