}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)
//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); } }
}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)
}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)
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 */ }