Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
39:89e023ea5968
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eth.cpp	Thu Oct 02 12:38:42 2014 +0000
@@ -0,0 +1,52 @@
+#include "eth.h"
+
+vz_eth::vz_eth(){
+    udp_server.set_blocking( false, 2 );
+    udp_server.bind( UDP_PORT_LISTENER );
+}
+
+
+char * vz_eth::listen_eth_udp( char * buffer, int *length ){
+    // OBS sizeof( buffer ) == 4 ????
+    //*length = server.receiveFrom( client, buffer, sizeof( buffer ) );
+    *length = udp_server.receiveFrom( udp_client, buffer, __UDP_ETH_BUFFER_SIZE__ );
+    
+    if( *length > 0 ){
+        buffer[ *length ] = '\0';
+        buffer[ strlen( buffer ) - 1 ] = '\0';
+            debug_msg("Received UDP Pkg :: %s", buffer );
+        return( buffer );
+    }else return( NULL );
+}
+
+int vz_eth::is_start_pkg( uint8_t * data ){
+    //seq_num must to be 0s
+    if( !data ) return -1; 
+    
+    for( register int i = __VZ_HEADER_OFFSET__; i < __UDP_ETH_BUFFER_SIZE__; i++ ) if( data[ i ] ) return( 0 );
+    
+    return( 1 );
+}
+
+int vz_eth::is_stop_pkg( uint8_t * data ){
+    //seq_num must to be 0s
+    if( !data ) return -1; 
+    
+    for( register int i = __VZ_HEADER_OFFSET__; i < __UDP_ETH_BUFFER_SIZE__; i++ ) if( data[ i ] ) return( 0 );
+    
+    return( 1 );
+}
+
+
+int vz_eth::is_time_to_stop( uint8_t * data ){
+    static int count = 0;
+    if( !data ) return( 0 );
+    
+    if( is_stop_pkg( data ) == 1 ) count++;
+    
+    else count = 0;
+    
+    if( count == 10 ) return( 1 );
+    
+    else return( 0 );
+}
\ No newline at end of file