Extending the X_NUCLEO_IDW01M1 to allow configuration of the board as an access point
Dependents: X_NUCLEO_IDW01M1_AP_Test
Fork of X_NUCLEO_IDW01M1 by
Diff: Spwf/wifi_interface.c
- Revision:
- 8:0f302a13e21b
- Parent:
- 7:0fdd186a7d90
- Child:
- 18:b265b3b696f1
diff -r 0fdd186a7d90 -r 0f302a13e21b Spwf/wifi_interface.c --- a/Spwf/wifi_interface.c Wed May 11 06:12:16 2016 +0000 +++ b/Spwf/wifi_interface.c Thu May 12 07:36:13 2016 +0000 @@ -71,11 +71,7 @@ */ /* Private variables ---------------------------------------------------------*/ -#if defined (USE_STM32F4XX_NUCLEO) || (USE_STM32L4XX_NUCLEO) -extern uint8_t WiFi_AT_Cmd_Buff[2048]; -#else -extern uint8_t WiFi_AT_Cmd_Buff[1024]; -#endif +extern uint8_t WiFi_AT_Cmd_Buff[2052]; extern volatile Wifi_Status_Var status_flag; @@ -95,7 +91,7 @@ extern volatile uint32_t WIND64_count; extern uint32_t process_buffer_index; extern uint32_t epoch_time; - +extern int write_size; /*SPWFSADevice Class functions and variables*/ void * spwf_device_class; extern void callSpwfSADevice_wakeup(void* object, int wake); @@ -503,23 +499,27 @@ * @param sock_id socket ID of the socket to write to * DataLength: data length to send * pData : pointer of data buffer to be written -* @retval WiFi_Status_t : return status of socket write request +* @retval int : return number of bytes sent */ -WiFi_Status_t wifi_socket_client_write(uint8_t sock_id, uint16_t DataLength, char * pData) +int wifi_socket_client_write(uint8_t sock_id, uint16_t DataLength, char * pData) { /* AT+S.SOCKW=00,11<cr> */ WiFi_Status_t status = WiFi_MODULE_SUCCESS; //Check if sock_id is open if(!open_sockets[sock_id]) - return WiFi_NOT_READY; + return -1; - if(DataLength>=1021 || DataLength<=0) - return WiFi_NOT_SUPPORTED; + if(DataLength>2048 || DataLength<=0) + return -1; Queue_Client_Write_Event(sock_id,DataLength,pData); status = USART_Receive_AT_Resp(Process_Event); - return status; + + if(status==WiFi_MODULE_SUCCESS) + return write_size; + else + return -1; } /**