edge / Mbed 2 deprecated testReedSimple

Dependencies:   libmDot mbed-rtos mbed

main.cpp

Committer:
boddeke
Date:
2016-05-19
Revision:
1:e504b1f72d05
Parent:
0:fc05a249a095
Child:
2:a2371a150758

File content as of revision 1:e504b1f72d05:

#include "mbed.h"
#include "rtos.h"
#include "mDot.h"
#include "MTSLog.h"
#include "MTSText.h"

using namespace mts;


#define REED_PORT   PA_0

RawSerial pc(PA_2,NC);

volatile int reed_has_changed = 0;

void isr_reed_sensor_change(void) {
    reed_has_changed++;
}


main() {
    
    pc.baud(115200);
    
    pc.printf("Build: " __DATE__ ", " __TIME__"\r\n");
    
    mDot* dot = mDot::getInstance();
    dot->setLogLevel(MTSLog::TRACE_LEVEL);

     
    DigitalIn reed_sensor(REED_PORT);
    // reed_sensor.mode(PullUp);

    InterruptIn reed_sensor_change(REED_PORT);
    
    reed_sensor_change.fall(&isr_reed_sensor_change);
    reed_sensor_change.rise(&isr_reed_sensor_change);
    reed_sensor_change.mode(PullUp);
    
    while(1) {
        
         for(int i=0;i<10;i++) {
         
            pc.printf("changes %d %d\r\n",reed_has_changed,reed_sensor.read());
            wait(1.0);
         }
         
         dot->sleep((int)5, mDot::RTC_ALARM_OR_INTERRUPT, true);
    }
}