terence zhang / Mbed OS mbed-os-example-wakaama

Dependencies:   C12832 LM75B

Revision:
16:31c387e94b6d
Parent:
15:d0f20339c1ad
--- a/main.cpp	Sun May 07 03:00:16 2017 +0000
+++ b/main.cpp	Thu May 11 12:40:25 2017 +0000
@@ -1,61 +1,23 @@
 #include "mbed.h"
 #include "C12832.h"
 #include "LM75B.h"
-
 #include "EthernetInterface.h"
 
-
 extern "C" {
     #include "liblwm2m.h"
     //External API
-
-#if 0
-     /*
-     * object_server.c
-     */
-    lwm2m_object_t * get_server_object(int serverId, const char* binding, int lifetime, bool storing);
-    void clean_server_object(lwm2m_object_t * object);
-    void display_server_object(lwm2m_object_t * objectP);
-    void copy_server_object(lwm2m_object_t * objectDest, lwm2m_object_t * objectSrc);
-    
-    /*
-     * object_device.c
-     */    
-    lwm2m_object_t * get_object_device(void);
-    void free_object_device(lwm2m_object_t * objectP);
-    uint8_t device_change(lwm2m_data_t * dataArray, lwm2m_object_t * objectP);
-    void display_device_object(lwm2m_object_t * objectP);
-    /*
-    * object_security.c
-    */
-    lwm2m_object_t * get_security_object(int serverId, const char* serverUri, char * bsPskId, char * psk, uint16_t pskLen, bool isBootstrap);
-    void clean_security_object(lwm2m_object_t * objectP);
-    char * get_server_uri(lwm2m_object_t * objectP, uint16_t secObjInstID);
-    void display_security_object(lwm2m_object_t * objectP);
-    void copy_security_object(lwm2m_object_t * objectDest, lwm2m_object_t * objectSrc);
-    /*
-     * object_test.c
-     */
-    #define TEST_OBJECT_ID 1024
-    lwm2m_object_t * get_test_object(void);
-    void free_test_object(lwm2m_object_t * object);
-    void display_test_object(lwm2m_object_t * objectP);
-
-#else
-extern lwm2m_object_t * get_object_device(void);
-extern void free_object_device(lwm2m_object_t * objectP);
-extern lwm2m_object_t * get_server_object(void);
-extern void free_server_object(lwm2m_object_t * object);
-extern lwm2m_object_t * get_security_object(void);
-extern void free_security_object(lwm2m_object_t * objectP);
-extern char * get_server_uri(lwm2m_object_t * objectP, uint16_t secObjInstID);
-extern lwm2m_object_t * get_test_object(void);
-extern void free_test_object(lwm2m_object_t * object);
+    extern lwm2m_object_t * get_object_device(void);
+    extern void free_object_device(lwm2m_object_t * objectP);
+    extern lwm2m_object_t * get_server_object(void);
+    extern void free_server_object(lwm2m_object_t * object);
+    extern lwm2m_object_t * get_security_object(void);
+    extern void free_security_object(lwm2m_object_t * objectP);
+    extern char * get_server_uri(lwm2m_object_t * objectP, uint16_t secObjInstID);
+}
+#ifdef ENABLE_RGB_LED
+lwm2m_object_t * get_object_rgb_led(void);
 #endif
-
-
-
-}
+lwm2m_object_t * get_object_temperature(void);
 
 //Global definitions
 #define ENDPOINT_NAME "MBED-OS-EXAMPLE-WAKAAMA"
@@ -64,11 +26,14 @@
 #define LESHAN_PORT 5683
 #define UDP_TIMEOUT 60000
 #define UDP_PORT 5683
+
+#ifdef ENABLE_RGB_LED
+#define DEVICE_OBJ_NUM 5
+#else
 #define DEVICE_OBJ_NUM 4
-
+#endif
 #define LOCAL_PORT 5683
 
-
 // LCD 128X32
 C12832 lcd(p5, p7, p6, p8, p11);
 // Sensor of temperature
@@ -210,11 +175,6 @@
     }   
     printf("\n--------------------------\n"); 
 }
-void test_udp(EthernetInterface eth)
-{
-    //TBD
-}
-
 void test_tcp(EthernetInterface eth)
 {
     TCPSocket tcp;    
@@ -304,6 +264,11 @@
     return COAP_NO_ERROR;
 }
 
+void get_temperature(float *temp)
+{
+    *temp = sensor_temp.read();
+    printf("SYSTEM TEMP: %.3f",*temp);
+}
 
 int main() 
 {
@@ -352,14 +317,22 @@
         return -1;
     }
 
-    objArray[3] = get_test_object();
+
+    objArray[3] = get_object_temperature();
     if (NULL == objArray[3])
     {
-        fprintf(stderr, "Failed to create Test object\r\n");
+        fprintf(stderr, "Failed to create temperature object\r\n");
         return -1;
     }
-
-
+    
+#ifdef ENABLE_RGB_LED
+    objArray[4] = get_object_rgb_led();
+    if (NULL == objArray[4])
+    {
+        fprintf(stderr, "Failed to create RGB LED object\r\n");
+        return -1;
+    }    
+#endif
     /*
      * The liblwm2m library is now initialized with the functions that will be in
      * charge of communication
@@ -432,3 +405,5 @@
     }//while()
 
 }//main
+
+