Xively demo for cc3000

Dependencies:   NVIC_set_all_priorities cc3000_hostdriver_mbedsocket libxively mbed

Files at this revision

API Documentation at this revision

Comitter:
Kojto
Date:
Thu Nov 07 20:22:09 2013 +0000
Parent:
3:6eb505b0beb3
Child:
5:edcc0603078d
Commit message:
- updated to the host driver rev 45; - using the new EthernetInterface

Changed in this revision

NVIC_set_all_priorities.lib Show annotated file Show diff for this revision Revisions of this file
cc3000_hostdriver_mbedsocket.lib Show annotated file Show diff for this revision Revisions of this file
init.cpp 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
main.h Show annotated file Show diff for this revision Revisions of this file
--- a/NVIC_set_all_priorities.lib	Mon Oct 14 15:33:28 2013 +0000
+++ b/NVIC_set_all_priorities.lib	Thu Nov 07 20:22:09 2013 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/frankvnk/code/NVIC_set_all_priorities/#676bbfffe9f6
+http://mbed.org/users/frankvnk/code/NVIC_set_all_priorities/#01504ecd2025
--- a/cc3000_hostdriver_mbedsocket.lib	Mon Oct 14 15:33:28 2013 +0000
+++ b/cc3000_hostdriver_mbedsocket.lib	Thu Nov 07 20:22:09 2013 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/Kojto/code/cc3000_hostdriver_mbedsocket/#960b73df5981
+http://mbed.org/users/Kojto/code/cc3000_hostdriver_mbedsocket/#50ab13d8f2dc
--- a/init.cpp	Mon Oct 14 15:33:28 2013 +0000
+++ b/init.cpp	Thu Nov 07 20:22:09 2013 +0000
@@ -33,11 +33,11 @@
     PWR_EN1 = 0;
     PWR_EN2 = 1;
 
-    NVIC_set_all_irq_priorities(3);
+    NVIC_set_all_irq_priorities(0x3);
     NVIC_SetPriority(SPI0_IRQn, 0x0);     // Wi-Fi SPI interrupt must be higher priority than SysTick
     NVIC_SetPriority(PORTA_IRQn, 0x1);
     NVIC_SetPriority(SysTick_IRQn, 0x2);  // SysTick set to lower priority than Wi-Fi SPI bus interrupt
-    PORTA->PCR[16] |=PORT_PCR_ISF_MASK;
+    PORTA->PCR[16] |= PORT_PCR_ISF_MASK;
     PORTA->ISFR |= (1 << 16);
 }
 
--- a/main.cpp	Mon Oct 14 15:33:28 2013 +0000
+++ b/main.cpp	Thu Nov 07 20:22:09 2013 +0000
@@ -24,7 +24,6 @@
 
 using namespace mbed_cc3000;
 
-tUserFS user_info;
 DigitalOut myled(LED1);
 Ticker flipper_seconds;
 Ticker flipper_led;
@@ -32,62 +31,19 @@
 
 /* cc3000 module declaration specific for user's board. Check also init() */
 #if (MY_BOARD == WIGO)
-cc3000 wifi(PTA16, PTA13, PTD0, SPI(PTD2, PTD3, PTC5), PORTA_IRQn);
+cc3000 wifi(PTA16, PTA13, PTD0, SPI(PTD2, PTD3, PTC5), "ssid", "key", WPA2, false);
 Serial pc(USBTX, USBRX);
 #elif (MY_BOARD == WIFI_DIPCORTEX)
-cc3000 wifi(p28, p27, p30, SPI(p21, p14, p37), PIN_INT0_IRQn);
+cc3000 wifi(p28, p27, p30, SPI(p21, p14, p37), "ssid", "key", WPA2, false);
 Serial pc(UART_TX, UART_RX);
