voltando a versao de n aberturas e fechamentos de sockets data 19/09

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed EALib

Fork of header_main_publish by VZTECH

Committer:
klauss
Date:
Sat Sep 20 11:27:47 2014 +0000
Revision:
19:ab2088e0dec6
Parent:
0:4d17cd9c8f9d
colinas_02

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 0:4d17cd9c8f9d 1 #ifndef __TEST_H__
klauss 0:4d17cd9c8f9d 2 #define __TEST_H__
klauss 0:4d17cd9c8f9d 3
klauss 0:4d17cd9c8f9d 4 typedef struct{
klauss 0:4d17cd9c8f9d 5 uint8_t * buffer_ptr;
klauss 0:4d17cd9c8f9d 6 volatile uint8_t * status_ptr;
klauss 0:4d17cd9c8f9d 7 int * dest_ext;
klauss 0:4d17cd9c8f9d 8 bool * __symbolic_flag__;
klauss 0:4d17cd9c8f9d 9 }test_control;
klauss 0:4d17cd9c8f9d 10
klauss 0:4d17cd9c8f9d 11 void _unit_test_( void const * args );
klauss 0:4d17cd9c8f9d 12
klauss 0:4d17cd9c8f9d 13 //#define test_mode_on
klauss 0:4d17cd9c8f9d 14 #ifdef test_mode_on
klauss 0:4d17cd9c8f9d 15
klauss 0:4d17cd9c8f9d 16 void test_registry( void const * args );
klauss 0:4d17cd9c8f9d 17 void test_aging_registry( void const * args );
klauss 0:4d17cd9c8f9d 18 void __unit_test_invite__( void const * args );
klauss 0:4d17cd9c8f9d 19 void test_many_cb_registry( void const * args );
klauss 0:4d17cd9c8f9d 20 void change_buffer( void const * args );
klauss 0:4d17cd9c8f9d 21 void unit_test_cb_to_server( void const * args );
klauss 0:4d17cd9c8f9d 22 void unit_test_cb_from_server( void const * args );
klauss 0:4d17cd9c8f9d 23
klauss 0:4d17cd9c8f9d 24 void change_buffer( void const * args ){
klauss 0:4d17cd9c8f9d 25 if( args != NULL ){
klauss 0:4d17cd9c8f9d 26 uint8_t * buffer = ( uint8_t *)args;
klauss 0:4d17cd9c8f9d 27 uint8_t ref = 0x21;
klauss 0:4d17cd9c8f9d 28 while( true ){
klauss 0:4d17cd9c8f9d 29 for( register int i = 0; i < __CB_BUFFER_SIZE__ - 5 ; i++ ) buffer[ i ] = ref;
klauss 0:4d17cd9c8f9d 30 ref++;
klauss 0:4d17cd9c8f9d 31 }
klauss 0:4d17cd9c8f9d 32 }
klauss 0:4d17cd9c8f9d 33 }
klauss 0:4d17cd9c8f9d 34
klauss 0:4d17cd9c8f9d 35 void unit_test_cb_to_server( void const * args ){
klauss 0:4d17cd9c8f9d 36 if( args != NULL ){
klauss 0:4d17cd9c8f9d 37 test_control * tc = ( test_control * )args;
klauss 0:4d17cd9c8f9d 38
klauss 0:4d17cd9c8f9d 39 /* Como vai acontecer esse teste
klauss 0:4d17cd9c8f9d 40 o que eu tenho que mudar no buffer
klauss 0:4d17cd9c8f9d 41 mandar o invite da primeira chamada, depois mandar o invite da segunda chamada depois ficar trocando dados
klauss 0:4d17cd9c8f9d 42 */
klauss 0:4d17cd9c8f9d 43 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 44 tc->buffer_ptr[ 1 ] = 0x59; // ext 857
klauss 0:4d17cd9c8f9d 45 tc->buffer_ptr[ 2 ] = 0x12;
klauss 0:4d17cd9c8f9d 46 tc->buffer_ptr[ 3 ] = 0x12; // port 4626
klauss 0:4d17cd9c8f9d 47 tc->buffer_ptr[ 4 ] = __INVITE__;
klauss 0:4d17cd9c8f9d 48 *( tc->status_ptr ) = (uint8_t)0x01;
klauss 0:4d17cd9c8f9d 49 while( *( tc->status_ptr ) == 0x01 ) continue;
klauss 0:4d17cd9c8f9d 50
klauss 0:4d17cd9c8f9d 51 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 52 tc->buffer_ptr[ 1 ] = 0x79; // ext 889
klauss 0:4d17cd9c8f9d 53 tc->buffer_ptr[ 2 ] = 0x12;
klauss 0:4d17cd9c8f9d 54 tc->buffer_ptr[ 3 ] = 0x13; // port 4627
klauss 0:4d17cd9c8f9d 55 tc->buffer_ptr[ 4 ] = __INVITE__;
klauss 0:4d17cd9c8f9d 56 *( tc->status_ptr ) = (uint8_t)0x01;
klauss 0:4d17cd9c8f9d 57 while( *( tc->status_ptr ) == 0x01 ) continue;
klauss 0:4d17cd9c8f9d 58
klauss 0:4d17cd9c8f9d 59 led3 = 1;
klauss 0:4d17cd9c8f9d 60 tc->buffer_ptr[ 4 ] = __AUDIO__;
klauss 0:4d17cd9c8f9d 61 Timer time_out;
klauss 0:4d17cd9c8f9d 62 time_out.start();
klauss 0:4d17cd9c8f9d 63 while( time_out.read() < 10 ){
klauss 0:4d17cd9c8f9d 64 while( *( tc->status_ptr ) == 0x01 ) continue; // nao posso escrever se isso nao estiver em 0
klauss 0:4d17cd9c8f9d 65 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 66 tc->buffer_ptr[ 1 ] = 0x59; // ext 857
klauss 0:4d17cd9c8f9d 67 tc->buffer_ptr[ 2 ] = 0x12;
klauss 0:4d17cd9c8f9d 68 tc->buffer_ptr[ 3 ] = 0x12; // port 4626
klauss 0:4d17cd9c8f9d 69 *(tc->dest_ext) = 813;
klauss 0:4d17cd9c8f9d 70 *(tc->status_ptr) = (uint8_t)0x01;
klauss 0:4d17cd9c8f9d 71
klauss 0:4d17cd9c8f9d 72 while( *( tc->status_ptr ) == 0x01 ) continue; // nao posso escrever se isso nao estiver em 0
klauss 0:4d17cd9c8f9d 73 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 74 tc->buffer_ptr[ 1 ] = 0x79; // ext 889
klauss 0:4d17cd9c8f9d 75 tc->buffer_ptr[ 2 ] = 0x12;
klauss 0:4d17cd9c8f9d 76 tc->buffer_ptr[ 3 ] = 0x13; // port 4627
klauss 0:4d17cd9c8f9d 77 *(tc->dest_ext) = 814; // ??? confirmar nro do ramal
klauss 0:4d17cd9c8f9d 78 *(tc->status_ptr) = (uint8_t)0x01;
klauss 0:4d17cd9c8f9d 79 }
klauss 0:4d17cd9c8f9d 80 led3 = 0;
klauss 0:4d17cd9c8f9d 81 }
klauss 0:4d17cd9c8f9d 82 }
klauss 0:4d17cd9c8f9d 83
klauss 0:4d17cd9c8f9d 84 void unit_test_cb_from_server( void const * args ){
klauss 0:4d17cd9c8f9d 85 if( args != NULL ){
klauss 0:4d17cd9c8f9d 86 test_control * tc = ( test_control * )args;
klauss 0:4d17cd9c8f9d 87
klauss 0:4d17cd9c8f9d 88 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 89 tc->buffer_ptr[ 1 ] = 0x59; // ext 857
klauss 0:4d17cd9c8f9d 90 tc->buffer_ptr[ 2 ] = 0x12;
klauss 0:4d17cd9c8f9d 91 tc->buffer_ptr[ 3 ] = 0x12; // port 4626
klauss 0:4d17cd9c8f9d 92 tc->buffer_ptr[ 4 ] = __INVITE__;
klauss 0:4d17cd9c8f9d 93 *( tc->status_ptr ) = (uint8_t)0x01;
klauss 0:4d17cd9c8f9d 94
klauss 0:4d17cd9c8f9d 95 while( *( tc->status_ptr ) == 0x01 ) continue;
klauss 0:4d17cd9c8f9d 96
klauss 0:4d17cd9c8f9d 97 led3 = 1;
klauss 0:4d17cd9c8f9d 98 tc->buffer_ptr[ 4 ] = __AUDIO__;
klauss 0:4d17cd9c8f9d 99 Timer time_out;
klauss 0:4d17cd9c8f9d 100 time_out.start();
klauss 0:4d17cd9c8f9d 101 while( time_out.read() < 10 ){
klauss 0:4d17cd9c8f9d 102 // *(tc->status_ptr) = (uint8_t)0x01;
klauss 0:4d17cd9c8f9d 103 *(tc->__symbolic_flag__) = false;
klauss 0:4d17cd9c8f9d 104 }
klauss 0:4d17cd9c8f9d 105 led3 = 0;
klauss 0:4d17cd9c8f9d 106 }
klauss 0:4d17cd9c8f9d 107 }
klauss 0:4d17cd9c8f9d 108
klauss 0:4d17cd9c8f9d 109 void test_registry( void const * args ){
klauss 0:4d17cd9c8f9d 110 if( args != NULL ){
klauss 0:4d17cd9c8f9d 111 test_control * tc = ( test_control * )args;
klauss 0:4d17cd9c8f9d 112 if( tc == NULL ) return;
klauss 0:4d17cd9c8f9d 113
klauss 0:4d17cd9c8f9d 114 uint16_t cc = __checksum__( tc->buffer_ptr + __CHECKSUM_OFFSET__, __CB_BUFFER_SIZE__ - __CHECKSUM_OFFSET__ );
klauss 0:4d17cd9c8f9d 115
klauss 0:4d17cd9c8f9d 116 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 117 tc->buffer_ptr[ 1 ] = 0x5d; // 861
klauss 0:4d17cd9c8f9d 118 tc->buffer_ptr[ 2 ] = 0x10;
klauss 0:4d17cd9c8f9d 119 tc->buffer_ptr[ 3 ] = 0x11; // 4113
klauss 0:4d17cd9c8f9d 120 tc->buffer_ptr[ 4 ] = ( uint8_t )( ( cc & 0xFF00 ) >> 8 );
klauss 0:4d17cd9c8f9d 121 tc->buffer_ptr[ 5 ] = ( uint8_t )( cc & 0x00FF );
klauss 0:4d17cd9c8f9d 122 tc->buffer_ptr[ 6 ] = __REGISTRY__;
klauss 0:4d17cd9c8f9d 123 tc->buffer_ptr[ 7 ] = 0x03; // seq
klauss 0:4d17cd9c8f9d 124 for( register int i = 8; i < 8 + __CLOCK_SYNC_SIZE__; i++ )// clock
klauss 0:4d17cd9c8f9d 125 tc->buffer_ptr[ i ] = 0x00;
klauss 0:4d17cd9c8f9d 126 tc->buffer_ptr[ 10 ] = 0x23;
klauss 0:4d17cd9c8f9d 127
klauss 0:4d17cd9c8f9d 128 *(tc->status_ptr) = (uint8_t)__READ__;
klauss 0:4d17cd9c8f9d 129 }
klauss 0:4d17cd9c8f9d 130 }
klauss 0:4d17cd9c8f9d 131
klauss 0:4d17cd9c8f9d 132 void __unit_test_invite__( void const * args ){
klauss 0:4d17cd9c8f9d 133 if( args != NULL ){
klauss 0:4d17cd9c8f9d 134 test_control * tc = ( test_control * )args;
klauss 0:4d17cd9c8f9d 135
klauss 0:4d17cd9c8f9d 136 uint16_t cc = __checksum__( tc->buffer_ptr + __CHECKSUM_OFFSET__, __CB_BUFFER_SIZE__ - __CHECKSUM_OFFSET__ );
klauss 0:4d17cd9c8f9d 137
klauss 0:4d17cd9c8f9d 138 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 139 tc->buffer_ptr[ 1 ] = 0x5f; // 863
klauss 0:4d17cd9c8f9d 140 tc->buffer_ptr[ 2 ] = 0x10;
klauss 0:4d17cd9c8f9d 141 tc->buffer_ptr[ 3 ] = 0x11; // 4113
klauss 0:4d17cd9c8f9d 142 tc->buffer_ptr[ 4 ] = ( uint8_t )( ( cc & 0xFF00 ) >> 8 );
klauss 0:4d17cd9c8f9d 143 tc->buffer_ptr[ 5 ] = ( uint8_t )( cc & 0x00FF );
klauss 0:4d17cd9c8f9d 144 tc->buffer_ptr[ 6 ] = __INVITE__;
klauss 0:4d17cd9c8f9d 145 tc->buffer_ptr[ 7 ] = 0x07; // seq
klauss 0:4d17cd9c8f9d 146 for( register int i = 8; i < 8 + __CLOCK_SYNC_SIZE__; i++ )
klauss 0:4d17cd9c8f9d 147 tc->buffer_ptr[ i ] = i;
klauss 0:4d17cd9c8f9d 148 *(tc->status_ptr) = __READ__;
klauss 0:4d17cd9c8f9d 149
klauss 0:4d17cd9c8f9d 150 tc->buffer_ptr[ 7 ] = 0x41; // seq
klauss 0:4d17cd9c8f9d 151 for( register int i = 8; i < 8 + __CLOCK_SYNC_SIZE__; i++ )
klauss 0:4d17cd9c8f9d 152 tc->buffer_ptr[ i ] = 0x41;
klauss 0:4d17cd9c8f9d 153 while( *( tc->status_ptr ) == __READ__ ) continue;
klauss 0:4d17cd9c8f9d 154 led3 = 1;
klauss 0:4d17cd9c8f9d 155 tc->buffer_ptr[ 6 ] = __AUDIO__;
klauss 0:4d17cd9c8f9d 156 Timer time_out;
klauss 0:4d17cd9c8f9d 157 time_out.start();
klauss 0:4d17cd9c8f9d 158 while( time_out.read() < 10 ){
klauss 0:4d17cd9c8f9d 159 *(tc->status_ptr) = __READ__;
klauss 0:4d17cd9c8f9d 160 *(tc->__symbolic_flag__) = false;
klauss 0:4d17cd9c8f9d 161 }
klauss 0:4d17cd9c8f9d 162 led3 = 0;
klauss 0:4d17cd9c8f9d 163 }
klauss 0:4d17cd9c8f9d 164 }
klauss 0:4d17cd9c8f9d 165
klauss 0:4d17cd9c8f9d 166 void test_aging_registry( void const * args ){ // single cb, try many
klauss 0:4d17cd9c8f9d 167 if( args != NULL ){
klauss 0:4d17cd9c8f9d 168 test_control * tc = ( test_control * )args;
klauss 0:4d17cd9c8f9d 169 if( tc == NULL ) return;
klauss 0:4d17cd9c8f9d 170
klauss 0:4d17cd9c8f9d 171 uint16_t cc = __checksum__( tc->buffer_ptr + __CHECKSUM_OFFSET__, __CB_BUFFER_SIZE__ - __CHECKSUM_OFFSET__ );
klauss 0:4d17cd9c8f9d 172
klauss 0:4d17cd9c8f9d 173 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 174 tc->buffer_ptr[ 1 ] = 0x5d; // 861
klauss 0:4d17cd9c8f9d 175 tc->buffer_ptr[ 2 ] = 0x10;
klauss 0:4d17cd9c8f9d 176 tc->buffer_ptr[ 3 ] = 0x11; // 4113
klauss 0:4d17cd9c8f9d 177 tc->buffer_ptr[ 4 ] = ( uint8_t )( ( cc & 0xFF00 ) >> 8 );
klauss 0:4d17cd9c8f9d 178 tc->buffer_ptr[ 5 ] = ( uint8_t )( cc & 0x00FF );
klauss 0:4d17cd9c8f9d 179 tc->buffer_ptr[ 6 ] = __REGISTRY__;
klauss 0:4d17cd9c8f9d 180 tc->buffer_ptr[ 7 ] = 0x03; // seq
klauss 0:4d17cd9c8f9d 181 for( register int i = 8; i < 8 + __CLOCK_SYNC_SIZE__; i++ )// clock
klauss 0:4d17cd9c8f9d 182 tc->buffer_ptr[ i ] = 0x00;
klauss 0:4d17cd9c8f9d 183 tc->buffer_ptr[ 10 ] = 0x23;
klauss 0:4d17cd9c8f9d 184
klauss 0:4d17cd9c8f9d 185 *(tc->status_ptr) = (uint8_t)__READ__;
klauss 0:4d17cd9c8f9d 186 }
klauss 0:4d17cd9c8f9d 187 }
klauss 0:4d17cd9c8f9d 188
klauss 0:4d17cd9c8f9d 189
klauss 0:4d17cd9c8f9d 190 void test_many_cb_registry( void const * args ){
klauss 0:4d17cd9c8f9d 191 if( args != NULL ){
klauss 0:4d17cd9c8f9d 192 test_control * tc = ( test_control * )args;
klauss 0:4d17cd9c8f9d 193 if( tc == NULL ) return;
klauss 0:4d17cd9c8f9d 194
klauss 0:4d17cd9c8f9d 195 tc->buffer_ptr[ 0 ] = 0x03;
klauss 0:4d17cd9c8f9d 196 tc->buffer_ptr[ 1 ] = 0x53; // 851
klauss 0:4d17cd9c8f9d 197 tc->buffer_ptr[ 2 ] = 0x1b;
klauss 0:4d17cd9c8f9d 198 tc->buffer_ptr[ 3 ] = 0xbd; // 7101
klauss 0:4d17cd9c8f9d 199 tc->buffer_ptr[ 6 ] = __REGISTRY__;
klauss 0:4d17cd9c8f9d 200 tc->buffer_ptr[ 7 ] = 0x03; // seq
klauss 0:4d17cd9c8f9d 201 for( register int i = 8; i < 8 + __CLOCK_SYNC_SIZE__; i++ )// clock
klauss 0:4d17cd9c8f9d 202 tc->buffer_ptr[ i ] = 0x00;
klauss 0:4d17cd9c8f9d 203 tc->buffer_ptr[ 11 ] = 0x23;
klauss 0:4d17cd9c8f9d 204 uint16_t cc = __checksum__( tc->buffer_ptr + __CHECKSUM_OFFSET__, __CB_BUFFER_SIZE__ - __CHECKSUM_OFFSET__ );
klauss 0:4d17cd9c8f9d 205 tc->buffer_ptr[ 4 ] = ( uint8_t )( ( cc & 0xFF00 ) >> 8 );
klauss 0:4d17cd9c8f9d 206 tc->buffer_ptr[ 5 ] = ( uint8_t )( cc & 0x00FF );
klauss 0:4d17cd9c8f9d 207
klauss 0:4d17cd9c8f9d 208 *(tc->status_ptr) = (uint8_t)__READ__;
klauss 0:4d17cd9c8f9d 209 while( *(tc->status_ptr) == (uint8_t)__READ__ );
klauss 0:4d17cd9c8f9d 210
klauss 0:4d17cd9c8f9d 211 int ext = 851;
klauss 0:4d17cd9c8f9d 212 int port = 7101;
klauss 0:4d17cd9c8f9d 213 for( register int i = 0; i < 23; i++ ){
klauss 0:4d17cd9c8f9d 214 *(tc->status_ptr) = (uint8_t)__READ__;
klauss 0:4d17cd9c8f9d 215 tc->buffer_ptr[ 0 ] = ( uint8_t )( ( ext & 0xFF00 ) >> 8 );
klauss 0:4d17cd9c8f9d 216 tc->buffer_ptr[ 1 ] = ( uint8_t )( ++ext & 0x00FF );
klauss 0:4d17cd9c8f9d 217 tc->buffer_ptr[ 2 ] = ( uint8_t )( ( port & 0xFF00 ) >> 8 );
klauss 0:4d17cd9c8f9d 218 tc->buffer_ptr[ 3 ] = ( uint8_t )( ++port & 0x00FF );
klauss 0:4d17cd9c8f9d 219 uint16_t cc = __checksum__( tc->buffer_ptr + __CHECKSUM_OFFSET__, __CB_BUFFER_SIZE__ - __CHECKSUM_OFFSET__ );
klauss 0:4d17cd9c8f9d 220 tc->buffer_ptr[ 4 ] = ( uint8_t )( ( cc & 0xFF00 ) >> 8 );
klauss 0:4d17cd9c8f9d 221 tc->buffer_ptr[ 5 ] = ( uint8_t )( cc & 0x00FF );
klauss 0:4d17cd9c8f9d 222 *(tc->status_ptr) = (uint8_t)__READ__;
klauss 0:4d17cd9c8f9d 223 while( *(tc->status_ptr) == (uint8_t)__READ__ );
klauss 0:4d17cd9c8f9d 224 }
klauss 0:4d17cd9c8f9d 225 }
klauss 0:4d17cd9c8f9d 226 }
klauss 0:4d17cd9c8f9d 227
klauss 0:4d17cd9c8f9d 228 #endif // test_mode_on
klauss 0:4d17cd9c8f9d 229 #endif // test.h