Austin Blackstone / Mbed 2 deprecated murataTCPDemo

Dependencies:   SNICInterface mbed-rtos mbed

Fork of murataDemo by Austin Blackstone

Files at this revision

API Documentation at this revision

Comitter:
mbedAustin
Date:
Thu Apr 09 22:03:34 2015 +0000
Parent:
31:c42d189364b4
Commit message:
Basic TCP Client working with murata wifi chip

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu Apr 09 01:28:01 2015 +0000
+++ b/main.cpp	Thu Apr 09 22:03:34 2015 +0000
@@ -18,6 +18,7 @@
  */
 #include "mbed.h"
 #include "SNIC_WifiInterface.h"
+#include "TCPSocketServer.h"
 
 Serial pc(USBTX, USBRX);
 
@@ -35,26 +36,8 @@
 
 C_SNIC_WifiInterface     wifi( D1, D0, NC, NC, D3 );
 
-// callback function used by scan()
-// this function will be called on every network scanned
-void scanCallbackFn(tagSCAN_RESULT_T *scan_result)
+int wifiInit()
 {
-    printf("\r\n");
-    printf("channel = %d \r\n"      ,scan_result->channel);
-    printf("rssi = %d \r\n"         ,scan_result->rssi);
-    printf("security = %d \r\n"     ,scan_result->security);
-    printf("bssid = %x%x%x%x%x%x\r\n",scan_result->bssid[0],scan_result->bssid[1],scan_result->bssid[2],scan_result->bssid[3],scan_result->bssid[4],scan_result->bssid[5]);
-    printf("network_type = %d \r\n" ,scan_result->network_type);
-    printf("max_rate = %d \r\n"     ,scan_result->max_rate);
-    printf("ssid = %s \r\n"         ,scan_result->ssid);
-}
-
-// main loop
-int main()
-{
-    // for built in debug printouts
-//    pc.baud( 115200 );
-
     int check = 0;
 
     // Initialize Wi-Fi interface
@@ -98,15 +81,6 @@
         printf("SetIPConfig successful \r\n");
     }
 
-    // Get RSSI
-    signed char temp = 0;
-    check = wifi.getRssi(&temp);
-    if(check != 0) {
-        printf("getRssi failed. \r\n");
-    } else {
-        printf("getRssi success: %d \r\n",temp);
-    }
-
     // check IP Address
     char * ip ;
     ip = wifi.getIPAddress();
@@ -115,36 +89,49 @@
     } else {
         printf("getIP success: %s \r\n",ip);
     }
+}
 
-    // get wifi status
-    tagWIFI_STATUS_T status;
-    check = wifi.getWifiStatus(&status);
-    if(check != 0) {
-        printf("getWifiStatus failed \r\n");
-    } else {
-        // Status 0=WifiOff, 1=No Network, 2=Connected to AP, 3=Started AP mode
-        printf("getWifiStatus success: status =%d, MAC = %x%x%x%x%x%x, SSID = %s  \r\n",
-               status.status,
-               status.mac_address[0], status.mac_address[1],
-               status.mac_address[2], status.mac_address[3],
-               status.mac_address[4], status.mac_address[5],
-               status.ssid );
+//
+// main loop
+//
+int main()
+{
+
+    // Initialize Wifi
+    wifiInit();
+
+    // TCP Schenanigans!
+    const char* ECHO_SERVER_ADDRESS = "192.168.11.3";
+    const int ECHO_SERVER_PORT = 7;
+
+    // connect to server
+    TCPSocketConnection socket;
+    while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
+        printf("Unable to connect to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
+        wait(1);
     }
 
-    // scan for wifi, results will be called in callback function
-    check = wifi.scan(NULL,NULL,scanCallbackFn);
-    if(check != 0) {
-        printf("scan failed! \r\n");
-    } else {
-        printf("Scan Success! \r\n");
+    // send messages back and forth as long as we are connected
+    int x = 0;
+    while(socket.is_connected()) {
+        // Setup & send message to server
+        char message[64] = {};
+        sprintf(message,"%s%d","HelloFromMicrocontroller: ",x++);
+        socket.send_all(message, sizeof(message) - 1);
 
+        // Receive & print message from server
+        char buf[256];
+        int n = socket.receive_all(buf, 256);
+        buf[n] = '\0';
+        printf("TCP data from server: '%s'", buf);
+
+        // not needed, here to slow the data down so you can see it whip past.
+        wait(0.5);
     }
 
-//    if(check != 0){
-//        printf(" \r\n");
-//    }else{
-//        printf(" \r\n");
-//    }
+    socket.close();
+    wifi.disconnect();
 
-    wait( 1.0 );
+    while(true) {}
+
 }