Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: eth.h
- Revision:
- 39:89e023ea5968
- Parent:
- 38:af5ecd6997ab
- Child:
- 40:990683572031
--- a/eth.h Wed Oct 01 19:14:38 2014 +0000 +++ b/eth.h Thu Oct 02 12:38:42 2014 +0000 @@ -1,82 +1,47 @@ #ifndef __ETH_H__ #define __ETH_H__ -#include "prompt.h" #include "debug.h" #include "vz_protocol.h" - #define udp_idle 0x00 #define udp_waiting_start_pkg 0x01 #define udp_listen 0x02 -int 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 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 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 ); -} - +class vz_eth{ + private : + UDPSocket udp_server; + Endpoint udp_client; + public : + vz_eth(); + int is_start_pkg( uint8_t * data ); + int is_stop_pkg( uint8_t * data ); + int is_time_to_stop( uint8_t * data ); + char * listen_eth_udp( char * buffer, int *length ); +}; +/* char * listen_eth_udp( char * buffer, int *length ){ static UDPSocket server; server.set_blocking( false, 2 ); server.bind( UDP_PORT_LISTENER ); Endpoint client; - bool valid_reboot = false; - uint8_t * data = NULL; - static int ext; - static int port; - static uint8_t type; - static Timer t; - static uint8_t status = udp_idle; - static uint8_t seq_num = 0; // OBS sizeof( buffer ) == 4 ???? - - //*length = server.receiveFrom( client, buffer, sizeof( buffer ) ); + //length = server.receiveFrom( client, buffer, sizeof( buffer ) ); *length = server.receiveFrom( client, buffer, __UDP_ETH_BUFFER_SIZE__ ); - if( *length > 0){ + if( *length > 0 ){ buffer[ *length ] = '\0'; buffer[ strlen( buffer ) - 1 ] = '\0'; - t.start(); - debug_msg("%s", buffer ); - buffer = prompt_process( buffer ); + //debug_msg("%s", buffer ); + //buffer = prompt_process( buffer ); - if( buffer ){ - debug_msg("--%s--", buffer ); - //server.sendTo( client, buffer, sizeof( buffer ) ); - //int sent = server.sendTo( client, buffer, __UDP_ETH_BUFFER_SIZE__ ); - int sent = server.sendTo( client, buffer, strlen( buffer ) ); - debug_msg("Sent %d", sent ); - } + debug_msg("Received UDP Pkg :: %s", buffer ); + return( buffer ); + //int sent = server.sendTo( client, buffer, strlen( buffer ) ); + //debug_msg("Sent %d bytes", sent ); - return( NULL ); - + }else return( NULL ); data = __parse_vz_pkg__( &ext, &port, &type, (uint8_t *)buffer ); if( !data ){ @@ -157,5 +122,6 @@ }else return( NULL ); return( NULL ); } +*/ #endif \ No newline at end of file