Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
74:81c47fff88a5
Parent:
72:895ca792c647
Child:
78:1353744f01e1
--- a/utils.h	Wed Nov 19 14:06:13 2014 +0000
+++ b/utils.h	Mon Nov 24 16:43:16 2014 +0000
@@ -9,36 +9,13 @@
 #ifndef __UTILS_H__
 #define __UTILS_H__
 
-#include <iostream>
-#include <string.h>
-#include "debug.h"
+#include <iostream> // need for swap
 #include "mbed.h"
-#include "EthernetInterface.h"
-#include "vz_protocol.h"
-#include "vector.h"
-#include "sip.h"
-#include "call.h"
-#include "call_box.h"
-#include "timeslice.h"
-#include "parallelcpld.h"
-#include "prompt.h"
-#include "configs.h"
-#include "ring_buffer.h"
-
-extern uint8_t cb_tx_buffer[ __CB_BUFFER_SIZE__ ];
-///< Armazena o ultimo pacote enviado para os CBx
-
-extern ring_buffer * rb;
+#include "shared_variables.h"
+#include "debug.h"
 
 using namespace std;
 
-extern DigitalOut led1;
-extern DigitalOut led2;
-extern DigitalOut led3;
-extern DigitalOut led4;
-extern EthernetInterface eth;
-extern UDPSocket t_sock;
-extern Endpoint t_server;
 #define set_status(a,b) _set_status(a,b)
 #define _set_status(a,b){ \
   if( a != b ) if( debug_sip )debug_msg("Anterior %d -- Atual %d", a, b ); \
@@ -95,83 +72,6 @@
 void reset_leds( void );
 
 /**
- * @Synopsis Responsavel por inicializar as configurações iniciais de conexão eth
- *
- * @return 0 ( zero ) caso tenha uma execução bem sucedida, um numero negativo, caso contrário.
- *
- * Exemplo:
- * @code
- * ...
- *   int eth_status = __init_eth__();
- * ...
- * @endcode
- */
-int __init_eth__( void );
-
-/**
- * @Synopsis Busca por um determinado Call_box no vetor de Call_box usando como chave de busca o ramal.
- *
- * @param v_cb O vetor contendo todos os Call_box conhecidos pela Header em determinado momento.
- * @param ext O ramal pelo qual se irá buscar o CBx.
- *
- * @return NULL caso não tenha sido encontrado nenhum CBx com esse ramal; retorna um ponteiro para o Call_box que possui esse ramal,
- * caso o mesmo tenha sido encontrado.
- *
- * Exemplo:
- * @code
- * ...
- *  Vector * v_cb = new Vector();
- *      //assumindo que esse vetor de Call_Box já foi populado.
- *  int ext = 5218;
- *  Call_Box * cb = __find_CB__( v_cb, ext );
- * ...
- * @endcode
- */
-Call_Box * __find_CB__( Vector * v_cb, int ext );
-
-/**
- * @Synopsis Busca por uma determinada ligação vz_call no vetor de v_calusando como chave de busca o ramal.
- *
- * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
- * @param ext O ramal pelo qual se irá buscar a vz_call.
- *
- * @return NULL, caso essa chamada não tenha sido encontrada; um ponteiro para esta chamada, caso a mesma tenha sido encontrada.
- *
- * Exemplo:
- * @code
- * ...
- *  Vector * v_call = new Vector();
- *      //assumindo que esse vetor de VZ_call já foi populado.
- *  int ext = 5218;
- *  VZ_call * call = __find_Call__( v_call, ext );
- * ...
- * @endcode
- */
-VZ_call * __find_Call__( Vector * v_call, int ext );
-
-/**
- * @Synopsis Função responsavel por "envelhecer" os registros na Header, na prática, é essa função que pergunta de tempo
- * em tempo se o CBx ainda continua ativo; Essa função também é responsavel por remover o CBx do v_cb assim como deletar o elemento cb
- * assossiado.
- *
- * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento.
- * @param data Usado para a criação do pacote de "ping" que a Header irá enviar para o CBx.
- * @param write_buffer Local de memória onde efetivamente irá ser montado o pacote para envio ao CBx do pacote de "ping" ( Registry ).
- *
- * Exemplo:
- * @code
- * ...
- *  Vector * v_cb = new Vector();
- *      //assumindo que esse vetor de Call_Box já foi populado.
- *  uint8_t buffer[ 300 ];
- *      uint8_t write_buffer[ 300 ];
- *  registry_aging( v_cb, buffer, write_buffer );
- * ...
- * @endcode
- */
-void registry_aging( Vector * v_cb, uint8_t * data, uint8_t * write_buffer );
-
-/**
  * @Synopsis Responsavel por escutar a porta de conexão com o servidor, verificando se o mesmo mandou algum dado.
  *
  * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento.
@@ -193,68 +93,6 @@
  * ...
  * @endcode
  */
