mbed Sensor node for Instrumented Booth over ETH.

Dependencies:   EthernetInterface-1 MaxbotixDriver Presence HTU21D_TEMP_HUMID_SENSOR_SAMPLE Resources SHARPIR mbed-rtos mbed-src WDT_K64F nsdl_lib

Fork of Trenton_Switch_LPC1768_ETH by Demo Team

Revision:
40:b2e9bc654ca1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Door_Trip/DoorTrip.cpp	Wed Feb 11 12:36:45 2015 +0000
@@ -0,0 +1,54 @@
+/*
+    DoorTrip.cpp -  DoorTrip sensor library
+    Developed by Andrea Corrado & Eric Gowland
+    
+    Connect to a hardware device that is boolean present/not present. Such as PIR, Rangefinder or laser with appropriate signalling.
+    Also drives LED as DoorTrip indicator.
+*/
+
+
+#include "mbed.h"
+#include "DoorTrip.h"
+
+
+
+DoorTrip::DoorTrip(PinName pin, bool true_on_rise, int debounce_time_ms):_myint(pin), _led1(LED1)
+{
+    debounce_ms = debounce_time_ms;
+    _true_on_rise = true_on_rise;
+//    if(true_on_rise) {
+//        _myint.rise(this, &DoorTrip::DoorTrip_interrupt_off);
+//        _myint.fall(this, &DoorTrip::DoorTrip_interrupt_on);
+//    } else {
+//        _myint.rise(this, &DoorTrip::DoorTrip_interrupt_on);
+//        _myint.fall(this, &DoorTrip::DoorTrip_interrupt_off);
+//    }
+    _detection=false;
+//    debounce_timer.start();
+    _led1=1;
+
+}
+
+void DoorTrip::DoorTrip_interrupt_off(){
+    if(debounce_timer.read_ms() > debounce_ms) {
+        _detection=false;
+        _led1=1;
+    }
+}
+
+void DoorTrip::DoorTrip_interrupt_on() //Detection of motion.
+{
+    //Always trigger detection..
+    _detection=true;
+    _led1=0;
+    debounce_timer.reset(); // Reset counter to 0...
+}
+
+bool DoorTrip::isPresent(){
+//    if (debounce_timer.read_ms() > debounce_ms) {
+        //Poll the pin and update value...
+        _detection = (_true_on_rise && _myint == 1) || (!_true_on_rise && _myint == 0);
+        if(_detection) _led1 = 0; else _led1 = 1;
+//    }
+    return !_detection;
+}
\ No newline at end of file