Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
121:ee02790d00b7
Parent:
120:770f00554b1e
Child:
122:480c44b0e205
--- a/clock.cpp	Mon May 04 17:25:29 2015 +0000
+++ b/clock.cpp	Fri May 08 04:15:23 2015 +0000
@@ -1,4 +1,4 @@
-#include "clock.h"
+#include "header_app_includes.h"
 
 time_t current_time = 0;
 
@@ -8,6 +8,8 @@
 
 Timer server_clock_timer;
 
+extern const char SERVER_IP[]; // definido em vz_protocol.h
+
 int request_clock_to_server ( void )
 {
     char clock_msg[ TIME_MSG_SIZE ];
@@ -16,12 +18,11 @@
      
     clock_msg [ 0 ] = 0x23;
     
-    //int send = clock_sock.sendTo( clock_server, clock_msg, strlen( clock_msg ) );
-    int send = clock_sock.sendTo( clock_server, clock_msg, sizeof ( clock_msg ) );
+    int send = clock_sock.sendTo ( clock_server, clock_msg, sizeof ( clock_msg ) );
     
     if ( debug_clock ) debug_msg("::%d::%s::%s::%d::", send, clock_msg, clock_server.get_address (), clock_server.get_port () );
     
-    if ( send != strlen( clock_msg ) )
+    if ( send != sizeof ( clock_msg ) )
     {
         if( debug_reconnect ) debug_msg("Reconnect clock request" );
         clock_sock_reconnect ();
@@ -53,7 +54,7 @@
     
     Endpoint local_clock_server;
     
-    int time_msg_rcv = clock_sock.receiveFrom( local_clock_server, time_msg, sizeof( time_msg ) );
+    int time_msg_rcv = clock_sock.receiveFrom ( local_clock_server, time_msg, sizeof( time_msg ) );
     
     if( time_msg_rcv == -1 )
     {
@@ -94,21 +95,44 @@
     
     if ( debug_clock ) debug_msg("Clock.rcv ( %d ), diff [ %d ] ", local_current_time, diff_time );
     
-    return 0;
+    return ( local_current_time - current_time );
 }
 
 int init_clock ( void )
 {   
-    const char host[] = "192.168.120.120";
-    int port = 123;
-    
-    int clock_server_set_address_ret = clock_server.set_address( host , port );
+    char server_ip [ 16 ];
+
+    FILE * fp = fopen ( "/qspi/serverip.txt", "r");
+    if ( fp == NULL)
+    {
+        if ( debug_sip ) debug_msg("Failed to open /qspi/serverip.txt" );
+        strncpy ( server_ip, SERVER_IP, 20 );    
+    } else {
+        char tmp [ 16 ] = "\0";
+        int read = fread ( tmp, 1, 15, fp );
+        if ( read > 0 ){
+            for ( int i = 0; i < read; i++ ) 
+                if ( tmp [ i ] == '\n' || tmp[ i ] == '\r' ){
+                     tmp [ i ] = '\0';
+                    break;
+                }
+            strcpy ( server_ip, tmp );
+            if ( debug_sip ) debug_msg ("ip server%s( read %d chars ), valid %d", server_ip, read, strlen( server_ip )  );
+        }else{
+            if ( debug_sip ) debug_msg ("Failed to read /qspi/serverip.txt" );
+            strncpy ( server_ip, SERVER_IP, 20 );
+        }
+    }
+    fclose ( fp );
+    server_ip [ 15 ] = '\0';
+
+    int clock_server_set_address_ret = clock_server.set_address( server_ip, CLOCK_SERVER_PORT );
     
     if ( debug_clock ) debug_msg("clock_server_set_address_ret :: %d", clock_server_set_address_ret );
     
     clock_sock.set_blocking( false, 0 );
     
-    int clock_sock_bind_ret = clock_sock.bind( 8975 );
+    int clock_sock_bind_ret = clock_sock.bind( CLOCK_HEADER_PORT );
     
     if ( debug_clock ) debug_msg("clock_sock_bind_ret ::%d", clock_sock_bind_ret );
     
@@ -125,7 +149,7 @@
     
     clock_sock.set_blocking ( false, 0 );
     
-    int clock_sock_bind_ret = clock_sock.bind ( 8975 );
+    int clock_sock_bind_ret = clock_sock.bind ( CLOCK_HEADER_PORT );
     
     return ( clock_sock_bind_ret );    
 }
@@ -210,5 +234,5 @@
     
     send_msg( "%s", buffer );
     
-    return ( 0 );
+    return ( strlen ( buffer ) );
 }
\ No newline at end of file