see main.cpp for - feed id - api key Go here to see live feed: https://xively.com/develop/WtDQf4yIsG2jnz4gE1-z If MBED connected to Ethernet- you will see live data feed. xively login avnisha Bubbles1231

Dependencies:   C12832_lcd EthernetInterface LM75B MMA7660 mbed-libxively-6eca970 mbed-rtos mbed

Fork of xively-jumpstart-demo by Xively Official

Files at this revision

API Documentation at this revision

Comitter:
xively
Date:
Mon May 13 19:30:39 2013 +0000
Child:
1:0a61d7ab702c
Commit message:
Xively Jumpstart Demo (v1)

Changed in this revision

C12832_lcd.lib Show annotated file Show diff for this revision Revisions of this file
EthernetInterface.lib Show annotated file Show diff for this revision Revisions of this file
MMA7660.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-libxively-5d6fdd4.lib Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/C12832_lcd.lib	Mon May 13 19:30:39 2013 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/dreschpe/code/C12832_lcd/#c9afe58d786a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EthernetInterface.lib	Mon May 13 19:30:39 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/EthernetInterface/#9b2d10dc0392
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MMA7660.lib	Mon May 13 19:30:39 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Sissors/code/MMA7660/#a8e20db7901e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon May 13 19:30:39 2013 +0000
@@ -0,0 +1,145 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+#include "xively.h"
+#include "xi_err.h"
+#include "xi_printf.h"
+
+#include <stdarg.h>
+#include <stdio.h>
+
+#include "MMA7660.h"
+
+#define XI_FEED_ID 128488
+#define XI_API_KEY "T4KXAH_gw1PW42RjRdhU-lgmCC6SAKw3NnBPc3dydUc4ND0g"
+
+#include "C12832_lcd.h"
+
+C12832_LCD lcd;
+
+MMA7660 axl(p28, p27);
+
+extern "C" {
+
+void user_printf( const char* buffer )
+{
+    lcd.cls();
+    lcd.locate( 0, 3 );
+    lcd.printf( buffer );
+    //wait( 1.0 );    
+}
+
+void mbed_printf( const char* fmt, ...  )
+{
+    char buffer[ 64 ];
+    
+    va_list ap;
+    va_start( ap, fmt );
+    vsnprintf( buffer, 64, fmt, ap );
+    va_end( ap );
+    
+    user_printf( buffer );
+}
+
+}
+
+int main() {
+    // set our device specific print function
+    USER_PRINT = user_printf;
+    
+    EthernetInterface eth;
+    
+    int s = eth.init(); //Use DHCP
+    
+    if( s != NULL )
+    {
+        mbed_printf( "Could not initialise. Will halt!\n" );        
+        exit( 0 );
+    }    
+        
+    s = eth.connect();
+    
+    if( s != NULL )
+    {
+        mbed_printf( "Could not connect. Will halt!\n" );
+        exit( 0 );
+    }
+    else 
+    {
+        mbed_printf( "IP: %s\n", eth.getIPAddress() );    
+    }
+    
+    xi_feed_t feed;
+    memset( &feed, NULL, sizeof( xi_feed_t ) );
+    
+    feed.feed_id = XI_FEED_ID;
+    feed.datastream_count = 2;
+    
+    feed.datastreams[0].datapoint_count = 1;
+    xi_datastream_t* orientation_datastream = &feed.datastreams[0];
+    strcpy( orientation_datastream->datastream_id, "orientation" );
+    xi_datapoint_t* current_orientation = &orientation_datastream->datapoints[0];
+
+    feed.datastreams[1].datapoint_count = 1;
+    xi_datastream_t* side_rotation_datastream = &feed.datastreams[1];
+    strcpy( side_rotation_datastream->datastream_id, "side_rotation" );
+    xi_datapoint_t* current_side_rotation = &side_rotation_datastream->datapoints[0];
+    
+    // create the cosm library context
+    xi_context_t* xi_context
+        = xi_create_context( XI_HTTP, XI_API_KEY, feed.feed_id );
+
+    // check if everything works
+    if( xi_context == NULL )
+    {
+        return -1;
+    }
+    
+    mbed_printf("feed:%d datastreams:[%s,%s]\n", feed.feed_id,
+                    orientation_datastream->datastream_id,
+                    side_rotation_datastream->datastream_id);
+
+    while(1) {
+      
+      switch( axl.getSide() ) {
+        case MMA7660::Front:
+          xi_set_value_str( current_side_rotation, "front" );
+          break;
+        case MMA7660::Back:
+          xi_set_value_str( current_side_rotation, "back" );
+          break;
+        default:
+          xi_set_value_str( current_side_rotation, "unknown" );
+          break;
+      }
+      
+      switch( axl.getOrientation() ) {
+        case MMA7660::Down:
+          mbed_printf("down %s\n",
+            (axl.getSide() == MMA7660::Front ? "front" : "back"));
+          xi_set_value_str( current_orientation, "down" );
+          break;
+        case MMA7660::Up:
+           mbed_printf("up %s\n",
+            (axl.getSide() == MMA7660::Front ? "front" : "back"));
+           xi_set_value_str( current_orientation, "up" );
+           break;
+        case MMA7660::Right:
+          mbed_printf("right %s\n",
+            (axl.getSide() == MMA7660::Front ? "front" : "back"));
+          xi_set_value_str( current_orientation, "right" );
+          break;
+        case MMA7660::Left:
+          mbed_printf("left %s\n",
+            (axl.getSide() == MMA7660::Front ? "front" : "back"));
+          xi_set_value_str( current_orientation, "left" );
+          break;
+        default: 
+          xi_set_value_str( current_orientation, "unknown" );
+          break;
+      }
+        
+      mbed_printf( "update...\n" );
+      xi_feed_update(xi_context, &feed);
+      mbed_printf( "done...\n" );
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-libxively-5d6fdd4.lib	Mon May 13 19:30:39 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/xively/code/mbed-libxively-5d6fdd4/#53753690a8bf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Mon May 13 19:30:39 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#db1fc233faa9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon May 13 19:30:39 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/b3110cd2dd17
\ No newline at end of file