Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Tue Nov 24 14:06:22 2015 +0000
Revision:
137:32dd35a6dbc9
Parent:
135:2f4290590e51
core source of the .bin (09/21/2015) in the field

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 132:05cd37f7e007 1 %: include "vz_stdio.h"
klauss 132:05cd37f7e007 2
klauss 132:05cd37f7e007 3 Serial serial_pc ( USBTX, USBRX );
klauss 132:05cd37f7e007 4
klauss 132:05cd37f7e007 5 UDPSocket udp_client;
klauss 132:05cd37f7e007 6
klauss 132:05cd37f7e007 7 Endpoint udp_server;
klauss 132:05cd37f7e007 8
klauss 132:05cd37f7e007 9 TCPSocketServer tcp_server;
klauss 132:05cd37f7e007 10
klauss 132:05cd37f7e007 11 TCPSocketConnection tcp_client;
klauss 132:05cd37f7e007 12
klauss 132:05cd37f7e007 13 bool debug_io_eth = false;
klauss 132:05cd37f7e007 14
klauss 132:05cd37f7e007 15 bool udp_request = false;
klauss 132:05cd37f7e007 16
klauss 132:05cd37f7e007 17 bool udp_query = false;
klauss 132:05cd37f7e007 18
klauss 132:05cd37f7e007 19 bool tcp_session = false;
klauss 132:05cd37f7e007 20
klauss 132:05cd37f7e007 21 bool from_eth = false;
klauss 132:05cd37f7e007 22
klauss 132:05cd37f7e007 23 char io_msg1 [ IO_MSG_SIZE + IO_AUX_MSG_SIZE ];
klauss 132:05cd37f7e007 24
klauss 132:05cd37f7e007 25 char io_msg2 [ IO_MSG_SIZE ];
klauss 132:05cd37f7e007 26
klauss 132:05cd37f7e007 27 char io_debug_msg1 [ IO_MSG_SIZE + IO_AUX_MSG_SIZE ];
klauss 132:05cd37f7e007 28
klauss 132:05cd37f7e007 29 char io_debug_msg2 [ IO_MSG_SIZE ];
klauss 132:05cd37f7e007 30
klauss 132:05cd37f7e007 31 char io_msg_ [ IO_MSG_SIZE ];
klauss 132:05cd37f7e007 32
klauss 132:05cd37f7e007 33 int
klauss 132:05cd37f7e007 34 vz_io_eth_init ( void )
klauss 132:05cd37f7e007 35 {
klauss 132:05cd37f7e007 36 int return_value = 0;
klauss 132:05cd37f7e007 37
klauss 132:05cd37f7e007 38 int udp_bind = udp_client.bind ( u16_UDP_PORT_LISTENER );
klauss 132:05cd37f7e007 39
klauss 132:05cd37f7e007 40 udp_client.set_blocking ( false, 0 );
klauss 132:05cd37f7e007 41
klauss 132:05cd37f7e007 42 if ( debug_io_eth ) serial_pc.printf ( "udp_client.bind :: %d", udp_bind );
klauss 132:05cd37f7e007 43
klauss 132:05cd37f7e007 44 if ( udp_bind == 0 ) return_value |= BIT0;
klauss 132:05cd37f7e007 45
klauss 132:05cd37f7e007 46 int tcp_bind = tcp_server.bind ( u16_TCP_PORT_LISTENER );
klauss 132:05cd37f7e007 47
klauss 132:05cd37f7e007 48 tcp_server.set_blocking ( false, 0 );
klauss 132:05cd37f7e007 49
klauss 135:2f4290590e51 50 tcp_server.listen ();
klauss 132:05cd37f7e007 51
klauss 132:05cd37f7e007 52 if ( debug_io_eth ) serial_pc.printf ( "tcp_server.bind :: %d", tcp_bind );
klauss 132:05cd37f7e007 53
klauss 132:05cd37f7e007 54 if ( tcp_bind == 0 ) return_value |= BIT1;
klauss 132:05cd37f7e007 55
klauss 132:05cd37f7e007 56 return ( return_value );
klauss 132:05cd37f7e007 57 }
klauss 132:05cd37f7e007 58
klauss 132:05cd37f7e007 59 int
klauss 132:05cd37f7e007 60 vz_printf ( const char * format, ... )
klauss 132:05cd37f7e007 61 {
klauss 132:05cd37f7e007 62 va_list arg;
klauss 132:05cd37f7e007 63
klauss 132:05cd37f7e007 64 va_start ( arg, format );
klauss 132:05cd37f7e007 65
klauss 132:05cd37f7e007 66 int done = vsnprintf ( io_msg_, IO_MSG_SIZE -1, format, arg );
klauss 132:05cd37f7e007 67
klauss 132:05cd37f7e007 68 snprintf ( io_msg1, sizeof ( io_msg1 ) - 1, "%s\r\n> ", io_msg_ );
klauss 132:05cd37f7e007 69
klauss 132:05cd37f7e007 70 if ( debug_uart3 && !udp_query && !from_eth ) serial_pc.printf ( "%s",io_msg1 );
klauss 132:05cd37f7e007 71
klauss 132:05cd37f7e007 72 if ( tcp_session && !udp_query )
klauss 132:05cd37f7e007 73 {
klauss 132:05cd37f7e007 74 while ( !( tcp_client.send_all ( io_msg1, strlen ( io_msg1 ) ) ) );
klauss 132:05cd37f7e007 75 }
klauss 132:05cd37f7e007 76
klauss 132:05cd37f7e007 77 if ( udp_query )
klauss 132:05cd37f7e007 78 {
klauss 135:2f4290590e51 79 int send = udp_client.sendTo ( udp_server, io_msg_, strlen ( io_msg_ ) );
klauss 132:05cd37f7e007 80 if ( send not_eq strlen ( io_msg_ ) )
klauss 132:05cd37f7e007 81 {
klauss 132:05cd37f7e007 82 if ( debug_reconnect && debug_uart3 ) serial_pc.printf ("\n\rReconnect udp_query client\n\r");
klauss 132:05cd37f7e007 83 reconnect_prompt_udp_socket ();
klauss 132:05cd37f7e007 84 miss_prompt_udp_send_pkg ++;
klauss 132:05cd37f7e007 85 }
klauss 132:05cd37f7e007 86 }
klauss 132:05cd37f7e007 87
klauss 132:05cd37f7e007 88 va_end ( arg );
klauss 132:05cd37f7e007 89
klauss 132:05cd37f7e007 90 return done;
klauss 132:05cd37f7e007 91 }
klauss 132:05cd37f7e007 92
klauss 132:05cd37f7e007 93 void
klauss 132:05cd37f7e007 94 udp_query_send_msg ( char * msg )
klauss 132:05cd37f7e007 95 {
klauss 132:05cd37f7e007 96 if ( ( msg != NULL ) && ( strlen ( msg ) > 0 ) )
klauss 132:05cd37f7e007 97 {
klauss 132:05cd37f7e007 98 int send = udp_client.sendTo ( udp_server, msg, strlen ( msg ) );
klauss 132:05cd37f7e007 99
klauss 132:05cd37f7e007 100 if( send not_eq strlen ( msg ) )
klauss 132:05cd37f7e007 101 {
klauss 132:05cd37f7e007 102 reconnect_prompt_udp_socket ();
klauss 132:05cd37f7e007 103 miss_prompt_udp_send_pkg ++;
klauss 132:05cd37f7e007 104 }
klauss 132:05cd37f7e007 105 }
klauss 132:05cd37f7e007 106 }