
demo of the murata wifi chip. This demo tries to connect to an open wifi access point and prints out all the relevant information about the connection. It then scans all wifi access points nearby and reports their information.
Dependencies: SNICInterface mbed-rtos mbed
Fork of SNIC-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