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 ST

Revision:
8:0f302a13e21b
Parent:
7:0fdd186a7d90
Child:
18:b265b3b696f1
--- 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;
 }
 
 /**