Exemplo n.º 1
0
int system_send_buf_to_host( char* buf, int buf_size )
{
	char* sendbuf;
	int stat = 0;
	if( g_send_package_socket != 0) {
		stat = tcp_get_state( g_send_package_socket );
		switch ( stat ) {
			case TCP_STATE_FREE:
			case TCP_STATE_CLOSED:
				tcp_connect ( g_send_package_socket, g_send_package_socket_ip, g_send_package_socket_port, 0);
#if 1
				return -2;
#else
				// wait connect
				// maybe need 
				while( 1 ){
					stat = tcp_get_state( g_send_package_socket );
					timer_poll ();
					main_TcpNet ();
					if( stat == TCP_STATE_CONNECT )
						break;
				}
#endif
				break;
		}

		if( stat  == TCP_STATE_CONNECT ) {
			while(tcp_check_send ( g_send_package_socket) != __TRUE) {
				timer_poll ();
				main_TcpNet ();
			}
			if (tcp_check_send ( g_send_package_socket) == __TRUE) {
				sendbuf = tcp_get_buf( buf_size );
				memcpy( sendbuf, buf, buf_size );
				tcp_send ( g_send_package_socket, sendbuf, buf_size);
#if 1
				return 1;
#else
				while( 1 ){
					stat = tcp_get_state( g_send_package_socket );
					timer_poll ();
					main_TcpNet ();
					if( stat == TCP_STATE_CONNECT )
						break;
				}
#endif
			}
		}
		else{
			return -3;
		}
	}
	else	return -4;
	return -5;
}
Exemplo n.º 2
0
__task void tcp_task (void) {
  /* Main Thread of the TcpNet. This task should have */
  /* the lowest priority because it is always READY. */
  dhcp_tout = DHCP_TOUT;
  while (1) {
    main_TcpNet();
    dhcp_check ();
    os_tsk_pass();
  }
}
Exemplo n.º 3
0
__task void tcp_poll (void)
{
    CYASSL_MSG("TCP polling started.\n") ;
    while (1) {
        main_TcpNet ();
#if defined (HAVE_KEIL_RTX)
        os_tsk_pass ();
#endif
    }
}
Exemplo n.º 4
0
Arquivo: app.c Projeto: postgetme/crco
static void app_task0(void* pdat)
{
	while (1)
	{
	#if TCP_EN == 1
		main_TcpNet();
	#else
		OSTimeDly (100000);
	#endif
	}
}
Exemplo n.º 5
0
int main (void) {
  /* Main Thread of the TcpNet */

  init ();
  LEDrun = __TRUE;
  dhcp_tout = DHCP_TOUT;
  while (1) {
    timer_poll ();
    main_TcpNet ();
    dhcp_check ();
    blink_led ();
  }
}
Exemplo n.º 6
0
void Net_Proc(void)
{
  static INT32U ms100Timer = 0xFFFFFFFF;

  if(ms100Timer != Pub_Timer.Ms100)
  {
    ms100Timer = Pub_Timer.Ms100;
    timer_tick();		  
  }

  Unselect_SPI_Device();								//Provide timer tick
  SPI1_ENC28J60_Init();
  Net_Para_Modi_Chk();
  poll_ether();
  //enc28j60Read(EPKTCNT);
  main_TcpNet ();								//Call the TCPnet library
  Net_Data_Proc();
}
/* Calls the timing functions ------------------------------------------------*/
void BFH_GLCD_UDP (void) {
	#if (USE_UDP == 1)
		timer_poll ();
		main_TcpNet ();
	#endif
}
Exemplo n.º 8
0
int main (void) {
	//
	// Variables
	//
	char TCP_USER_i = 0;
	TCP_USER_INFO *TCP_USER;
	BOOL TCP_Connected = FALSE;
	int a = 0, b = 0;
	int RESET_VALUE_SEC = 0;

	//
	// Init
	//
  Init();

	// Play saved animation
	if (ANIMATION_PLAY) {
		Animation_Start();
	}

	//
	// While
	//

  while (1) {
    main_TcpNet();
    DHCP_Check();
		

		if (ftpFileClose == __TRUE && ftpFileWrite == __TRUE) {
			ftpFileClose = __FALSE;
			ftpFileWrite = __FALSE;

			if (strstr((char *)ftpFileOpen, "device.settings")) {
				Delay_ms(2000);
				NVIC_SystemReset();
			}
		}
		
		/*****************************************************************************
		** 1 ms timer
		*****************************************************************************/
		
		if (TICK_1MS == __TRUE) {
			TICK_1MS = __FALSE;
					
			if (ANIMATION_PLAY) {
				if (DelayValue >= ((currentEffect.delay+1) * getDelayUnitValue(currentEffect.delayUnit))) {
					DelayValue = 0;

					if (CurrentAnimationEffect >= AnimationEffectsCount - 1) {
						CurrentAnimationEffect = 0;
					} else {
						CurrentAnimationEffect++;
					}
					
					Animation_Read_Effect();
				} else {
					DelayValue++;
				}
			}	
		}
				
		/*****************************************************************************
		** 10 ms timer
		*****************************************************************************/
		
		if (TICK_10MS == __TRUE) {
			TICK_10MS = __FALSE;

		}
		
		/*****************************************************************************
		** 100 ms timer
		*****************************************************************************/
		
		if (TICK_100MS == __TRUE) {
			TICK_100MS = __FALSE;

			/*****************************************************************************
			** reset button
			*****************************************************************************/
			
			if (!(LPC_GPIO1->FIOPIN & (1<<RESET_BUTTON_PIN))) {		
				if (RESET_VALUE_SEC >= 5) {
					RESET_VALUE_SEC = 0;
					
					Status_LED1_Set(TRUE);
					Status_LED2_Set(TRUE);
				
					while (!(LPC_GPIO1->FIOPIN & (1<<RESET_BUTTON_PIN)));
					
					SPI_FLASH_Delete_All_Files();
					NVIC_SystemReset();
					
					Status_LED1_Set(FALSE);
					Status_LED2_Set(FALSE);
				}
			} else {
				RESET_VALUE_SEC = 0;
			}
		}
		
		/*****************************************************************************
		** 1 s timer
		*****************************************************************************/
		
		if (TICK_1S == __TRUE) {
			TICK_1S = __FALSE;

			if (ANIMATION_PLAY) {
				Status_LED2_Toggle();
			} else {
				Status_LED2_Set(FALSE);
			}
			
			if (TCP_Connected) {
				Status_LED1_Set(TRUE);
			} else {
				Status_LED1_Set(FALSE);
			}
			
			if (!(LPC_GPIO1->FIOPIN & (1<<RESET_BUTTON_PIN))) {
				RESET_VALUE_SEC++;
			}
		}
		
		/*****************************************************************************
		** UDP Socket Listener
		*****************************************************************************/
		
		if (UDP_Socket_Listener_Data_Received == TRUE) {
			UDP_Socket_Listener_Data_Received = FALSE; // Clear listener

			switch (UDP_Receive_Check(UDP_Socket_Buffer_Receive, UDP_Socket_Receive_Length)) {
				case PROTOCOL_UDP_ReceiveCheckWhich_search_device:	
					UDP_Socket_Send_Length = UDP_Send_Search_Device(UDP_Socket_Buffer_Send, (char *)DEVICE_IP, (char *)SETTINGS_DATA[DEVICE_NAME]);
					
					UDP_Socket_Send(UDP_Socket_Buffer_Send, UDP_Socket_Send_Length, UDP_Socket_Remote_IP);
					break;
				case PROTOCOL_UDP_ReceiveCheckWhich_cube_set:
					if (ANIMATION_PLAY == FALSE) {
						for (a=0; a<8; a++) {
							for (b=0; b<8; b++) {
								cube[a][b] = UDP_Socket_Buffer_Receive[(((a * 8) + b) + 6)];
							}
						}
					}
					break;
				case PROTOCOL_UDP_ReceiveCheckWhich_reset_device:
					NVIC_SystemReset();
					break;
				default:
					break;
			}
		}
		
		/*****************************************************************************
		** TCP Users Listener
		*****************************************************************************/
		
		TCP_Connected = FALSE;
		
		for (TCP_USER_i=0; TCP_USER_i<TCP_USER_NUMBER_OF_SESSIONS; TCP_USER_i++) {
			TCP_USER = &TCP_USER_SESSIONS[TCP_USER_i];
			
			if (TCP_USER->State == TCP_USER_STATE_CONNECTED) {
				TCP_Connected = TRUE;
			}
			
			/* ------------------- CONNECT ------------------ */
			if (TCP_USER->Connect_Flag == TRUE) {
				TCP_USER->Connect_Flag = FALSE; // Clear interrupt flag

			}

			/* ------------------- DISCONNECT --------------- */
			if (TCP_USER->Disconnect_Flag == TRUE) {
				TCP_USER->Disconnect_Flag = FALSE; // Clear interrupt flag

			}
			
			/* ------------------- RECEIVE ------------------ */
			if (TCP_USER->Received_Flag == TRUE) {
				TCP_USER->Received_Flag = FALSE; // Clear interrupt flag
				
				switch (TCP_Receive_Check(TCP_USER->Buffer_Receive, TCP_USER->Buffer_Receive_Length)) {
					case PROTOCOL_TCP_ReceiveCheckWhich_cube_set:
						if (ANIMATION_PLAY == FALSE) {
							for (a=0; a<8; a++) {
								for (b=0; b<8; b++) {
									cube[a][b] = TCP_USER->Buffer_Receive[(((a * 8) + b)+6)];
								}
							}
						}
						break;
					case PROTOCOL_TCP_ReceiveCheckWhich_start_animation:
						AnimationFileName = GetAnimationFileNameFromBuffer(TCP_USER->Buffer_Receive, TCP_USER->Buffer_Receive_Length);
						
						Animation_Start();
						break;
					case PROTOCOL_TCP_ReceiveCheckWhich_stop_animation:
						
						Animation_Stop();
						break;
					default:
						break;
				}
			}
		}
		
		/*****************************************************************************
		** UART CONSOLE Listener
		*****************************************************************************/
		
		if (UART_Count[UART_CONSOLE_NUMBER] > 0) {
			UART_RBR_Disable(UART_CONSOLE_NUMBER);
			
			// program


			// end
			
			UART_Count[UART_CONSOLE_NUMBER] = 0;
			
			UART_RBR_Enable(UART_CONSOLE_NUMBER);
		}
  }
}