Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
119:ee6a53069455
Parent:
117:e9facba9db27
Child:
121:ee02790d00b7
diff -r b93b17c50910 -r ee6a53069455 vz_protocol.h
--- a/vz_protocol.h	Fri Apr 24 13:54:24 2015 +0000
+++ b/vz_protocol.h	Thu Apr 30 15:42:41 2015 +0000
@@ -12,136 +12,140 @@
 #include <stdlib.h>
 #include <stdint.h>
 #include <string.h>
-#include "shared_variables.h" // for __RTP_HEADER_SIZE__ 
+#include <time.h>
 #include "utils.h" // for xmemcpy
 #include "bits.h"
+#include "clock.h"
+#include "debug.h"
 
-#define MIN_EXT 1
+const uint16_t SHIFT_PORT = 3000;
+
+const uint8_t MIN_EXT = 1;
 extern int begin;
 
-#define MAX_EXT 5999
+const uint16_t MAX_EXT = 5999;
 extern int end;
 
-#define __START_PKG_COUNT__ 100 
-///< Estabelece o inicio dos pacotes RTP, não utilizado atualmente
-#define UDP_PORT_LISTENER 11406 
+const uint16_t UDP_PORT_LISTENER = 11406;
 ///< Porta UDP na qual a Header espera por eventuais mensagens.
-#define TCP_PORT_LISTENER 7879 
+const uint16_t TCP_PORT_LISTENER = 7879;
 ///< Porta TCP na qual a Header espera por eventuais mensagens.
-#define UDP_BOOTLOADER_PORT 9891 
+const uint16_t UDP_BOOTLOADER_PORT = 9891;
 ///< Porta UDP para tratativas do procedimento de gravação dos CBx.
 
-#define __UDP_PORT__ 7890 
-///< Antiga porta UDP que a Header ouvia, descontinuado.
-#define __TCP_PORT__ 8709 
-///< Antiga porta TCP que a Header ouvia, descontinuado.
-
-#define __VZ_HEADER_OFFSET__ 7 
+const uint8_t VZ_HEADER_OFFSET = 7;
 ///< Indica o inicio dos dados recebidos efetivamente no pacote VZ.
-#define __CB_BUFFER_SIZE__ 300 
+const uint16_t CB_BUFFER_SIZE = 300;
 ///< Indica o numero máximo de bytes recebidos ( por pacote ) do CBx.
-#define __PROMPT_ETH_BUFFER_SIZE__ 1024 
+const uint16_t PROMPT_ETH_BUFFER_SIZE = 1024;
 ///< Representa o tamanho máximo do pacote recebido pelo prompt da Header.
-#define __CLOCK_SYNC_SIZE__ 14 
+const uint8_t CLOCK_SYNC_SIZE = 14;
 ///< Indica o numero de bytes ocupados pelo relogio no pacote transmitido.
-#define __SEQ_NUM_SIZE__ 1 
+const uint8_t SEQ_NUM_SIZE = 1;
 ///< Indica o numero de bytes ocupados para uso de sequence number.
-#define __ETH_BUFFER_SIZE__ __CB_BUFFER_SIZE__ + __RTP_HEADER_SIZE__ + 1 // 313
-///< Indica o tamanho real do pacote que será enviado do CBx para o servidor via eth
-#define __CB_AUDIO_DATA_SIZE__ 240 
+const uint8_t CB_AUDIO_DATA_SIZE = 240; 
 ///< Indica o numero de pacotes enviados pelo CBx referente a dados de audio.
-#define __CHECKSUM_OFFSET__ 7 
-///< Indica o deslocamento em relação ao começo do pacote enviado pelo CBx onde se encontra o cc.
-#define __TIMESLICE_PLACE__ 22 
+const uint8_t TIMESLICE_PLACE = 22; 
 ///< Indica o local ( em relação ao começo do pacote ) onde se encontra o timeslice.
 
-#define __MAX_CB_IN_A_BRANCH__ 52
+const uint16_t BASE_PORT = 5000;
+///< Estabelece o menor ramal aceito para tratamento
+
+const uint8_t MAX_CB_IN_A_BRANCH = 52;
 ///< Estabelece o nro máximo de CBx em um mesmo ramo
 
