Project with example IPSO resources for LED bar, Gas Sensor, and Light Sensor

Dependencies:   EthernetInterface LED_Bar mbed-rtos mbed nsdl_lib

Files at this revision

API Documentation at this revision

Comitter:
michaeljkoster
Date:
Sat Oct 25 03:31:06 2014 +0000
Parent:
5:3fa1d1f8b3f8
Child:
7:3f52b52ef2ad
Commit message:
fast sample report on change

Changed in this revision

resources/IPSO_presence.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/resources/IPSO_presence.cpp	Sat Oct 25 03:16:58 2014 +0000
+++ b/resources/IPSO_presence.cpp	Sat Oct 25 03:31:06 2014 +0000
@@ -16,21 +16,24 @@
 static uint8_t pres_obs_token_len = 0;
 
 DigitalIn presenceSensor(D2);
-bool presence;
+bool presence = 0;
+bool last_presence = 0;
 char presenceString[2];
 
 static void pres_observe_thread(void const *args)
 {
-    int32_t time = 0;
+    //int32_t time = 0;
     while (true)
     {
-        wait(1);
-        time++;
+        wait(.1);
+        //time++;
         //sn_nsdl_exec(time);
-        if((!(time % 10)) && pres_obs_number != 0 && pres_obs_token_ptr != NULL)
+        presence = presenceSensor.read();
+        if((presence != last_presence) && pres_obs_number != 0 && pres_obs_token_ptr != NULL)
         {
+            last_presence = presence;
             pres_obs_number++;
-            sprintf(presenceString,"%d", presenceSensor.read());            
+            sprintf(presenceString,"%d", presence);            
             if(sn_nsdl_send_observation_notification(pres_obs_token_ptr, pres_obs_token_len, (uint8_t*)presenceString, sizeof((uint8_t*)presenceString)-1, &pres_obs_number, 1, COAP_MSG_TYPE_NON_CONFIRMABLE, 0) == 0)
                 pc.printf("Presence observation sending failed\r\n");
             else