Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: C12832_lcd EthernetInterface LM75B MMA7660 mbed-libxively-6eca970 mbed-rtos mbed
Fork of Application-xively-jumpstart-demo by
Revision 0:efdea27c3b81, committed 2013-05-13
- Comitter:
- xively
- Date:
- Mon May 13 19:30:39 2013 +0000
- Child:
- 1:0a61d7ab702c
- Commit message:
- Xively Jumpstart Demo (v1)
Changed in this revision
--- /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