-int sip_manager( Vector * v_cb ); 
-
-/**
- * @Synopsis Responsável por remover calls por timeout.
- *
- * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
- * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento.
- * @param data Usado para a criação do pacote de "ping" que a Header irá enviar para o CBx.
- * @param write_buffer Local de memória onde efetivamente irá ser montado o pacote para envio ao CBx. 
- * @param ts O timeslice que será possivelmente devolvido.
- *
- * Exemplo:
- * @code
- * ...
- *  Vector * v_call = new Vector();
- *  Vector * v_cb = new Vector();
- *      // assumindo que os vetores já foram populados.
- *  uint8_t buffer[ 300 ];
- *      uint8_t write_buffer[ 300 ];
- *      Timeslice * ts = new Timeslice();
- *      ...
- *      call_manager( v_call, v_cb, buffer, write_buffer, ts ); 
- * ...
- * @endcode
- */
-void call_manager( Vector * v_call, Vector * v_cb, uint8_t * data, uint8_t * write_buffer, Timeslice * ts );
-
-/**
- * @Synopsis Responsavel por formatar e enviar o pacote de telemetria para o servidor de interesse.
- *
- * @param ext Ramal do CBx emissor do pacote de telemetria.
- * @param port Porta do CBx emissor do pacote de telemetria.
- * @param data Vetor contendo os dados de telemetria em si.
- *
- * Exemplo:
- * @code
- * ...
- *  ext = 5160;
- *  port = 5060;
- *  //assumindo que data_from_cb contém os dados vindos do Call_box.
- *  build_telemetry_report( ext, port, ( char * )data_from_cb );
- * ...
- * @endcode
- */
-void build_telemetry_report( int ext, int port, char * data );
-
-/**
- * @Synopsis Executa chamada para chamada de baixo nivel send2callboxes para efetivamente enviar os dados para o CBx.
- *
- * @param buffer O pacote VZ que será enviado para os CBx.
- *
- * Exemplo:
- * @code
- * ...
- * //assumindo que o pacote já foi montado em pkg.
- *  __send_to_cb__( pkg );
- * ...
- * @endcode
- */
-void __send_to_cb__( uint8_t * buffer );
-
-void tx_buffer_ring_buffer_handler( void );
 
 /**
  * @Synopsis Função usada na ordenação dos CBx para exibição no comando "ls"
@@ -277,14 +115,26 @@
 int ls_comp( const void * a, const void * b );
 
 /**
- * @Synopsis Efetivamente inicializa a conexão UDP com o server.
+ * @Synopsis Função que converte o ramal para a porta, por definição de projeto, cara ramo possui o numero da centena incremental
+ * permanecendo o resto igual, por exemplo no ramo pilo os ramais são 5000, 5001 -- no lote 1 5100, 5101 -- porem a porta sempre
+ * se manteve a mesma, o CBx esta configurado como ramal 5000 e porta 5000, assim como o ramal 5100 e porta 5000, em outras palavras
+ * dado um ramal, calcular a porta é o mesmo que eliminar a centena do numero.
+ *
+ * @param ext O ramal do qual se quer calcular a porta vinculada.
+ *
+ * @return O valor calculado da porta.
+ *
+ * Exemplo:
+ * @code
+ * ...
+ *  int ext = 5220;
+ *  int port = convert_ext_to_port( ext );
+ * ...
+ * @endcode
  */
-void init_telemetry_handler( void );
-
+int convert_ext_to_port( int ext );
 
-/**
- * @Synopsis Fecha e abre novamente a conexão UDP com o server 
- */
-void re_start_telemetry( void );
-
+void xstrcpy( uint8_t * dest, const uint8_t * src);
+void xmemcpy( uint8_t * dest, uint8_t * src, uint16_t size);
+void xmemcpy32(uint32_t * dest, uint32_t * src, uint16_t size);
 #endif
\ No newline at end of file