Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Wed May 13 14:25:57 2015 +0000
Revision:
124:c1b6c893e1c3
Parent:
122:480c44b0e205
Child:
125:8ff4dc96ad58
wip__

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 122:480c44b0e205 1 #include "eth.h"
klauss 74:81c47fff88a5 2
klauss 74:81c47fff88a5 3 EthernetInterface eth;
klauss 74:81c47fff88a5 4
klauss 124:c1b6c893e1c3 5
klauss 124:c1b6c893e1c3 6 /*
klauss 121:ee02790d00b7 7 int __init_eth__ ( void )
klauss 121:ee02790d00b7 8 {
klauss 74:81c47fff88a5 9 static bool initialized = false;
klauss 122:480c44b0e205 10
klauss 122:480c44b0e205 11 char buff_ip [ 16 ] = "";
klauss 122:480c44b0e205 12 char buff_msk [ 16 ] = "";
klauss 122:480c44b0e205 13 char buff_gtw [ 16 ] = "";
klauss 122:480c44b0e205 14
klauss 100:09a23fcd3bdf 15 if( debug_uart3 ) pc.printf("\n\r");
klauss 122:480c44b0e205 16
klauss 122:480c44b0e205 17 int ip_return_value = get_ip ( buff_ip, sizeof ( buff_ip ) - 1 );
klauss 121:ee02790d00b7 18
klauss 122:480c44b0e205 19 if ( ip_return_value < 0 )
klauss 122:480c44b0e205 20 {
klauss 122:480c44b0e205 21 set_ip( MY_IP );
klauss 122:480c44b0e205 22
klauss 122:480c44b0e205 23 strncpy ( buff_ip, MY_IP, sizeof ( buff_ip ) - 1 );
klauss 122:480c44b0e205 24
klauss 122:480c44b0e205 25 if ( debug_file ) debug_msg ("Load default header_ip -- %s", buff_ip );
klauss 122:480c44b0e205 26 }
klauss 121:ee02790d00b7 27
klauss 122:480c44b0e205 28 buff_ip [ sizeof ( buff_ip ) - 1 ] = 0;
klauss 122:480c44b0e205 29
klauss 122:480c44b0e205 30 int mask_return_value = get_ip ( buff_msk, sizeof ( buff_msk ) - 1 );
klauss 121:ee02790d00b7 31
klauss 122:480c44b0e205 32 if ( mask_return_value < 0 )
klauss 122:480c44b0e205 33 {
klauss 122:480c44b0e205 34 set_mask( MY_MSK );
klauss 122:480c44b0e205 35
klauss 122:480c44b0e205 36 strncpy ( buff_msk, MY_MSK, sizeof ( buff_msk ) - 1 );
klauss 122:480c44b0e205 37
klauss 122:480c44b0e205 38 if ( debug_file ) debug_msg ("Load default eth_mask -- %s", buff_msk );
klauss 74:81c47fff88a5 39 }
klauss 122:480c44b0e205 40
klauss 122:480c44b0e205 41 buff_msk [ sizeof ( buff_msk ) - 1 ] = 0;
klauss 121:ee02790d00b7 42
klauss 122:480c44b0e205 43 int gw_return_value = get_gateway ( buff_gtw, sizeof ( buff_gtw ) - 1 );
klauss 122:480c44b0e205 44
klauss 122:480c44b0e205 45 if ( gw_return_value < 0 )
klauss 122:480c44b0e205 46 {
klauss 122:480c44b0e205 47 set_gateway( MY_GTW );
klauss 122:480c44b0e205 48
klauss 122:480c44b0e205 49 strncpy ( buff_gtw, MY_MSK, sizeof ( buff_gtw ) - 1 );
klauss 122:480c44b0e205 50
klauss 122:480c44b0e205 51 if ( debug_file ) debug_msg ("Load default eth_gateway -- %s", buff_gtw );
klauss 74:81c47fff88a5 52 }
klauss 121:ee02790d00b7 53
klauss 122:480c44b0e205 54 buff_gtw [ sizeof ( buff_gtw ) - 1 ] = 0;
klauss 121:ee02790d00b7 55
klauss 121:ee02790d00b7 56 if( !initialized )
klauss 121:ee02790d00b7 57 {
klauss 121:ee02790d00b7 58 eth.init( buff_ip, buff_msk, buff_gtw );
klauss 74:81c47fff88a5 59 initialized = true;
klauss 74:81c47fff88a5 60 return eth.connect();
klauss 74:81c47fff88a5 61 }
klauss 121:ee02790d00b7 62
klauss 74:81c47fff88a5 63 if( !eth.disconnect() ){
klauss 74:81c47fff88a5 64 return eth.connect();
klauss 74:81c47fff88a5 65 }
klauss 74:81c47fff88a5 66 else{
klauss 74:81c47fff88a5 67 return eth.connect();
klauss 74:81c47fff88a5 68 }
klauss 124:c1b6c893e1c3 69 }
klauss 124:c1b6c893e1c3 70
klauss 124:c1b6c893e1c3 71 */
klauss 124:c1b6c893e1c3 72
klauss 124:c1b6c893e1c3 73 int __init_eth__ ( void )
klauss 124:c1b6c893e1c3 74 {
klauss 124:c1b6c893e1c3 75 static bool initialized = false;
klauss 124:c1b6c893e1c3 76 char buff_ip[ 16 ] = "";
klauss 124:c1b6c893e1c3 77 char buff_msk[ 16 ] = "";
klauss 124:c1b6c893e1c3 78 char buff_gtw[ 16 ] = "";
klauss 124:c1b6c893e1c3 79 if( debug_uart3 ) pc.printf("\n\r");
klauss 124:c1b6c893e1c3 80 FILE *fp = fopen( "/qspi/myip.txt", "r");
klauss 124:c1b6c893e1c3 81 if( fp == NULL ){
klauss 124:c1b6c893e1c3 82 if( debug_file ) debug_msg("Failed to open /qspi/myip.txt" );
klauss 124:c1b6c893e1c3 83 strncpy( buff_ip, MY_IP, 20 );
klauss 124:c1b6c893e1c3 84 }else{
klauss 124:c1b6c893e1c3 85 int read = fread( buff_ip, 1, 512, fp );
klauss 124:c1b6c893e1c3 86 if( read > 0 ){
klauss 124:c1b6c893e1c3 87 for( int i = 0; i < read; i++ )
klauss 124:c1b6c893e1c3 88 if( buff_ip[ i ] == '\n' || buff_ip[ i ] == '\r' ){
klauss 124:c1b6c893e1c3 89 buff_ip[ i ] = '\0';
klauss 124:c1b6c893e1c3 90 break;
klauss 124:c1b6c893e1c3 91 }
klauss 124:c1b6c893e1c3 92 if( debug_file ) debug_msg("Eth ip %s", buff_ip );
klauss 124:c1b6c893e1c3 93 }else{
klauss 124:c1b6c893e1c3 94 if( debug_file ) debug_msg("Failed to read /qspi/myip.txt" );
klauss 124:c1b6c893e1c3 95 strncpy( buff_ip, MY_IP, 20 );
klauss 124:c1b6c893e1c3 96 }
klauss 124:c1b6c893e1c3 97 }
klauss 124:c1b6c893e1c3 98 fclose( fp );
klauss 124:c1b6c893e1c3 99 buff_ip[ 15 ] = 0;
klauss 124:c1b6c893e1c3 100 fp = fopen( "/qspi/mymask.txt", "r");
klauss 124:c1b6c893e1c3 101 if( fp == NULL ){
klauss 124:c1b6c893e1c3 102 if( debug_file ) debug_msg("Failed to open /qspi/mymask.txt" );
klauss 124:c1b6c893e1c3 103 strncpy( buff_msk, MY_MSK, 20 );
klauss 124:c1b6c893e1c3 104 }else{
klauss 124:c1b6c893e1c3 105 int read = fread( buff_msk, 1, 512, fp );
klauss 124:c1b6c893e1c3 106 if( read > 0 ){
klauss 124:c1b6c893e1c3 107 for( int i = 0; i < read; i++ )
klauss 124:c1b6c893e1c3 108 if( buff_msk[ i ] == '\n' || buff_msk[ i ] == '\r' ){
klauss 124:c1b6c893e1c3 109 buff_msk[ i ] = '\0';
klauss 124:c1b6c893e1c3 110 break;
klauss 124:c1b6c893e1c3 111 }
klauss 124:c1b6c893e1c3 112 if( debug_file ) debug_msg("mascara de rede Eth %s", buff_msk );
klauss 124:c1b6c893e1c3 113 }else{
klauss 124:c1b6c893e1c3 114 if( debug_file ) debug_msg("Failed to read /qspi/mymask.txt" );
klauss 124:c1b6c893e1c3 115 strncpy( buff_msk, MY_MSK, 20 );
klauss 124:c1b6c893e1c3 116 }
klauss 124:c1b6c893e1c3 117 }
klauss 124:c1b6c893e1c3 118 fclose( fp );
klauss 124:c1b6c893e1c3 119 buff_msk[ 15 ] = 0;
klauss 124:c1b6c893e1c3 120 fp = fopen( "/qspi/mygateway.txt", "r");
klauss 124:c1b6c893e1c3 121 if( fp == NULL ){
klauss 124:c1b6c893e1c3 122 if( debug_file ) debug_msg("Failed to open /qspi/mygateway.txt" );
klauss 124:c1b6c893e1c3 123 strncpy( buff_gtw, MY_GTW, 20 );
klauss 124:c1b6c893e1c3 124 }else{
klauss 124:c1b6c893e1c3 125 int read = fread( buff_gtw, 1, 512, fp );
klauss 124:c1b6c893e1c3 126 if( read > 0 ){
klauss 124:c1b6c893e1c3 127 for( int i = 0; i < read; i++ )
klauss 124:c1b6c893e1c3 128 if( buff_gtw[ i ] == '\n' || buff_gtw[ i ] == '\r' ){
klauss 124:c1b6c893e1c3 129 buff_gtw[ i ] = '\0';
klauss 124:c1b6c893e1c3 130 break;
klauss 124:c1b6c893e1c3 131 }
klauss 124:c1b6c893e1c3 132 if( debug_file ) debug_msg("Ip Gateway Eth %s", buff_gtw );
klauss 124:c1b6c893e1c3 133 }else{
klauss 124:c1b6c893e1c3 134 if( debug_file ) debug_msg("Failed to read /qspi/mygateway.txt" );
klauss 124:c1b6c893e1c3 135 strncpy( buff_gtw, MY_GTW, 20 );
klauss 124:c1b6c893e1c3 136 }
klauss 124:c1b6c893e1c3 137 }
klauss 124:c1b6c893e1c3 138 fclose( fp );
klauss 124:c1b6c893e1c3 139 buff_gtw[ 15 ] = 0;
klauss 124:c1b6c893e1c3 140
klauss 124:c1b6c893e1c3 141 if( !initialized ){
klauss 124:c1b6c893e1c3 142 //eth.init( buff_ip, buff_msk, buff_gtw );
klauss 124:c1b6c893e1c3 143 eth.init( buff_ip, buff_msk, buff_gtw );
klauss 124:c1b6c893e1c3 144 initialized = true;
klauss 124:c1b6c893e1c3 145 return eth.connect();
klauss 124:c1b6c893e1c3 146 }
klauss 124:c1b6c893e1c3 147 if( !eth.disconnect() ){
klauss 124:c1b6c893e1c3 148 return eth.connect();
klauss 124:c1b6c893e1c3 149 }
klauss 124:c1b6c893e1c3 150 else{
klauss 124:c1b6c893e1c3 151 return eth.connect();
klauss 124:c1b6c893e1c3 152 }
klauss 124:c1b6c893e1c3 153 }
klauss 124:c1b6c893e1c3 154
klauss 124:c1b6c893e1c3 155 void __reconnect ( void )
klauss 124:c1b6c893e1c3 156 {
klauss 124:c1b6c893e1c3 157 eth.disconnect ();
klauss 124:c1b6c893e1c3 158 __init_eth__ ();
klauss 74:81c47fff88a5 159 }