Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
74:81c47fff88a5
Child:
78:1353744f01e1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eth.cpp	Mon Nov 24 16:43:16 2014 +0000
@@ -0,0 +1,88 @@
+#include "eth.h"
+
+EthernetInterface eth;
+
+int __init_eth__(){    
+    static bool initialized = false;
+    char buff_ip[ 16 ] = "";
+    char buff_msk[ 16 ] = "";
+    char buff_gtw[ 16 ] = "";
+    wdt.kick();
+    pc.printf("\n\r");
+    FILE *fp = fopen( "/qspi/myip.txt", "r");
+    if( fp == NULL ){
+        if( debug_file ) debug_msg("Failed to open /qspi/myip.txt" );
+        strncpy( buff_ip, __MY_IP__, 20 );    
+    }else{
+        int read = fread( buff_ip, 1, 512, fp );
+        if( read > 0 ){
+            for( int i = 0; i < read; i++ ) 
+                if( buff_ip[ i ] == '\n' || buff_ip[ i ] == '\r' ){
+                    buff_ip[ i ] = '\0';
+                    break;
+                }
+            if( debug_file ) debug_msg("Eth ip %s", buff_ip );
+        }else{
+            if( debug_file ) debug_msg("Failed to read /qspi/myip.txt" );
+            strncpy( buff_ip, __MY_IP__, 20 );
+        }
+    }
+    fclose( fp );
+    buff_ip[ 15 ] = 0;
+        
+    fp = fopen( "/qspi/mymask.txt", "r");
+    if( fp == NULL ){
+        if( debug_file ) debug_msg("Failed to open /qspi/mymask.txt" );
+        strncpy( buff_msk, __MY_MSK__, 20 );    
+    }else{
+        int read = fread( buff_msk, 1, 512, fp );
+        if( read > 0 ){
+            for( int i = 0; i < read; i++ ) 
+                if( buff_msk[ i ] == '\n' || buff_msk[ i ] == '\r' ){
+                    buff_msk[ i ] = '\0';
+                    break;
+                }
+            if( debug_file ) debug_msg("mascara de rede Eth %s", buff_msk );
+        }else{
+            if( debug_file ) debug_msg("Failed to read /qspi/mymask.txt" );
+            strncpy( buff_msk, __MY_MSK__, 20 );
+        }
+    }
+    fclose( fp );
+    buff_msk[ 15 ] = 0;
+    
+    fp = fopen( "/qspi/mygate.txt", "r");
+    if( fp == NULL ){
+        if( debug_file ) debug_msg("Failed to open /qspi/mygate.txt" );
+        strncpy( buff_gtw, __MY_GTW__, 20 );    
+    }else{
+        int read = fread( buff_gtw, 1, 512, fp );
+        if( read > 0 ){
+            for( int i = 0; i < read; i++ ) 
+                if( buff_gtw[ i ] == '\n' || buff_gtw[ i ] == '\r' ){
+                    buff_gtw[ i ] = '\0';
+                    break;
+                }
+            if( debug_file ) debug_msg("Ip Gateway Eth %s", buff_gtw );
+        }else{
+            if( debug_file ) debug_msg("Failed to read /qspi/mygate.txt" );
+            strncpy( buff_gtw, __MY_GTW__, 20 );
+        }
+    }
+    fclose( fp );
+    buff_gtw[ 15 ] = 0;
+    
+    if( !initialized ){
+        //eth.init( buff_ip, buff_msk, buff_gtw );
+        eth.init( buff_ip, buff_msk, __MY_GTW__ );
+        initialized = true;
+        return eth.connect();
+    }
+    
+    if( !eth.disconnect() ){
+        return eth.connect();
+    }
+    else{
+        return eth.connect();
+    }
+}
\ No newline at end of file