W7500 OLED

Dependencies:   mbed WIZ_TCC_W7500OLED WIZnetInterface

Revision:
2:19f4e538d1cd
Parent:
1:feb9f603f054
--- a/main.cpp	Tue Oct 31 01:11:54 2017 +0000
+++ b/main.cpp	Tue Nov 20 06:27:41 2018 +0000
@@ -1,167 +1,60 @@
 #include "mbed.h"
-#include "EthernetInterface.h"
 #include "Adafruit_SSD1306.h"
    
 // W7500 onboard LED & Init
 DigitalOut gled(LED2,0);
 
-
 // I2C Class
 I2C i2c(PA_10,PA_9);
 
 // OLED Class   
 Adafruit_SSD1306_I2c gOled(i2c,NC,0x78,64,128);
 
-// Declare Ethernet Class
-EthernetInterface eth;
-
-// Declare TCP Connection Class
-TCPSocketConnection sock;
-
-
-
 int main() {
       
-    int phy_link;
-    printf("Wait a second...\r\n");
-    
-    //--------- Have to modify the mac address-------------
-    uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0xff, 0xff, 0x25};   
-    
-    eth.init(mac_addr);     //Use DHCP
-        
-    // phy link 
-    do{
-        phy_link = eth.ethernet_link();
-        printf("...");
-        wait(2);
-    }while(!phy_link);
-    printf("\r\n");
-        
-    eth.connect();
-         
-    printf("IP Address is %s\r\n\r\n", eth.getIPAddress());
-    printf("MASK Address is %s\r\n\r\n", eth.getNetworkMask());
-    printf("GATEWAY Address is %s\r\n\r\n", eth.getGateway());
-    printf("MAC Address is %s\r\n\r\n", eth.getMACAddress());
+
+    uint16_t cnt=0;
+    uint16_t time =0, minute =58, second =0;
     
-    while(1){
-        // TCP socket connect to openweather server 
-        //TCPSocketConnection sock;
-        char http_addr[]="api.openweathermap.org";
-        int port=80;
-        
-        //connect
-        ///////////////////////////////////////////////////////////
-        sock.connect(http_addr, port);
-        ////////////////////////////////////////////////////////////
-        
-        // GET method, to request weather forecast  
-        char http_cmd[] = "GET /data/2.5/weather?q=London,uk&appid=a0ca47dd7f6066404629b3e1ad728981 HTTP/1.0\n\n";
-        
-        
-        //send data
-        ///////////////////////////////////////////////////////
-        sock.send(http_cmd, sizeof(http_cmd)-1);
-        ///////////////////////////////////////////////////////
-        
-        // get data into buffer
-        char buffer[2048];
-        int ret;
-        while (true) {
-            // break the while(), when don't received tha data
-            // save the data to buffer
-            // save the return value to ret
-            //receive data
-            //////////////////////////////////////////////////////
-            ret = sock.receive(buffer, sizeof(buffer)-1);
-            if (ret <= 0)
-                break;
-            ////////////////////////////////////////////////////
-            buffer[ret] = '\0';
-            printf("Received %d chars from server: %s\n", ret, buffer);     
-        }
-        printf("\r\n\r\n");
-        
-        // parsing current date, weather, city, tempurature 
-        char *date;
-        char *weather;
-        char *city;
-        char *temper;
-        
-        char cur_date[17] = {0};
-        char weather_con[15] = {0};
-        char city_name[10] = {0};
-        char temper_data[3] = {0};
-    
-        int temp;
-        int num100, num10, num1;
-        
-        //parding date
-        date = strstr(buffer, "Date");
-        for(int x=0;x<17;x++){
-            cur_date[x] = date[x+6];
-        }
-            
-        // parsing weather condition
-        weather = strstr(buffer, "main");
-        for(int i=0; i<15;i++){
-            weather_con[i] = weather[i+7];
-            if(weather_con[i] == 34){
-                weather_con[i] = 0;
-                break;
+    gOled.begin();                
+    gOled.printf("%ux%u \nHellow World\r\n", gOled.width(), gOled.height());
+    gOled.display();
+    gOled.setTextCursor(0,0);
+    wait(1.0);    
+
+    while(1)
+    {
+        gOled.setTextSize(2);
+        gOled.clearDisplay();
+        gOled.printf("%02d:%02d:%02d\n\n", time,minute,second);
+        if(minute==59)
+        {
+            if(second == 59)
+            {
+                time++;
+                minute = 0;
+                second = 0;
+            }
+            else
+            {                
+                second++;
             }
         }
-        
-        // parsing city name
-        city = strstr(buffer, "name");
-        for(int j=0; j<10;j++){
-            city_name[j] = city[j+7];
-            if(city_name[j] == 34){
-                city_name[j] = 0;
-                break;
+        else
+        {
+            if(second == 59)
+            {                
+                minute++;
+                second = 0;
+            }
+            else
+            {                
+                second++;
             }
         }
-     
-        //parsing current tempurature
-        temper = strstr(buffer, "temp");
-        for(int k=0; k<3;k++){
-            temper_data[k] = temper[k+6];
-        }
-           
-        //kelvin to celius converter
-        num100 = temper_data[0]- 48;
-        num10 = temper_data[1] - 48;
-        num1 = temper_data[2]- 48;
-        temp = (num100*100 + num10*10 + num1) - 273;
-        
-        // Debug message
-        printf("city name   :  %s\r\n",  city_name);
-        printf("weather     :  %s\r\n",  weather_con);
-        printf("temperature :  %d\r\n\r\n",  temp);
-        
-        // OLED Display
-        gOled.begin();
-        gOled.clearDisplay();
-        gOled.printf("%s\n\n", cur_date);
-        gOled.printf("City    : %s\n", city_name);
-        gOled.printf("Weather : %s\n", weather_con);
-        gOled.printf("Temper  : %d\n", temp);
         gOled.display();
-        gOled.setTextCursor(0,0);
-        
-
-    
-        //close 
-        //////////////////////////////////////////////////
-        sock.close();
-        eth.disconnect();
-        //////////////////////////////////////////////////
-        /* 
-         *    everytime in delay, request weather forecast 
-         */
-        wait(20.0);
-    
-   };
+        gOled.setTextCursor(0,0);        
+        wait(1.0);
+    }
 
 }
\ No newline at end of file