-#define __READ__ 0x01 
+const uint8_t READ = 0x01;
 ///< Define o estado ( na main ) de que existe um dados disponivel para leitura.
-#define __WAITING__ 0x00 
+const uint8_t WAITING = 0x00;
 ///< Define o estado ( na main ) de que esta apenas esperando por um novo pacote vindo dos CBx.
 
-#define __BOOT__ 0x00 // don't used because header do not expect acks for this type
+const uint8_t BOOT = 0x00; 
 ///< Indica o tipo boot, enviado pelo CBx, assim que o mesmo liga ou sofre reboot.
 
-#define __REGISTRY__ 0x02 
+const uint8_t REGISTRY = 0x02; 
 ///< Tipo de registro, enviado pelo CBx, quando o mesmo quer se registrar, enviado pela Header para verificar se determinado CBx ainda esta ativo.
-#define __REGISTRY_ACK_ 0x02 | BIT7
+const uint8_t REGISTRY_ACK = 0x02 | BIT7;
 
-#define __INVITE__ 0x04
+const uint8_t INVITE = 0x04;
 ///< Representa o tipo de pedido de invite, enviado pelo CBx sempre quando o mesmo quer iniciar uma ligação com o server.
+const uint8_t INVITE_ACK = 0x04 | BIT7;
 
-//#define __BL__ 0x03
-
-#define __AUDIO__ 0x08
+const uint8_t AUDIO = 0x08;
 ///< Pacotes do tipo audio são trocados entre Header e CBx durante a ligação, representam os dados RTP.
-#define __TELEMETRY__ 0x10
+
+const uint8_t TELEMETRY = 0x10;
 ///< Define o tipo de pacote de telemetria enviado pelo CBx.
-#define __BOOTLOADER_CBX__ 0x03
+
+const uint8_t BOOTLOADER_CBX = 0x03;
 ///< Define o tipo de pacote para a gravação do CBx
-#define __CB_BYE__ 0x20
+
+const uint8_t CB_BYE = 0x20;
 ///< Representa o tipo de pacote que o CBx envia para a Header solicitando o final da ligação.
-#define __PROMPT__ 0x01
+const uint8_t CB_BYE_ACK = 0x20 | BIT7;
+
+const uint8_t PROMPT = 0x01;
 ///< Identifica o tipo de pacote responsavel por mandar comandos executáveis no Cbx.
-#define __FLOOD__ 0x40
+
+const uint8_t FLOOD = 0x40;
 ///< Representa os pacotes de flood, úteis para validação de comunicação Header-CBx.
-#define __FW__ 0x50
-///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
-#define __FW1__ 0x51
+
+const uint8_t FW = 0x50;
 ///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
-#define __FW2__ 0x52
+const uint8_t FW1 = 0x51;
 ///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
-#define __FW3__ 0x53
+const uint8_t FW2 = 0x52;
+///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
+const uint8_t FW3 = 0x53;
 ///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
-#define __FW4__ 0x54
+const uint8_t FW4 = 0x54;
 ///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
-#define __FW5__ 0x55
+const uint8_t FW5 = 0x55;
 ///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
-#define __FW6__ 0x56
+const uint8_t FW6 = 0x56;
 ///< Tipo para redirecionamento semn tratamento para uma determinada porta UDP pré-configurada.
 
-#define __CB_STATS__ 0x07
-#define __CB_STATS_ACK__ 0x07 | BIT7
+const uint8_t CB_STATS = 0x07;
+const uint8_t CB_STATS_ACK = 0x07 | BIT7;
 
-#define __DO_NOTHING__ 0x7f // ~BIT7
+const uint8_t DO_NOTHING = 0x7f;
 ///< Representa o tipo de idle, importante para algumas comunicações.
 
-//#define __MY_IP__ "192.168.2.200"
-//#define __MY_IP__ "192.168.2.201"
-#define __MY_IP__ "192.168.120.171"
+const char MY_IP[] = "192.168.120.171";
 ///< Representa o IP default da Header.
-#define __MY_EXT__ 820
+//#define __MY_IP__ "192.168.2.20?" // Colinas
+//#define __MY_IP__ "192.168.1.200" // Colinas
+
+const uint16_t MY_EXT = 820;
 ///< Indica o ramal default da Header.
