edge / Mbed 2 deprecated testReedSimple

Dependencies:   libmDot mbed-rtos mbed

Committer:
boddeke
Date:
Wed May 25 23:03:33 2016 +0000
Revision:
2:a2371a150758
Parent:
1:e504b1f72d05
Child:
3:238fa32bcb32
added fix for wakeup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
boddeke 0:fc05a249a095 1 #include "mbed.h"
boddeke 0:fc05a249a095 2 #include "rtos.h"
boddeke 0:fc05a249a095 3 #include "mDot.h"
boddeke 0:fc05a249a095 4 #include "MTSLog.h"
boddeke 0:fc05a249a095 5 #include "MTSText.h"
boddeke 0:fc05a249a095 6
boddeke 0:fc05a249a095 7 using namespace mts;
boddeke 0:fc05a249a095 8
boddeke 0:fc05a249a095 9
boddeke 0:fc05a249a095 10 #define REED_PORT PA_0
boddeke 0:fc05a249a095 11
boddeke 2:a2371a150758 12 DigitalIn reed_sensor(PA_0, PullUp);
boddeke 2:a2371a150758 13
boddeke 0:fc05a249a095 14 RawSerial pc(PA_2,NC);
boddeke 0:fc05a249a095 15
boddeke 0:fc05a249a095 16 volatile int reed_has_changed = 0;
boddeke 0:fc05a249a095 17
boddeke 0:fc05a249a095 18 void isr_reed_sensor_change(void) {
boddeke 0:fc05a249a095 19 reed_has_changed++;
boddeke 0:fc05a249a095 20 }
boddeke 0:fc05a249a095 21
boddeke 0:fc05a249a095 22 main() {
boddeke 0:fc05a249a095 23
boddeke 0:fc05a249a095 24 pc.baud(115200);
boddeke 0:fc05a249a095 25
boddeke 0:fc05a249a095 26 pc.printf("Build: " __DATE__ ", " __TIME__"\r\n");
boddeke 0:fc05a249a095 27
boddeke 1:e504b1f72d05 28 mDot* dot = mDot::getInstance();
boddeke 0:fc05a249a095 29 dot->setLogLevel(MTSLog::TRACE_LEVEL);
boddeke 0:fc05a249a095 30
boddeke 2:a2371a150758 31 if(dot->getStandbyFlag()){
boddeke 2:a2371a150758 32 pc.printf("clearing standby flag\r\n");
boddeke 2:a2371a150758 33 PWR->CSR &= ~PWR_CSR_EWUP;
boddeke 2:a2371a150758 34 }
boddeke 2:a2371a150758 35
boddeke 2:a2371a150758 36 // DigitalIn reed_sensor(REED_PORT);
boddeke 0:fc05a249a095 37 // reed_sensor.mode(PullUp);
boddeke 0:fc05a249a095 38
boddeke 0:fc05a249a095 39 InterruptIn reed_sensor_change(REED_PORT);
boddeke 0:fc05a249a095 40 reed_sensor_change.fall(&isr_reed_sensor_change);
boddeke 0:fc05a249a095 41 reed_sensor_change.rise(&isr_reed_sensor_change);
boddeke 0:fc05a249a095 42 reed_sensor_change.mode(PullUp);
boddeke 2:a2371a150758 43
boddeke 0:fc05a249a095 44 while(1) {
boddeke 0:fc05a249a095 45
boddeke 0:fc05a249a095 46 for(int i=0;i<10;i++) {
boddeke 0:fc05a249a095 47
boddeke 2:a2371a150758 48 pc.printf("Read %d, Changes: %d\r\n",reed_sensor.read(),reed_has_changed);
boddeke 0:fc05a249a095 49 wait(1.0);
boddeke 0:fc05a249a095 50 }
boddeke 0:fc05a249a095 51
boddeke 2:a2371a150758 52 dot->sleep((int)10, mDot::RTC_ALARM_OR_INTERRUPT, true);
boddeke 0:fc05a249a095 53 }
boddeke 0:fc05a249a095 54 }