+#elif (MY_BOARD == MBED_BOARD_EXAMPLE)
+cc3000 wifi(p9, p10, p8, SPI(p5, p6, p7), "ssid", "key", WPA2, false);
+Serial pc(USBTX, USBRX);
 #else
 
 #endif
 
 /**
- *  \brief Print cc3000 information
- *  \param none
- *  \return none
- */
-void print_cc3000_info() {
-    uint8_t myMAC[8];
-
-    printf("MAC address + cc3000 info \r\n");
-    wifi.get_user_file_info((uint8_t *)&user_info, sizeof(user_info));
-    wifi.get_mac_address(myMAC);
-    printf(" MAC address %02x:%02x:%02x:%02x:%02x:%02x \r\n \r\n", myMAC[0], myMAC[1], myMAC[2], myMAC[3], myMAC[4], myMAC[5]);
-
-    printf(" FTC        %i \r\n",user_info.FTC);
-    printf(" PP_version %i.%i \r\n",user_info.PP_version[0], user_info.PP_version[1]);
-    printf(" SERV_PACK  %i.%i \r\n",user_info.SERV_PACK[0], user_info.SERV_PACK[1]);
-    printf(" DRV_VER    %i.%i.%i \r\n",user_info.DRV_VER[0], user_info.DRV_VER[1], user_info.DRV_VER[2]);
-    printf(" FW_VER     %i.%i.%i \r\n",user_info.FW_VER[0], user_info.FW_VER[1], user_info.FW_VER[2]);
-}
-
-/**
- *  \brief Connect to SSID with a timeout
- *  \param ssid     Name of SSID
- *  \param key      Password
- *  \param sec_mode Security mode
- *  \return none
- */
-void connect_to_ssid(char *ssid, char *key, unsigned char sec_mode) {
-    printf("Connecting to SSID: %s. Timeout is 10s. \r\n",ssid);
-    if (wifi.connect_to_AP((uint8_t *)ssid, (uint8_t *)key, sec_mode) == true) {
-        printf(" Connected. \r\n");
-    } else {
-        printf(" Connection timed-out (error). Please restart. \r\n");
-        while(1);
-  }
-}
-
-/**
- *  \brief Connect to SSID without security
- *  \param ssid Name of SSID
- *  \return none
- */
-void connect_to_ssid(char *ssid) {
-    wifi.connect_open((uint8_t *)ssid);
-}
-
-/**
  *  \brief Count seconds
  *  \param none
  *  \return none
@@ -105,31 +61,14 @@
     init(); /* board dependent init */
     pc.baud(115200);
 
-    wifi.start(0);
     printf("cc3000 xively demo. \r\n");
-    print_cc3000_info();
-
-    printf("Attempting SSID Connection. \r\n");
-    wifi._wlan.ioctl_set_connection_policy(0, 0, 0);
-#ifndef CC3000_TINY_DRIVER
-#ifdef AP_KEY
-    connect_to_ssid(SSID, AP_KEY, AP_SECURITY);
-#else
-    connect_to_ssid(SSID);
-#endif
-#else
-    connect_to_ssid(SSID);
-#endif
-    printf("DHCP request \r\n");
-    while (wifi.is_dhcp_configured() == false) {
-         wait_ms(500);
-         printf("  Waiting for dhcp to be set. \r\n");
+    wifi.init();
+    if (wifi.connect() == -1) {
+        printf("Failed to connect. Please verify connection details and try again. \r\n");
+    } else {
+        printf("IP address: %s \r\n", wifi.getIPAddress());
     }
-
-    tNetappIpconfigRetArgs ipinfo2;
-    wifi.get_ip_config(&ipinfo2); // data is returned in the ipinfo2 structure
-    printf("DHCP assigned IP Address = %d.%d.%d.%d \r\n", ipinfo2.aucIP[3], ipinfo2.aucIP[2], ipinfo2.aucIP[1], ipinfo2.aucIP[0]);
-
+    
     xi_feed_t feed;
     printf("Size of xi_feed_t: %d \r\n", sizeof(xi_feed_t)); //with default settings this can get over 11kB
     std::memset(&feed, 0, sizeof( xi_feed_t ) );
--- a/main.h	Mon Oct 14 15:33:28 2013 +0000
+++ b/main.h	Thu Nov 07 20:22:09 2013 +0000
@@ -16,26 +16,13 @@
 #ifndef MAIN_H
 #define MAIN_H
 
-#define WIGO           1
-#define WIFI_DIPCORTEX 2
-#define UNDEFINED      3
+#define WIGO               1
+#define WIFI_DIPCORTEX     2
+#define MBED_BOARD_EXAMPLE 3
+#define UNDEFINED          4
 
 #define MY_BOARD WIGO
 
-// use this defines in AP_SECURITY
-#define NONE 0
-#define WEP  1
-#define WPA  2
-#define WPA2 3
-
-// use smart config
-#define USE_SMART_CONFIG 0
-
- // Default SSID Settings
-#define AP_KEY       "test"
-#define AP_SECURITY  WPA2            // WPA2 must be enabled for use with iPhone or Android phone hotspot!
-#define SSID         "test"
-
 void init();
 
 #endif