-#define __MY_PORT__ 5062
+
+const uint16_t MY_PORT = 5062;
 ///< Representa a porta default da Header.
 
-#define __SERVER_IP__ "192.168.120.120"
+const char SERVER_IP[] =  "192.168.120.120";
 ///< Indica o IP defaut do servidor para onde a Header ira encaminhar pedidos de ligação.
-//#define __SERVER_IP__ "192.168.30.25"
+//#define __SERVER_IP__ "192.168.30.25" // Colinas
 
-//FIXME pode dar inconssistencia.
-//#define __RTP_SEVER_IP__ "192.168.120.120"
-#define __RTP_SEVER_IP__ __SERVER_IP__
-///< Referencia ao envio de dados RTP
+const uint16_t PEER_EXT = 913;
+///< Estabelece o ramal default para onde a Header ira direcionar os pedidos de ligações.
+//#define __PEER_EXT__ 812 // VZ Producao
+//#define __PEER_EXT__ 813 // VZ Desenvolvimento
 
-#define __PEER_EXT__ 913
-///< Estabelece o ramal default para onde a Header ira direcionar os pedidos de ligações.
-//#define __PEER_EXT__ 812
-#define __SERVER_PORT__ 5075
+const uint16_t SERVER_PORT =  5075;
 ///< Indica a porta default do server para onde os pacotes eth serão enviados na negociação SIP.
-//#define __SERVER_PORT__ 5060
+//#define __SERVER_PORT__ 5060 // Colinas
 
-#define __MY_MSK__ "255.255.255.0"
+const char MY_MSK[] =  "255.255.255.0";
 ///< Indica a mascara de rede onde a Header se encontra.
-//#define __MY_GTW__ "192.168.2.254" // colinas
-#define __MY_GTW__ "192.168.120.1"  // vz
+//#define __MY_GTW__ "192.168.2.254" // Colinas
+
+const char MY_GTW[] = "192.168.120.1";  // vz
 ///< Indica o IP do Gateway de rede
 
-#define RX_CB_IDLE 300
-#define EXTERN_WDT_IDLE 630
-#define ETH_CONNECT_TIMEOUT 330
+const uint16_t RX_CB_IDLE = 300;
+const uint16_t EXTERN_WDT_IDLE = 630;
+const uint16_t ETH_CONNECT_TIMEOUT = 330;
+
+const uint16_t RTP_MSG_SIZE = 160;
 
 extern uint32_t pkg_zero; 
 ///< Contador de pacotes contendo somente zeros
@@ -170,7 +174,7 @@
  * ...
  * @endcode
  */
-uint16_t __checksum__( uint8_t * buffer, size_t length );
+uint16_t vz_checksum( uint8_t * buffer, size_t length );
 
 /* incorporar a parte de cc */
 /**
@@ -217,7 +221,7 @@
  * ...= demais __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__  bytes 
  *
  */
-uint8_t * __parse_vz_pkg__( int * ext, int * port, volatile uint8_t * type, uint8_t * cb_buffer );
+uint8_t * parse_vz_pkg( int * ext, int * port, volatile uint8_t * type, uint8_t * cb_buffer );
 
 /**
  * @Synopsis Função responsavel por montar o pacote para envio para o CBx seguindo o formato do protocolo VZ. 
@@ -243,16 +247,7 @@
  * ...
  * @endcode
  */
-uint8_t * __build_cb_package__( int ext, int port, uint8_t type, char * cb_buffer, uint8_t seq_num, int length,  uint8_t * pkg );
-
-/**
- * @Synopsis Função que seria responsavel pelo envio de pacotes eth, porém descontinuada, será removida no futuro.
- *
- * @return O pacote pronto para envio via protocolo eth.
- *
- * \note Não implementada.
- */
-char * __build_eth__package__( void );
+uint8_t * build_cb_package( int ext, int port, uint8_t type, char * cb_buffer, uint8_t seq_num, int length,  uint8_t * pkg );
 
 /**
  * @Synopsis Obtém uma referência de clock de um servidor.
@@ -267,8 +262,7 @@
  *
  * 20141105101235
  */
-void __print_clock__( uint8_t * buffer );
 
-void init_ranges( void );
+int init_ranges( void );
 
 #endif
\ No newline at end of file