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 21:18:12 2015 +0000
Revision:
125:8ff4dc96ad58
Parent:
124:c1b6c893e1c3
Child:
132:05cd37f7e007
Implementado; - dtx [ on | off ]; - drx [ on | off ]; - drxshow [ on | off ]; - dtxshow [ on | off ]; - end_call <ext>; - request_clock

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 125:8ff4dc96ad58 80
klauss 125:8ff4dc96ad58 81 FILE * fip = fopen( "/qspi/myip.txt", "r");
klauss 125:8ff4dc96ad58 82 if( fip == NULL ){
klauss 124:c1b6c893e1c3 83 if( debug_file ) debug_msg("Failed to open /qspi/myip.txt" );
klauss 124:c1b6c893e1c3 84 strncpy( buff_ip, MY_IP, 20 );
klauss 124:c1b6c893e1c3 85 }else{
klauss 125:8ff4dc96ad58 86 int read = fread( buff_ip, 1, 512, fip );
klauss 124:c1b6c893e1c3 87 if( read > 0 ){
klauss 124:c1b6c893e1c3 88 for( int i = 0; i < read; i++ )
klauss 124:c1b6c893e1c3 89 if( buff_ip[ i ] == '\n' || buff_ip[ i ] == '\r' ){
klauss 124:c1b6c893e1c3 90 buff_ip[ i ] = '\0';
klauss 124:c1b6c893e1c3 91 break;
klauss 124:c1b6c893e1c3 92 }
klauss 124:c1b6c893e1c3 93 if( debug_file ) debug_msg("Eth ip %s", buff_ip );
klauss 124:c1b6c893e1c3 94 }else{
klauss 124:c1b6c893e1c3 95 if( debug_file ) debug_msg("Failed to read /qspi/myip.txt" );
klauss 124:c1b6c893e1c3 96 strncpy( buff_ip, MY_IP, 20 );
klauss 124:c1b6c893e1c3 97 }
klauss 124:c1b6c893e1c3 98 }
klauss 125:8ff4dc96ad58 99 if ( fip ) fclose( fip );
klauss 125:8ff4dc96ad58 100 buff_ip [ 15 ] = 0;
klauss 125:8ff4dc96ad58 101
klauss 125:8ff4dc96ad58 102 FILE * fmask = fopen( "/qspi/mymask.txt", "r");
klauss 125:8ff4dc96ad58 103 if( fmask == NULL ){
klauss 124:c1b6c893e1c3 104 if( debug_file ) debug_msg("Failed to open /qspi/mymask.txt" );
klauss 124:c1b6c893e1c3 105 strncpy( buff_msk, MY_MSK, 20 );
klauss 124:c1b6c893e1c3 106 }else{
klauss 125:8ff4dc96ad58 107 int read = fread( buff_msk, 1, 512, fmask );
klauss 124:c1b6c893e1c3 108 if( read > 0 ){
klauss 124:c1b6c893e1c3 109 for( int i = 0; i < read; i++ )
klauss 124:c1b6c893e1c3 110 if( buff_msk[ i ] == '\n' || buff_msk[ i ] == '\r' ){
klauss 124:c1b6c893e1c3 111 buff_msk[ i ] = '\0';
klauss 124:c1b6c893e1c3 112 break;
klauss 124:c1b6c893e1c3 113 }
klauss 124:c1b6c893e1c3 114 if( debug_file ) debug_msg("mascara de rede Eth %s", buff_msk );
klauss 124:c1b6c893e1c3 115 }else{
klauss 124:c1b6c893e1c3 116 if( debug_file ) debug_msg("Failed to read /qspi/mymask.txt" );
klauss 124:c1b6c893e1c3 117 strncpy( buff_msk, MY_MSK, 20 );
klauss 124:c1b6c893e1c3 118 }
klauss 124:c1b6c893e1c3 119 }
klauss 125:8ff4dc96ad58 120 if ( fmask ) fclose ( fmask );
klauss 125:8ff4dc96ad58 121 buff_msk [ 15 ] = 0;
klauss 125:8ff4dc96ad58 122
klauss 125:8ff4dc96ad58 123 FILE * fgate = fopen( "/qspi/mygateway.txt", "r");
klauss 125:8ff4dc96ad58 124 if( fgate == NULL ){
klauss 124:c1b6c893e1c3 125 if( debug_file ) debug_msg("Failed to open /qspi/mygateway.txt" );
klauss 124:c1b6c893e1c3 126 strncpy( buff_gtw, MY_GTW, 20 );
klauss 124:c1b6c893e1c3 127 }else{
klauss 125:8ff4dc96ad58 128 int read = fread( buff_gtw, 1, 512, fgate );
klauss 124:c1b6c893e1c3 129 if( read > 0 ){
klauss 124:c1b6c893e1c3 130 for( int i = 0; i < read; i++ )
klauss 124:c1b6c893e1c3 131 if( buff_gtw[ i ] == '\n' || buff_gtw[ i ] == '\r' ){
klauss 124:c1b6c893e1c3 132 buff_gtw[ i ] = '\0';
klauss 124:c1b6c893e1c3 133 break;
klauss 124:c1b6c893e1c3 134 }
klauss 124:c1b6c893e1c3 135 if( debug_file ) debug_msg("Ip Gateway Eth %s", buff_gtw );
klauss 124:c1b6c893e1c3 136 }else{
klauss 124:c1b6c893e1c3 137 if( debug_file ) debug_msg("Failed to read /qspi/mygateway.txt" );
klauss 124:c1b6c893e1c3 138 strncpy( buff_gtw, MY_GTW, 20 );
klauss 124:c1b6c893e1c3 139 }
klauss 124:c1b6c893e1c3 140 }
klauss 125:8ff4dc96ad58 141 if ( fgate ) fclose( fgate );
klauss 125:8ff4dc96ad58 142 buff_gtw [ 15 ] = 0;
klauss 124:c1b6c893e1c3 143
klauss 124:c1b6c893e1c3 144 if( !initialized ){
klauss 124:c1b6c893e1c3 145 //eth.init( buff_ip, buff_msk, buff_gtw );
klauss 124:c1b6c893e1c3 146 eth.init( buff_ip, buff_msk, buff_gtw );
klauss 124:c1b6c893e1c3 147 initialized = true;
klauss 124:c1b6c893e1c3 148 return eth.connect();
klauss 124:c1b6c893e1c3 149 }
klauss 124:c1b6c893e1c3 150 if( !eth.disconnect() ){
klauss 124:c1b6c893e1c3 151 return eth.connect();
klauss 124:c1b6c893e1c3 152 }
klauss 124:c1b6c893e1c3 153 else{
klauss 124:c1b6c893e1c3 154 return eth.connect();
klauss 124:c1b6c893e1c3 155 }
klauss 124:c1b6c893e1c3 156 }
klauss 124:c1b6c893e1c3 157
klauss 124:c1b6c893e1c3 158 void __reconnect ( void )
klauss 124:c1b6c893e1c3 159 {
klauss 124:c1b6c893e1c3 160 eth.disconnect ();
klauss 124:c1b6c893e1c3 161 __init_eth__ ();
klauss 74:81c47fff88a5 162 }