Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Wed May 13 14:25:57 2015 +0000
Revision:
124:c1b6c893e1c3
Parent:
123:1d395b5a4cad
Child:
126:1f90756250fb
wip__

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 74:81c47fff88a5 1 #ifndef __SHARED_VARIABLES_H__
klauss 74:81c47fff88a5 2 #define __SHARED_VARIABLES_H__
klauss 74:81c47fff88a5 3
klauss 121:ee02790d00b7 4 #include "EthernetInterface.h"
klauss 74:81c47fff88a5 5 #include "mbed.h"
klauss 121:ee02790d00b7 6
klauss 121:ee02790d00b7 7 const uint16_t UDP_PORT_LISTENER = 11406;
klauss 121:ee02790d00b7 8 ///< Porta UDP na qual a Header espera por eventuais mensagens.
klauss 121:ee02790d00b7 9
klauss 121:ee02790d00b7 10 const uint16_t TCP_PORT_LISTENER = 7879;
klauss 121:ee02790d00b7 11 ///< Porta TCP na qual a Header espera por eventuais mensagens.
klauss 121:ee02790d00b7 12
klauss 121:ee02790d00b7 13 const uint16_t UDP_BOOTLOADER_PORT = 9891;
klauss 121:ee02790d00b7 14 ///< Porta UDP para tratativas do procedimento de gravação dos CBx.
klauss 121:ee02790d00b7 15
klauss 121:ee02790d00b7 16 const uint16_t EXTERN_WDT_IDLE = 630;
klauss 121:ee02790d00b7 17 ///< Tempo maximo ( countdown em segundos ) que a Header espera por algum tick do wdt externo ( via UDP ), deixa de tickar o wdt quando chega em zero.
klauss 121:ee02790d00b7 18
klauss 121:ee02790d00b7 19 const uint8_t READ = 0x01;
klauss 121:ee02790d00b7 20 ///< Define o estado ( na main ) de que existe um dados disponivel para leitura.
klauss 121:ee02790d00b7 21
klauss 121:ee02790d00b7 22 const uint8_t WAITING = 0x00;
klauss 121:ee02790d00b7 23 ///< Define o estado ( na main ) de que esta apenas esperando por um novo pacote vindo dos CBx.
klauss 121:ee02790d00b7 24
klauss 121:ee02790d00b7 25 const uint16_t CB_BUFFER_SIZE = 300;
klauss 121:ee02790d00b7 26 ///< Indica o numero máximo de bytes recebidos ( por pacote ) do CBx.
klauss 74:81c47fff88a5 27
klauss 74:81c47fff88a5 28 extern bool from_eth;
klauss 74:81c47fff88a5 29 ///< Variável de controle que indica se o comando processado veio do teclado ( serial ) ou se via eth.
klauss 74:81c47fff88a5 30
klauss 74:81c47fff88a5 31 extern bool tcp_session;
klauss 74:81c47fff88a5 32 ///< Variável de controle que indica se estamos ou não em uma sessão TCP com algum usuàrio.
klauss 74:81c47fff88a5 33
klauss 74:81c47fff88a5 34 extern TCPSocketServer tcp_server;
klauss 74:81c47fff88a5 35 ///< Socket responsavel por ouvir determinado porta TCP.
klauss 74:81c47fff88a5 36
klauss 74:81c47fff88a5 37 extern TCPSocketConnection tcp_client;
klauss 114:472502b31a12 38 ///< Representa a presença de algum cliente logado em uma sessão TCP.
klauss 74:81c47fff88a5 39
klauss 119:ee6a53069455 40 extern bool human_session;
klauss 119:ee6a53069455 41
klauss 119:ee6a53069455 42 extern Endpoint udp_server;
klauss 74:81c47fff88a5 43 ///< Socket responsavel por ouvir determinada porta udp.
klauss 74:81c47fff88a5 44
klauss 119:ee6a53069455 45 extern UDPSocket udp_client;
klauss 74:81c47fff88a5 46 ///< Representa a presença de algum cliente udp.
klauss 74:81c47fff88a5 47
klauss 114:472502b31a12 48 extern bool udp_request;
klauss 121:ee02790d00b7 49
klauss 119:ee6a53069455 50 extern bool udp_query;
klauss 74:81c47fff88a5 51 ///< Variável de controle que nos diz se trata-se de um request vindo da porta UDP.
klauss 74:81c47fff88a5 52
klauss 75:bd3c647b860b 53 extern bool debug_alive;
klauss 74:81c47fff88a5 54 ///< Variável de controle que ativa o debug de impressao periódica dos cbx registrados na lógica.
klauss 74:81c47fff88a5 55
klauss 74:81c47fff88a5 56 extern Timer udp_timer;
klauss 74:81c47fff88a5 57 ///< Timer controlador do timeout de requests UDP.
klauss 74:81c47fff88a5 58
klauss 74:81c47fff88a5 59 extern bool reset_cks;
klauss 74:81c47fff88a5 60 ///< Variável de controle que reseta os contadores de cks dos pacotes.
klauss 74:81c47fff88a5 61
klauss 75:bd3c647b860b 62 extern bool pcks_s;
klauss 74:81c47fff88a5 63 ///< Variável de controle que ativa a exibição dos contadores de cks dos pacotes.
klauss 74:81c47fff88a5 64
klauss 75:bd3c647b860b 65 extern bool pshowcb;
klauss 74:81c47fff88a5 66 ///< Variável de controle que ativa a exibição dos CBx registrados.
klauss 74:81c47fff88a5 67
klauss 74:81c47fff88a5 68 extern bool list;
klauss 74:81c47fff88a5 69 ///< Variável de controle para listar os CBx registrados na lógica da Header.
klauss 74:81c47fff88a5 70 extern bool rx;
klauss 74:81c47fff88a5 71 ///< Variável de controle para exibição do ultima pacote recebido dos CBx
klauss 74:81c47fff88a5 72 extern bool tx;
klauss 74:81c47fff88a5 73 ///< Variável de controle para exibição do ultimo pacote enviado para o CBx.
klauss 74:81c47fff88a5 74 extern bool stats;
klauss 74:81c47fff88a5 75 ///< Variável de controle para exibição dos contadores de pacotes recebidos por tipo.
klauss 74:81c47fff88a5 76 extern bool r_stats;
klauss 74:81c47fff88a5 77 ///< Variável de controle para resetar os contadores de pacotes recebidos por tipo.
klauss 74:81c47fff88a5 78
klauss 119:ee6a53069455 79 extern uint32_t boot_counter;
klauss 74:81c47fff88a5 80 ///< Contador dos pacotes de BOOT recebidos
klauss 74:81c47fff88a5 81
klauss 119:ee6a53069455 82 extern uint32_t registry_counter;
klauss 74:81c47fff88a5 83 ///< Contador dos pacotes de REGISTRY recebidos
klauss 74:81c47fff88a5 84
klauss 119:ee6a53069455 85 extern uint32_t invite_counter;
klauss 74:81c47fff88a5 86 ///< Contador dos pacotes de INVITE recebidos
klauss 74:81c47fff88a5 87
klauss 119:ee6a53069455 88 extern uint32_t audio_counter;
klauss 74:81c47fff88a5 89 ///< Contador dos pacotes de AUDIO recebidos
klauss 74:81c47fff88a5 90
klauss 119:ee6a53069455 91 extern uint32_t telemetry_counter;
klauss 74:81c47fff88a5 92 ///< Contador dos pacotes de TELEMETRY recebidos
klauss 74:81c47fff88a5 93
klauss 119:ee6a53069455 94 extern uint32_t cb_stats_counter;
klauss 99:e80850c51106 95
klauss 119:ee6a53069455 96 extern uint32_t cb_bye_counter;
klauss 74:81c47fff88a5 97 ///< Contador dos pacotes de CB_BYE recebidos
klauss 74:81c47fff88a5 98
klauss 119:ee6a53069455 99 extern uint32_t prompt_counter;
klauss 74:81c47fff88a5 100 ///< Contador dos pacotes de PROMPT recebidos
klauss 74:81c47fff88a5 101
klauss 119:ee6a53069455 102 extern uint32_t flood_counter;
klauss 74:81c47fff88a5 103 ///< Contador dos pacotes de FLOOD recebidos
klauss 74:81c47fff88a5 104
klauss 119:ee6a53069455 105 extern uint32_t bootloader_cbx_counter;
klauss 74:81c47fff88a5 106 ///< Contador dos pacotes de BOOTLOADER_CBX recebidos
klauss 74:81c47fff88a5 107
klauss 119:ee6a53069455 108 extern uint32_t out_of_range;
klauss 79:9bc12aa305a9 109 ///< Contador de pacotes recebidos fora do range.
klauss 79:9bc12aa305a9 110
klauss 119:ee6a53069455 111 extern uint32_t fw_counter;
klauss 119:ee6a53069455 112
klauss 74:81c47fff88a5 113 extern Serial pc;
klauss 74:81c47fff88a5 114 ///< Objeto que possibilita a excrita ( via printf ) de texto na serial
klauss 74:81c47fff88a5 115
klauss 78:1353744f01e1 116 extern volatile uint8_t status;
klauss 78:1353744f01e1 117
klauss 81:3656f00ab3db 118 extern uint16_t external_wdt;
klauss 81:3656f00ab3db 119
klauss 74:81c47fff88a5 120 extern DigitalOut led1;
klauss 74:81c47fff88a5 121 extern DigitalOut led2;
klauss 74:81c47fff88a5 122 extern DigitalOut led3;
klauss 74:81c47fff88a5 123 extern DigitalOut led4;
klauss 74:81c47fff88a5 124 extern DigitalOut CAB_LED;
klauss 74:81c47fff88a5 125
klauss 80:61d61c9eb75c 126 extern int max_ext;
klauss 80:61d61c9eb75c 127 extern int min_ext;
klauss 81:3656f00ab3db 128 extern uint32_t missed_pkg;
klauss 99:e80850c51106 129 extern uint32_t cpld_pkg_tx_counter;
klauss 99:e80850c51106 130 extern uint32_t cpld_pkg_rx_counter;
klauss 85:b6f2dc1d0f4f 131 extern uint8_t cb_new_counter;
klauss 85:b6f2dc1d0f4f 132 extern uint8_t cb_delete_counter;
klauss 85:b6f2dc1d0f4f 133 extern uint8_t sip_new_counter;
klauss 85:b6f2dc1d0f4f 134 extern uint8_t sip_delete_counter;
klauss 87:679ee0d594a9 135 extern uint16_t rtp_header_new_counter;
klauss 87:679ee0d594a9 136 extern uint16_t rtp_body_new_counter;
klauss 87:679ee0d594a9 137 extern uint16_t rtp_header_delete_counter;
klauss 87:679ee0d594a9 138 extern uint16_t rtp_body_delete_counter;
klauss 91:c2a86b1f8aaa 139 extern uint16_t call_new_counter;
klauss 91:c2a86b1f8aaa 140 extern uint16_t call_delete_counter;
klauss 86:bf7b0d4c3232 141 extern volatile uint16_t received_cpld_pkg;
klauss 87:679ee0d594a9 142 extern bool memory_is_over;
klauss 92:92df17f538a8 143 extern uint16_t sip_socket_send_failure;
klauss 97:8985817e8847 144 extern bool show_sip;
klauss 114:472502b31a12 145 extern uint32_t delayed_pkg_to_cb;
klauss 119:ee6a53069455 146 extern uint16_t miss_prompt_udp_send_pkg;
klauss 119:ee6a53069455 147 extern uint16_t miss_prompt_udp_rcv_pkg;
klauss 109:a5b8264ffbbc 148 extern int print_this_cb;
klauss 109:a5b8264ffbbc 149 extern int print_hex_this_cb;
klauss 119:ee6a53069455 150 extern uint16_t miss_prompt_udp_rcv_pkg;
klauss 109:a5b8264ffbbc 151 extern int print_this_sip;
klauss 119:ee6a53069455 152 extern uint16_t miss_prompt_udp_send_pkg;
klauss 109:a5b8264ffbbc 153 extern int print_hex_this_sip;
klauss 109:a5b8264ffbbc 154 extern int print_this_call;
klauss 109:a5b8264ffbbc 155 extern int print_hex_this_call;
klauss 109:a5b8264ffbbc 156 extern int print_this_rtp;
klauss 109:a5b8264ffbbc 157 extern int print_hex_this_rtp;
klauss 109:a5b8264ffbbc 158 extern int frtp_target;
klauss 109:a5b8264ffbbc 159 extern int rescue_rtp_target;
klauss 109:a5b8264ffbbc 160 extern int rescue_rtp_value;
klauss 119:ee6a53069455 161 extern uint32_t uptime;
klauss 119:ee6a53069455 162 extern uint8_t drop_this_amount_of_ack_to_ast;
klauss 119:ee6a53069455 163 extern bool extern_process;
klauss 119:ee6a53069455 164 extern uint16_t string_msg_overflow;
klauss 119:ee6a53069455 165 extern bool test_flag_unusual;
klauss 123:1d395b5a4cad 166 extern bool show_time;
klauss 124:c1b6c893e1c3 167 extern bool dont_say_hello_again;
klauss 124:c1b6c893e1c3 168 extern bool reverse_list;
klauss 124:c1b6c893e1c3 169 extern bool show_hello_status;
klauss 124:c1b6c893e1c3 170 extern bool request_clock_now;
klauss 124:c1b6c893e1c3 171 extern bool show_wake_all_up_status;
klauss 124:c1b6c893e1c3 172 extern bool wake_all;
klauss 124:c1b6c893e1c3 173 extern uint16_t end_call_ext;
klauss 124:c1b6c893e1c3 174 extern bool end_call;
klauss 92:92df17f538a8 175
klauss 121:ee02790d00b7 176 const uint8_t RTP_HEADER_OFFSET = 12;
klauss 74:81c47fff88a5 177 ///< Identifica o inicio dos dados de audio ( payload )
klauss 121:ee02790d00b7 178 const uint8_t RTP_HEADER_SIZE = 12;
klauss 74:81c47fff88a5 179 ///< Indica o tamanho ( em bytes ) ocupado pelo cabeçalho rtp.
klauss 74:81c47fff88a5 180
klauss 119:ee6a53069455 181 void udp_query_send_msg( char * msg );
klauss 119:ee6a53069455 182
klauss 119:ee6a53069455 183 /*
klauss 119:ee6a53069455 184 inline void reconnect_prompt_udp_socket ( void )
klauss 119:ee6a53069455 185 {
klauss 119:ee6a53069455 186 udp_client.close ();
klauss 119:ee6a53069455 187 udp_client.bind ( UDP_PORT_LISTENER );
klauss 119:ee6a53069455 188 }
klauss 119:ee6a53069455 189 */
klauss 119:ee6a53069455 190
klauss 119:ee6a53069455 191 //FIXME turn to an inline function
klauss 121:ee02790d00b7 192 inline void reconnect_prompt_udp_socket ( void ) {
klauss 121:ee02790d00b7 193 udp_client.close ();
klauss 121:ee02790d00b7 194 udp_client.bind ( UDP_PORT_LISTENER );
klauss 119:ee6a53069455 195 }
klauss 119:ee6a53069455 196
klauss 74:81c47fff88a5 197 #endif