MBED MQTT Lighting Endpoint for NXP Ublox (cellular enabled)

Dependencies:   C027_Support C12832 StatusReporter LM75B MQTT-ansond c027_radios endpoint_core endpoint_mqtt mbed-rtos mbed

Revision:
13:25448d92c205
Parent:
11:59ee476fda24
Child:
15:e44d75d95b38
--- a/Definitions.h	Thu Feb 27 00:23:30 2014 +0000
+++ b/Definitions.h	Thu Feb 27 04:05:41 2014 +0000
@@ -25,8 +25,8 @@
 // Our Endpoint Version Annoucement
 #define ENDPOINT_VERSION_ANNOUNCE "\r\nMBED IMPACT(MQTT) Endpoint v1.0"
 
-// Error Handler
-#define MAX_LOG_MESSAGE     256                             // maximum size of a logging message
+// Error Handler Log Message Length
+#define MAX_LOG_MESSAGE     768                             // maximum size of a logging message
 
 // Light Configuration
 #define NUM_LIGHTS          1                               // number of lights in this endpoint
@@ -39,44 +39,59 @@
 #define ENDPOINT_LOCATION   "Oulo Finland"                  // Where this light/endpoint lives
 #define ENDPOINT_GPS_COORDS "65.017210,25.492411"           // Where this light/endpoint lives
 
+// Keyword Definitions for MQTT packets
+#define IOC_REQUEST_LOAD_ALL_VERB   "load"
+#define IOC_REQUEST_UPDATE_ALL_VERB "update"
+#define IOC_ENDPOINT_VERB           "Endpoint"
+#define IOC_ENDPOINT_ALL_VERB       "all"
+#define IOC_CHANGE_VERB             "Change"
+#define IOC_REQUEST_VALUE_VERB      "Get"
+#define IOC_RESPONSE_VERB           "response"
+#define IOC_REPONSE_ID_KEY          "id"
+#define IOC_DATASOURCE_ID           "198"
+
+// IOC REST Buffer Lengths
+#define IOC_REST_URL_LEN            128
+#define IOC_RESULT_LEN              768
+#define IOC_PAYLOAD_LEN             768
+#define IOC_IOC_ID_LEN              16
+
 // IOC REST URL for Load/Updates
-#define IOC_USERNAME        "anson"
-#define IOC_PASSWORD        "savetheplanet1"
-#define IOC_REST_URL_LEN    128
-#define IOC_RESULT_LEN      192
-#define IOC_PAYLOAD_LEN     192
-#define IOC_IOC_ID_LEN      16
-#define IOC_DATASOURCE_ID   "198"
-#define IOC_HOST_NAME       "iocweb.bcu.ac.uk"
-#define IOC_REST_URL        "https://%s/ibm/ioc/api/data-injection-service/datablocks/%s/dataitems%s"
+#define IOC_USERNAME                "anson"
+#define IOC_PASSWORD                "savetheplanet1"
+#define IOC_HOST_NAME               "iocweb.bcu.ac.uk"
+#define IOC_REST_URL                "https://%s/ibm/ioc/api/data-injection-service/datablocks/%s/dataitems%s"
+#define IOC_RESPONSE_TEMPLATE       "%s:{ENDPOINT=%s RESOURCE=%s VALUE=%s}:%s"
+#define IOC_RESPONSE_OK             "OK"
+#define IOC_RESPONSE_FAILED         "FAILED"
 
 // Resource Configuration
-#define RESOURCE_NAME_LEN   64                              // Resource name max length
-#define RESOURCE_VALUE_LEN  64                              // Resource value max length
+#define RESOURCE_NAME_LEN           64                              // Resource name max length
+#define RESOURCE_VALUE_LEN          64                              // Resource value max length
 
 // Transport Configuration
-#define NUM_TRANSPORTS      2                               // MQTT, HTTP
-#define MQTT_TRANSPORT      0                               // MQTT Transport index
-#define HTTP_TRANSPORT      1                               // HTTP Transport index
+#define NUM_TRANSPORTS              2                               // MQTT, HTTP
+#define MQTT_TRANSPORT              0                               // MQTT Transport index
+#define HTTP_TRANSPORT              1                               // HTTP Transport index
 
 // Index for Transport to use for Update/Load
-#define LOAD_TRANSPORT      1                               // 0 - MQTT, 1 - HTTP
+#define LOAD_TRANSPORT              1                               // 0 - MQTT, 1 - HTTP
 
 // MQTT connect information
-#define MQTT_HOSTNAME       "iocana.bcu.ac.uk"              // IOC MQTT Broker Host - iocana.bcu.ac.uk
-#define MQTT_HOSTPORT       1883                            // IOC MQTT Broker Port
-#define MQTT_ENDPOINT_ID    "mbed%d"                        // IOC MQTT Endpoint ID template
-#define MQTT_MAXID_VALUE    99                              // IOC MQTT Endpoint ID maximum integer value
-#define MQTT_ENDPOINT_IDLEN 64                              // IOC MQTT Endpoint ID length (max)
-#define MQTT_IOC_TOPIC      "ARM/sensinode/control/%s"      // IOC MQTT Topic 
-#define MQTT_IOC_TOPIC_LEN  42                              // max length for the topic string
-#define MQTT_USERNAME       ""                              // IOC MQTT Username
-#define MQTT_PASSWORD       ""                              // IOC MQTT Password
+#define MQTT_HOSTNAME               "iocana.bcu.ac.uk"              // IOC MQTT Broker Host - iocana.bcu.ac.uk
+#define MQTT_HOSTPORT               1883                            // IOC MQTT Broker Port
+#define MQTT_ENDPOINT_ID            "mbed%d"                        // IOC MQTT Endpoint ID template
+#define MQTT_MAXID_VALUE            99                              // IOC MQTT Endpoint ID maximum integer value
+#define MQTT_ENDPOINT_IDLEN         64                              // IOC MQTT Endpoint ID length (max)
+#define MQTT_IOC_TOPIC              "ARM/sensinode/control/%s"      // IOC MQTT Topic 
+#define MQTT_IOC_TOPIC_LEN          42                              // max length for the topic string
+#define MQTT_USERNAME               ""                              // IOC MQTT Username
+#define MQTT_PASSWORD               ""                              // IOC MQTT Password
 
 // Main Loop
-#define MAIN_LOOP_SLEEP     100                             // sleep time (ms) between main loop iterations
+#define MAIN_LOOP_SLEEP             100                             // sleep time (ms) between main loop iterations
 
 // LED Blink Time
-#define BLINK_TIME     100                                  // LED blink times
+#define BLINK_TIME                  100                             // LED blink times
 
 #endif // _DEFINITIONS_H
\ No newline at end of file