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 69:65665afbad5d 1 /**
klauss 69:65665afbad5d 2 * @file utils.h
klauss 69:65665afbad5d 3 * @Synopsis Funções de propósito geral são encontradas nesse arquivo.
klauss 69:65665afbad5d 4 * @author Jhonatan Casale
klauss 69:65665afbad5d 5 * @version 1
klauss 69:65665afbad5d 6 * @date 2014-11-06
klauss 69:65665afbad5d 7 */
klauss 69:65665afbad5d 8
klauss 0:4d17cd9c8f9d 9 #ifndef __UTILS_H__
klauss 0:4d17cd9c8f9d 10 #define __UTILS_H__
klauss 0:4d17cd9c8f9d 11
klauss 74:81c47fff88a5 12 #include "shared_variables.h"
klauss 121:ee02790d00b7 13 #include <stdint.h>
klauss 69:65665afbad5d 14
klauss 69:65665afbad5d 15 /**
klauss 69:65665afbad5d 16 * @Synopsis Responsavel por escutar a porta de conexão com o servidor, verificando se o mesmo mandou algum dado.
klauss 69:65665afbad5d 17 *
klauss 69:65665afbad5d 18 * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento.
klauss 69:65665afbad5d 19 * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
klauss 69:65665afbad5d 20 *
klauss 69:65665afbad5d 21 * @return 0 ( zero ) se tudo correu bem, um numero menor do que zero, caso algum problema tenha acontecido na execusão, e um numero
klauss 69:65665afbad5d 22 * maior que zero indicando o ramal que deve ser removido do vetor de ligações.
klauss 69:65665afbad5d 23 *
klauss 69:65665afbad5d 24 * Exemplo:
klauss 69:65665afbad5d 25 * @code
klauss 69:65665afbad5d 26 * ...
klauss 69:65665afbad5d 27 * Vector * v_cb = new Vector();
klauss 69:65665afbad5d 28 * Vector * v_call = new Vector();
klauss 69:65665afbad5d 29 * // assumindo que os vetores já foram populados.
klauss 69:65665afbad5d 30 * int ret = sip_manager( v_cb, v_call );
klauss 69:65665afbad5d 31 * if( ret > 0x00 ){
klauss 69:65665afbad5d 32 * // tratar esse request
klauss 69:65665afbad5d 33 * }
klauss 69:65665afbad5d 34 * ...
klauss 69:65665afbad5d 35 * @endcode
klauss 69:65665afbad5d 36 */
klauss 72:895ca792c647 37
klauss 69:65665afbad5d 38 /**
klauss 69:65665afbad5d 39 * @Synopsis Função usada na ordenação dos CBx para exibição no comando "ls"
klauss 69:65665afbad5d 40 *
klauss 69:65665afbad5d 41 * @param a O primeiro ramal que se quer comparar.
klauss 69:65665afbad5d 42 * @param b O segundo ramal que se quer comparar.
klauss 69:65665afbad5d 43 *
klauss 69:65665afbad5d 44 * @return 0 ( zero ) se os valores forem iguais, maior que zero, se o primeiro valor ser maior que o segundo e retorna um numero
klauss 69:65665afbad5d 45 * negativo, caso o segundo valor seja maior que o primeiro.
klauss 69:65665afbad5d 46 *
klauss 69:65665afbad5d 47 * Exemplo:
klauss 69:65665afbad5d 48 * @code
klauss 69:65665afbad5d 49 * ...
klauss 69:65665afbad5d 50 * int a = 10;
klauss 69:65665afbad5d 51 * int b = 119;
klauss 69:65665afbad5d 52 * int result = ls_comp( ( const void * )&a, ( const void * )&b );
klauss 69:65665afbad5d 53 * ...
klauss 69:65665afbad5d 54 * @endcode
klauss 69:65665afbad5d 55 */
klauss 121:ee02790d00b7 56 int ls_comp ( const void * a, const void * b );
klauss 0:4d17cd9c8f9d 57
klauss 124:c1b6c893e1c3 58 int wake_comp ( const void * a, const void * b );
klauss 124:c1b6c893e1c3 59
klauss 69:65665afbad5d 60 /**
klauss 74:81c47fff88a5 61 * @Synopsis Função que converte o ramal para a porta, por definição de projeto, cara ramo possui o numero da centena incremental
klauss 74:81c47fff88a5 62 * permanecendo o resto igual, por exemplo no ramo pilo os ramais são 5000, 5001 -- no lote 1 5100, 5101 -- porem a porta sempre
klauss 74:81c47fff88a5 63 * 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
klauss 74:81c47fff88a5 64 * dado um ramal, calcular a porta é o mesmo que eliminar a centena do numero.
klauss 74:81c47fff88a5 65 *
klauss 74:81c47fff88a5 66 * @param ext O ramal do qual se quer calcular a porta vinculada.
klauss 74:81c47fff88a5 67 *
klauss 74:81c47fff88a5 68 * @return O valor calculado da porta.
klauss 74:81c47fff88a5 69 *
klauss 74:81c47fff88a5 70 * Exemplo:
klauss 74:81c47fff88a5 71 * @code
klauss 74:81c47fff88a5 72 * ...
klauss 74:81c47fff88a5 73 * int ext = 5220;
klauss 74:81c47fff88a5 74 * int port = convert_ext_to_port( ext );
klauss 74:81c47fff88a5 75 * ...
klauss 74:81c47fff88a5 76 * @endcode
klauss 69:65665afbad5d 77 */
klauss 121:ee02790d00b7 78 int convert_ext_to_port ( int ext );
klauss 69:65665afbad5d 79
klauss 78:1353744f01e1 80 void xmemcpy( uint8_t * dest, const uint8_t * src, uint16_t size );
klauss 78:1353744f01e1 81 void xmemcpy32( uint32_t * dest, uint32_t * src, uint16_t size );
klauss 78:1353744f01e1 82 uint8_t xstrmatch( const uint8_t * s1, const uint8_t * s2 );
klauss 81:3656f00ab3db 83 uint8_t xmemmatch(const uint8_t * s1, const uint8_t * s2, uint16_t size);
klauss 117:e9facba9db27 84
klauss 119:ee6a53069455 85 int hex_init(void);
klauss 119:ee6a53069455 86 char * hex8 (uint8_t i);
klauss 119:ee6a53069455 87 char * hex16 (uint16_t i);
klauss 117:e9facba9db27 88
klauss 0:4d17cd9c8f9d 89 #endif