Cubic Hand project for EECS 249A course.

Dependencies:   MMA8451Q TSI cc3000_hostdriver_mbedsocket NVIC_set_all_priorities mbed Multi_WS2811

Revision:
13:c701f1122797
Parent:
7:79cd3cf6daea
Child:
14:0c4a26dc6873
--- a/GloveWifi.cpp	Fri Dec 05 22:54:35 2014 +0000
+++ b/GloveWifi.cpp	Sat Dec 06 23:25:32 2014 +0000
@@ -8,26 +8,23 @@
 #define SSID "CubeNet"
 #define PASSWORD "modelbased"
 
-#define MMA8451_I2C_ADDRESS (0x1d<<1)
-
-
-using namespace mbed_cc3000;
+#define ECHO_SERVER_ADDRESS     "192.168.1.33"
+#define ECHO_SERVER_PORT        2000
+#define MMA8451_I2C_ADDRESS     (0x1d<<1)
 
-
-GloveWifi::GloveWifi() :
-ECHO_SERVER_ADDRESS("192.168.1.33"),
-ECHO_SERVER_PORT(2000)
+GloveWifi::GloveWifi()
 {
 }
 
 GloveWifi::~GloveWifi()
 {
+    delete socket;
+    delete wifi;
 }
 
 void GloveWifi::Init()
 {
 
-    pc = new Serial(USBTX, USBRX);
     //Init from the cc3000 example
     DigitalOut PWR_EN1(PTB2);
     DigitalOut PWR_EN2(PTB3);
@@ -42,15 +39,14 @@
     NVIC_SetPriority(SysTick_IRQn, 0x2);  // SysTick set to lower priority than Wi-Fi SPI bus interrupt
     PORTA->PCR[16] |= PORT_PCR_ISF_MASK;
     PORTA->ISFR |= (1 << 16);
-
-    pc->baud(115200);
 }
 
 void GloveWifi::Connect()
 {
-    //TODO: Make this call (or recall) the initial constructor. 
+    
     wifi = new cc3000(PTD4, PTC9, PTD0, SPI(PTD2, PTD3, PTD1), SSID, PASSWORD, WPA2, false); 
     wifi->init();
+    socket = new TCPSocketConnection;
     if (wifi->connect() == -1) 
     {
         printf("Failed to connect. Please verify connection details and try again. \r\n");
@@ -58,30 +54,31 @@
     {
         printf("IP address: %s \r\n", wifi->getIPAddress());
     }
-    while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) 
+    while (socket->connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) 
     {
         printf("Unable to connect to (%s) on port (%d) \r\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
         wait(1);
     }
-    socket.set_blocking(true);
+    socket->set_blocking(true);
     printf("Connected!\r\n");
 }
 
 void GloveWifi::Disconnect()
 {
-    socket.close();
+    socket->close();
     wifi->disconnect();
+    delete socket;
     delete wifi;
 }
 
 uint8_t GloveWifi::GetDataFromBuffer(uint8_t * buf, uint16_t size)
 {
-    return socket.receive((char *)buf, size);
+    return socket->receive((char *)buf, size);
 }
 
 uint8_t GloveWifi::SendDataToGlove(uint8_t * buf, uint16_t size)
 {
-    return socket.send((char *)buf, size);
+    return socket->send((char *)buf, size);
 }
 
         
\ No newline at end of file