Beispiel #1
0
}void ApOnOff(int8u seq)
{    int8u buf[4];
    APOnOff ^= 1;
    buf[0] = WIFI_AP_CTRL_REQ;
    buf[1] = seq;
    buf[2] = APOnOff;
    buf[3] = 0; //persistency hardcode set as 0 means NOT save to NVM
    serial_transmit(CMD_ID_WIFI, buf, 4, ACK_NOT_REQUIRED);
    printf("-AP status\n\r");
    timeout = 10000;
    while (timeout--) {
        if(SN8200_API_HasInput()) {
            ProcessSN8200Input();
        }
        if(IsWIFIApCtrlResponsed) {
            IsWIFIApCtrlResponsed = false;
            break;
        }
        mdelay(1);
    }
}void WifiScan(int8u seq)
Beispiel #2
0
//Turn on or off the soft AP
void ApOnOff(int8u OnOff, int8u seq)
{
    int8u payload[4];
    APOnOff = OnOff;
    payload[0] = WIFI_AP_CTRL_REQ;
    payload[1] = seq;
    payload[2] = APOnOff;
    payload[3] = 0; //persistency hardcode set as 0 means NOT save to NVM
    serial_transmit(CMD_ID_WIFI, payload, 4, ACK_NOT_REQUIRED);

    timeout = 10000;
    while (timeout--) {
        if(SN8200_API_HasInput()) {
            ProcessSN8200Input();
        }
        if(IsWIFIApCtrlResponsed) {
            IsWIFIApCtrlResponsed = false;
            break;
        }
        mdelay(1);
    }
}
Beispiel #3
0
}void SnicGetDhcp(int8u seq)
{    int8u buf[3];
    char tempstr[2] = {0};
    buf[0] = SNIC_GET_DHCP_INFO_REQ;
    buf[1] = seq;
    printf("\n\rInterface Type? (0: STA  1: AP) \n\r");
    scanf("%s", tempstr);
    printf("\n\r");
    buf[2] = atoi(tempstr);
    //buf[2] = 0; // STA  1; // AP
    serial_transmit(CMD_ID_SNIC, buf, 3, ACK_NOT_REQUIRED);
    printf("-SnicGetDhcp\n\r");
    timeout = 10000;
    while (timeout--) {
        if(SN8200_API_HasInput()) {
            ProcessSN8200Input();
        }
        if(IsSNICGetDHCPInfoResponsed) {
            IsSNICGetDHCPInfoResponsed = false;
            break;
        }
        mdelay(1);
    }
}int tcpCreateSocket(int8u bindOption, int32u localIp, int16u port, int8u seq, int8u ssl)
Beispiel #4
0
}void WifiJoin(int8u seq)
{
	int i;
	uint8_t ch;
    int8u buf[128];
    char tempstr[2] = {0};
    int8u *p = buf;
    *p++ = WIFI_JOIN_REQ;
    *p++ = seq;
    strcpy(SSID,"Kwak0042");
		/*for(i=0; i<strlen(SSID); i++)
		{
			 ch = SSID[i];
			 DBGU_RxBuffer[DBGU_RxBufferHead] = ch;
			 USART_SendData(USART2, ch);
			 DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;      
		}		
		DBGU_RxBuffer[DBGU_RxBufferHead] = ch;
		USART_SendData(USART2, 0x0D);
		DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;
		DBGU_InputReady = 1;
		escape = 1;*/
		//Test_fgetc();
printf("qweqwe");
    printf("\n\r");
    while(!strlen(SSID)) {
        printf("SSID can't be empty. Enter SSID:\n\r");
        scanf("%s", SSID);
        printf("\n\r");
    }
		printf("asdasdasdsa");
		delay_ms(10);
    memcpy(p, SSID, strlen(SSID));
    p += strlen(SSID);
    *p++ = 0x00;
		
		delay_ms(10);
    strcpy(tempstr,"6");
			 /*DBGU_RxBuffer[DBGU_RxBufferHead] = tempstr[0];
			 USART_SendData(USART2, tempstr[0]);
			 DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;      
		DBGU_RxBuffer[DBGU_RxBufferHead] = tempstr[0];
		USART_SendData(USART2, 0x0D);
		DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;
		DBGU_InputReady = 1;
		escape = 1;*/
		//Test_fgetc();
		delay_ms(10);
    printf("\n\r");
    secMode = atoi(tempstr);
    if (secMode) {
        strcpy(secKey,"aaaaaaaa");
			/*for(i=0; i<strlen(secKey); i++)
		{
			 ch = secKey[i];
			 ch = SSID[i];
			 DBGU_RxBuffer[DBGU_RxBufferHead] = ch;
			 USART_SendData(USART2, ch);
			 DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;      
		}		
		DBGU_RxBuffer[DBGU_RxBufferHead] = ch;
		USART_SendData(USART2, 0x0D);
		DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;
		DBGU_InputReady = 1;
		escape = 1;*/
		//Test_fgetc();
			delay_ms(10);
        printf("\n\r");
        Keylen = (unsigned char)strlen(secKey);
        if (Keylen <= 0) {
            printf("Invalid Key\n\r");
            return;
        }
    }
    *p++ = secMode;
    *p++ = Keylen;
    if (Keylen) {
        memcpy(p, secKey, Keylen);
        p += Keylen;
    }
		
    serial_transmit(CMD_ID_WIFI, buf, (int)(p - buf), ACK_NOT_REQUIRED);
    printf("-WifiJoin\n\r");
    timeout = 10000;
    while (timeout--) {
        if(SN8200_API_HasInput()) {
            ProcessSN8200Input();
        }
        if(IsWIFIJoinResponsed) {
            IsWIFIJoinResponsed = false;
						printf("ttttttttttttt");
            break;
        }
        delay_ms(10);
    }
    joinok = 0;
}void WifiDisconn(int8u seq)
Beispiel #5
0
int main(void)
{

  /* USER CODE BEGIN 1 */
  trace_printf("Hello\n");
  uint8_t ch;
  uint32_t DBGU_RxBufferTail = 0;
  uint32_t DBGU_RxBufferHead = 0;
  uint8_t DBGU_RxBuffer[DBGU_RX_BUFFER_SIZE];
  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();

  /* USER CODE BEGIN 2 */
  BSP_UART_Init(115200);
  SN8200_HAL_Init(921600);
  uprintf("\n\rHello!\n\r");
  uprintf("\n\r");

  WifiOn(seqNo++);
  uprintf("\n\r");

  ShowMenu();
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */
  /* USER CODE BEGIN 3 */
    if(HAL_UART_Receive(&huart6,&ch,1,100) == HAL_OK)
    {
      switch (ch)
      {
       case 0x7F:
         if(DBGU_RxBufferHead != DBGU_RxBufferTail)
         {
           DBGU_RxBufferHead = (DBGU_RxBufferHead - 1) % DBGU_RX_BUFFER_SIZE;
           HAL_UART_Transmit_IT(&huart6,0x7F,1);
         }
         break;

       case 0x0D:
         DBGU_RxBuffer[DBGU_RxBufferHead] = ch;
         DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;
         DBGU_InputReady = 1;
         break;

       case In_BACKSPACE:
         HAL_UART_Transmit_IT(&huart6,&ch,1);
         break;

       default:
         DBGU_RxBuffer[DBGU_RxBufferHead] = ch;
         HAL_UART_Transmit_IT(&huart6,&ch,1);
         DBGU_RxBufferHead = (DBGU_RxBufferHead + 1) % DBGU_RX_BUFFER_SIZE;
         key = ch;
         break;
      }
    }
    if(DBGU_InputReady)
    {
      ProcessUserInput();
    }
    if(SN8200_API_HasInput())
    {
      ProcessSN8200Input();
    }
    if(quit_flag)
    {
      break;
    }
  }
  uprintf("Goodbye\n\r");
  /* USER CODE END 3 */
}