fork test

Dependencies:   BLE_API WIFI_API_32kRAM mbed nRF51822

Fork of NNN40_CLI by Delta

Revision:
4:b52035367aee
Parent:
3:38ec8ad317f4
Child:
5:ee474e3133eb
--- a/CLI_Source/wifi_cli.cpp	Fri Oct 02 10:36:29 2015 +0000
+++ b/CLI_Source/wifi_cli.cpp	Sat Nov 07 09:02:38 2015 +0000
@@ -40,7 +40,7 @@
     char ap_pw[AP_PW_MAX_LEN+1];
 } deviceNetwork_t;
 
-deviceNetwork_t devNetwork[3];
+deviceNetwork_t devNetwork[4]; // 0-2 for setNetwork, 3 for set_ap
 
 TCPSocketConnection tcpConnect;
 UDPSocket udpSocket;
@@ -90,12 +90,6 @@
     console.printf("\r\nERROR;%s\r\n\r\n",cyntecCommandErrorNames[errIdx]);
 }
 
-static void cyn_wifi_help()
-{
-	console.printf("");
-	
-}
-
 /////////**** WIFI Device Implement ****//////////
 static void cyn_wifi_device_sleep()
 {
@@ -215,38 +209,38 @@
 
 static void cyn_wifi_set_ap()
 {
-    if (cyntecGetCommandTokenCnt() == 6) {
-        uint8_t *arg;
+    if (cyntecGetCommandTokenCnt() != 6) {
+		cyntecPrintError(CYNTEC_CMD_ERR_WRONG_NUMBER_OF_ARGUMENTS);
+	}
         uint8_t argLen = 0;
-        char setSSID[AP_SSID_MAX_LEN];
-        //uint8_t * setSSID;
-        char setPW[AP_PW_MAX_LEN];
+        uint8_t * argSSID;
+        uint8_t * argPW;
+        uint8_t * argSEC;
+        uint8_t * argCH;
 
         /* handle SSID */
-        arg = cyntecGetCommandArgument(0, &argLen);
+        argSSID = cyntecGetCommandArgument(0, &argLen);
         if ( argLen > AP_SSID_MAX_LEN ) {
             cyntecPrintError(CYNTEC_CMD_ERR_ARGUMENT_OUT_OF_RANGE);
             return;
         }
-        memset( setSSID, 0, AP_SSID_MAX_LEN);
-        memcpy( setSSID, arg, argLen);
-        //setSSID[argLen] = '\0';
-
+        memset( devNetwork[3].ap_ssid , 0, AP_SSID_MAX_LEN+1);
+        memcpy( devNetwork[3].ap_ssid, argSSID, argLen);
+		
         /* handle Password */
-        arg = cyntecGetCommandArgument(1, &argLen);
+        argPW = cyntecGetCommandArgument(1, &argLen);
         if ( argLen > AP_PW_MAX_LEN ) {
             cyntecPrintError(CYNTEC_CMD_ERR_ARGUMENT_OUT_OF_RANGE);
             return;
         }
-        memset( setPW, 0, AP_PW_MAX_LEN);
-        memcpy( setPW, arg, argLen);
-        //setPW[argLen] = '\0';
-        
+        memset( devNetwork[3].ap_pw, 0, AP_PW_MAX_LEN+1);
+        memcpy( devNetwork[3].ap_pw, argPW, argLen);
+
         /* handle Security */
         security_t setSec  = SECURITY_WPA2_AES_PSK;
-        arg = cyntecGetCommandArgument(2, &argLen);
+        argSEC = cyntecGetCommandArgument(2, &argLen);
         char numSec[argLen];
-        memcpy( numSec, arg, argLen);
+        memcpy( numSec, argSEC, argLen);
         uint8_t sec = atoi(numSec);
         //uint8_t numSec = atoi((const char *)arg);
         
@@ -270,27 +264,24 @@
         }
         
         /* handle Channel */
-        arg = cyntecGetCommandArgument(3, &argLen);
-        uint8_t setChan = atoi((char *)arg);
+        argCH = cyntecGetCommandArgument(3, &argLen);
+        uint8_t setChan = atoi((char *)argCH);
     	
         if ( (int)setChan > 14 || (int)setChan < 1) {
            	cyntecPrintError(CYNTEC_CMD_ERR_ARGUMENT_OUT_OF_RANGE);
             return;
         }
 		#ifdef DELTA_WIFI_DEBUG
-        console.printf("setSSID:%s\r\n",setSSID);
-        console.printf("setPW:%s\r\n",setPW);
+        console.printf("argSSID:%s\r\n",argSSID);
+        console.printf("argPW:%s\r\n",argPW);
         console.printf("sec:%i\r\n",sec);
         console.printf("setChan:%i\r\n",setChan);
         #endif
 
         /* call setup API */
-        wifiDevice.setAccessPoint(setSSID, setPW, setSec, setChan);
+        wifiDevice.setAccessPoint(devNetwork[3].ap_ssid, devNetwork[3].ap_pw, setSec, setChan);
         cyntecPrintOk();
 
-    } else {
-        cyntecPrintError(CYNTEC_CMD_ERR_WRONG_NUMBER_OF_ARGUMENTS);
-    }
 }
 
 static void cyn_wifi_mem_erase4k()
@@ -1110,9 +1101,9 @@
     {"device_network", cyn_wifi_device_network, NULL, " <SSID> <PASSWORD> <PRIORITY> Set SSID and PASSWORD for WIFI module"},
     //gill
 //  void WIFIDevice::setAccessPoint(char* SSID, char* PW, security_t security=SECURITY_WPA2_AES_PSK, uint8_t channel=1);
-    {"device_read_wifi_sp_version",cyn_wifi_read_wifi_sp_version, NULL, "Set network connection in priority"},
-    {"device_ap_scan", cyn_wifi_device_ap_scan, NULL, "Perform WIFI scan"},
-    {"device_set_ap",cyn_wifi_set_ap, NULL, " <SSID> <PASSWORD> <SECURITY> Set Access Point in given configuration"},
+    {"device_read_version",cyn_wifi_read_wifi_sp_version, NULL, "Set network connection in priority"},
+    {"device_apscan", cyn_wifi_device_ap_scan, NULL, "Perform WIFI scan"},
+    {"device_setap",cyn_wifi_set_ap, NULL, " <SSID> <PASSWORD> <SECURITY> <CHANNEL>Set Access Point in given configuration"},
 	{"device_mem_erase4k",cyn_wifi_mem_erase4k, NULL, " <MEMADDR> Erase a 4KB sector of embedded flash"},
 	{"device_mem_read",cyn_wifi_mem_read, NULL, " <MEMADDR> <LEN> Read data from embeeded flash"},
 	{"device_mem_write",cyn_wifi_mem_write, NULL, " <MEMADDR> <DATA> Write data into embeeded flash"},