#include "opentcp.h" //#include "stdlib.h" #include "tcpTest.h" #include "util.h" #include "mcu_port.h" UINT8 tcpTest_enabled = 0; UINT8 mSocket; //#define BUFSIZE 15*1024 //NOTE!!! + TCP_APP_OFFSET #define BUFSIZE 10*1024*1024 //NOTE!!! + TCP_APP_OFFSET //#define FILESIZE 10240 int gFileSize = 10240; int sentBytes; INT16 lastSentBytes; int receivedBytes; int totalBytes; UINT8 *buf;//[BUFSIZE+TCP_APP_OFFSET]; UINT8 *gstor;//=((UINT8*)buf)+TCP_APP_OFFSET; UINT8 *junk; void myBreakPoint1(void){ tst0_on(); } void myBreakPoint2(void){} void myBreakPoint3(void){} void myBreakPoint4(void){} void myBreakPoint5(void){} INT8 init_tcpTest (void){ INT8 soch = tcp_getsocket(TCP_TYPE_SERVER, TCP_TOS_NORMAL, TCP_DEF_TOUT, tcpTest_eventlistener); int i; char buffer [33]; mSocket=0; if(soch < 0){ DEBUGOUT("tcpTest Server uncapable of getting socket\r\n"); RESET_SYSTEM(); return(-1); } mSocket=soch; soch = tcp_listen(mSocket, 1337); if(soch < 0){ DEBUGOUT("tcpTest Server uncapable of setting socket to listening mode\r\n"); RESET_SYSTEM(); return(-1); } buf=malloc(BUFSIZE+TCP_APP_OFFSET); myBreakPoint1(); junk=buf; if(buf==0){ printl("E\n"); } free(buf); buf=malloc(BUFSIZE+TCP_APP_OFFSET); myBreakPoint1(); if(buf==junk){ printl("Match\n"); } memset(buf, 0, BUFSIZE+TCP_APP_OFFSET); gstor=buf+TCP_APP_OFFSET; sentBytes=0; lastSentBytes=0; receivedBytes=0; totalBytes=gFileSize; tcpTest_enabled = 1; return(1); } int gTCPLoopback=1; void tcpTest_run (void){ //INT16 len; //char buffer [33]; //int i; if( tcpTest_enabled == 0) return; if(tcp_getstate(mSocket) < TCP_STATE_LISTENING){ tcp_listen(mSocket, 1337); } //return; if(receivedBytes=gFileSize){ //printl("."); tcpTest_deletesession(); return; } //printl(";"); //itoa_q(lastSentBytes, buffer, 7, 10); //printl(buffer); //printl("\n"); //for(i=0; i<10000; i++); if(lastSentBytes!=0) { return; } //printl(":"); //lastSentBytes=tcp_send(mSocket, &OTCP_TXBUF[TCP_APP_OFFSET], NETWORK_TX_BUFFER_SIZE - TCP_APP_OFFSET, i + 7); if(gTCPLoopback) { mcu_cs1_on(); mcu_cs2_on(); lastSentBytes=tcp_send(mSocket, gstor+sentBytes, gFileSize-sentBytes, gFileSize-sentBytes); //DANGER mcu_cs1_off(); //lastSentBytes=1; //sendjunk(); //lastSentBytes=530; //itoa_q(lastSentBytes, buffer, 7, 10); //printl(buffer); //printl("\n"); if(lastSentBytes<0){ //printl("!"); tcpTest_deletesession(); mSocket=0; return; }else{ //printl("?"); //sentBytes+=(int)lastSentBytes; //lastSentBytes=0; } } } //int gPacketsReceived=0; INT32 tcpTest_eventlistener (INT8 cbhandle, UINT8 event, UINT32 par1, UINT32 par2){ //INT16 i; //printl("l"); char *gotdata="bytes received 1234567\n"; //char *rotator="|\0/\0-\0\\\0"; if(tcpTest_enabled == 0) return(-1); if(cbhandle < 0) return(-1); switch( event ){ case TCP_EVENT_CONREQ: printl("connection requested\r\n"); if(mSocket != 0) return(-1); return(1); case TCP_EVENT_ABORT: printl("connection aborted\r\n"); //if(mSocket == 0) return(1); tcpTest_deletesession(); return(1); case TCP_EVENT_CONNECTED: printl("connected\r\n"); if(mSocket == 0) return(-1); return(1); case TCP_EVENT_CLOSE: printl("connection closed\r\n"); //if(mSocket == 0) return(-1); tcpTest_deletesession(); return(1); case TCP_EVENT_ACK: //printl("acked\r\n"); //if(mSocket == 0) return(-1); sentBytes+=(int)lastSentBytes; lastSentBytes=0; mcu_cs2_off(); return(1); case TCP_EVENT_DATA: tst1_on(); //printl(rotator[(gPacketsReceived%4)*2]); //gPacketsReceived++; //if((gPacketsReceived%100)==0) {itoa_q(receivedBytes,gotdata+15,7,10);printl(gotdata);} //if(mSocket == 0) return(-1); //printl("P\r\n"); if(par1>2048){ printl("overflow\n"); }else{ if(receivedBytes+(UINT16)par1= buflen) break; *buf++ = *(UINT8*)(fstart + Https[ses].fpoint + i); } } **/ /** void sendjunk (void){ UINT8* buf; buf = &OTCP_TXBUF[TCP_APP_OFFSET]; *buf++ = 'J'; *buf++ = 'U'; *buf++ = 'N'; *buf++ = 'K'; *buf++ = ' '; *buf++ = '\r'; *buf = '\n'; tcp_send(mSocket, &OTCP_TXBUF[TCP_APP_OFFSET], NETWORK_TX_BUFFER_SIZE - TCP_APP_OFFSET, 7); } **/ //void sendjunk (void){ //UINT8* buf1; //buf1 = &buf[TCP_APP_OFFSET]; //tcp_send(mSocket, &buf[TCP_APP_OFFSET], NETWORK_TX_BUFFER_SIZE - TCP_APP_OFFSET, 600); //}