Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

vz_protocol.h

Committer:
klauss
Date:
2014-10-30
Revision:
67:cdedc64d9921
Parent:
64:5b011d5707d2
Child:
68:b54993674190

File content as of revision 67:cdedc64d9921:

#ifndef _VZ_PROTOCOL_H__
#define _VZ_PROTOCOL_H__

#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include "rtp.h"
#include "bits.h"
//#include "prompt.h"
// 7 + 14 + 1 == ts

#define __START_PKG_COUNT__ 100

#define UDP_PORT_LISTENER 11406
#define TCP_PORT_LISTENER 7879

#define UDP_BOOTLOADER_PORT 9891

#define __VZ_HEADER_OFFSET__ 7
#define __CB_BUFFER_SIZE__ 300
#define __PROMPT_ETH_BUFFER_SIZE__ 1024
#define __TELEMETRY_SIZE__ __CB_BUFFER_SIZE__ - ( __VZ_HEADER_OFFSET__ + __CLOCK_SYNC_SIZE__ + __SEQ_NUM_SIZE__ )
#define __ETH_BUFFER_SIZE__ __CB_BUFFER_SIZE__ + __RTP_HEADER_SIZE__ + 1 // 313  
#define __CB_AUDIO_DATA_SIZE__ 240
#define __CHECKSUM_OFFSET__ 7
#define __SEQ_NUM_SIZE__ 1
#define __CLOCK_SYNC_SIZE__ 14
#define __TIMESLICE_PLACE__ 22
#define __UDP_PORT__ 7890 /* numeros arbitrarios ... */
#define __TCP_PORT__ 8709
    
//#define __TELEMETRY_SERVER_IP__ "192.168.120.163"
#define __TELEMETRY_SERVER_IP__ "192.168.120.144"
#define __TELEMETRY_SERVER_PORT__ 9192
#define __TELEMETRY_HEADER_PORT__ 9321

#define __MAX_CB_IN_A_BRANCH__ 40
#define __READ__ 0x01
#define __WAITING__ 0x00

// types
#define __BOOT__ 0x00
#define __REGISTRY__ 0x02
#define __INVITE__ 0x04
#define __AUDIO__ 0x08
#define __TELEMETRY__ 0x10
#define __BOOTLOADER_CBX__ 0x12
#define __CB_BYE__ 0x20
#define __PROMPT__ 0x01
#define __FLOOD__ 0x40
#define __SOMETHING_3__ 0x80
#define __DO_NOTHING__ 0x99

//#define __MY_IP__ "192.168.2.200"
//#define __MY_IP__ "192.168.2.201"
#define __MY_IP__ "192.168.120.171"
#define __MY_EXT__ 820
#define __MY_PORT__ 5062

#define __SERVER_IP__ "192.168.120.120"
//#define __SERVER_IP__ "192.168.30.25"

#define __PEER_EXT__ 913
//#define __PEER_EXT__ 812
#define __SERVER_PORT__ 5075
//#define __SERVER_PORT__ 5060

#define __MY_MSK__ "255.255.255.0"
//#define __MY_GTW__ "192.168.2.254" // colinas
#define __MY_GTW__ "192.168.120.1"  // colinas

extern uint16_t pkg_ckserr;
extern uint16_t pkg_cksok;

uint16_t __checksum__( uint8_t * buffer, size_t length );

/* incorporar a parte de cc */
uint8_t * __parse_vz_pkg__( int * ext, int * port, volatile uint8_t * type, uint8_t * cb_buffer );
uint8_t * __build_cb_package__( int ext, int port, uint8_t type, char * cb_buffer, uint8_t seq_num, int length,  uint8_t * pkg );
char * __build_eth__package__( void );
void __print_clock__( uint8_t * buffer );

extern void uart3_puts(uint8_t *src, uint16_t size);

/* mais pra frente isso vira os cpld_send and cpld_receive */
uint8_t * __read_cb_buffer__( uint8_t * dest, uint8_t * src );
uint8_t * __read_eth_buffer__( uint8_t * dest, uint8_t * src );
uint8_t * __write_cb_buffer__( uint8_t * dest, uint8_t * src );
void __send_to_cb__( uint8_t * buffer );
uint8_t * __write_eth_buffer__( uint8_t * dest, uint8_t * src );


#endif