VZTECH / Mbed 2 deprecated main_src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

telemetry.h

Committer:
klauss
Date:
2014-11-24
Revision:
74:81c47fff88a5

File content as of revision 74:81c47fff88a5:

#ifndef __TELEMETRY_H__
#define __TELEMETRY_H__

#include "mbed.h"
#include "EthernetInterface.h"
#include "vz_protocol.h" // for __CB_BUFFER_SIZE__
#include "utils.h" // for itoa();
#include "debug.h" // for [ en | dis ]able debugs

#define __TELEMETRY_SERVER_IP__ "192.168.120.144"
///< Estabelece o IP default para onde os dados de telemetria são enviados.
#define __TELEMETRY_SERVER_PORT__ 9192 
///< Estabelece a porta default do servidor  para onde os dados de telemetria são enviados
#define __TELEMETRY_HEADER_PORT__ 9321 
///< Estabelece a porta default da Header, de onde os pacotes de telemetria são enviados.
#define __TELEMETRY_SIZE__ __CB_BUFFER_SIZE__ - ( __VZ_HEADER_OFFSET__ + __CLOCK_SYNC_SIZE__ + __SEQ_NUM_SIZE__ )
///< Indica o nro de bytes efetivos no envio de um pacote de telemetria

/**
 * @Synopsis Efetivamente inicializa a conexão UDP com o server.
 */
void init_telemetry_handler( void );

/**
 * @Synopsis Fecha e abre novamente a conexão UDP com o server 
 */
void re_start_telemetry( void );

/**
 * @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 );

extern UDPSocket t_sock;
///< Canal de entrada/saida de dados entre Header/Server
extern Endpoint t_server;
///< Representação do link com o server pro qual os pacotes são enviados.

#endif