
fork test
Dependencies: BLE_API WIFI_API_32kRAM mbed nRF51822
Fork of NNN40_CLI by
Diff: CLI_Source/wifi_cli.cpp
- Revision:
- 9:ff3ccba5dc16
- Parent:
- 5:ee474e3133eb
- Child:
- 10:5f1fa331d07c
--- a/CLI_Source/wifi_cli.cpp Thu Jan 21 11:32:23 2016 +0000 +++ b/CLI_Source/wifi_cli.cpp Mon Jan 25 11:19:12 2016 +0000 @@ -6,14 +6,7 @@ * Author: Lester Lee */ - -#include <stdlib.h> -#include <string.h> -#include "mbed.h" #include "wifi_cli.h" -#include "command-interpreter.h" -#include "WIFIDevice.h" -#include "EthernetInterface.h" #define AP_SSID_MAX_LEN 33 #define AP_PW_MAX_LEN 64 @@ -26,33 +19,31 @@ #define MAX_MEM_WRITE_LENGTH 0x3FFFF #define MAX_MEM_ERASE_ADDR 0x3F000 #define MAX_DATA_LENGTH 256 -extern uint8_t isValidGPIO; // from ble_cli.cpp -uint8_t static_ip[STATIC_IP_MAX_LEN] = "192.168.1.100"; - +// General configuration parameters WIFIDevice wifiDevice; -extern Serial console; -//Serial console(p25,p23); -extern const char* cyntecCommandErrorNames[]; - -typedef struct deviceNetwork_s { - char ap_ssid[AP_SSID_MAX_LEN+1]; - char ap_pw[AP_PW_MAX_LEN+1]; -} deviceNetwork_t; - -deviceNetwork_t devNetwork[4]; // 0-2 for setNetwork, 3 for set_ap - TCPSocketConnection tcpConnect; UDPSocket udpSocket; Endpoint cliEndpoint; TCPSocketServer tcpServer; +//extern uint8_t isValidGPIO(uint8_t); // from ble_cli.cpp +uint8_t static_ip[STATIC_IP_MAX_LEN] = "192.168.1.100"; +extern Serial console; +//Serial console(p25,p23); +extern const char* cyntecCommandErrorNames[]; static uint8_t is_Listen = false; static uint8_t apInd; static unsigned char *preSSID; static unsigned char *newSSID; static scanApInfo saveAP[WIFI_MAX_AP_NUMBER]; -static bool wifi_init = false; +static bool wifiIniState = false; + +typedef struct deviceNetwork_s { + char ap_ssid[AP_SSID_MAX_LEN+1]; + char ap_pw[AP_PW_MAX_LEN+1]; +} deviceNetwork_t; +deviceNetwork_t devNetwork[4]; // 0-2 for setNetwork, 3 for set_ap static uint8_t cyntecIsValidIP(uint8_t *startIdx, uint8_t totalLen) { @@ -61,7 +52,6 @@ uint8_t IPAddr[3]; //uint8_t IPTokenLen = 0; int16_t ipToken; - while ( (tempIdx - startIdx) <= totalLen ) { if (*tempIdx == '.' || ((tempIdx - startIdx) == totalLen)) { memset( IPAddr, 0, 3); @@ -75,8 +65,6 @@ } tempIdx++; } - - return 0; } @@ -123,7 +111,7 @@ static void cyn_wifi_device_network() { - if (wifi_init== true) { + if (wifiIniState== true) { cyntecPrintError(CYNTEC_CMD_ERR_WRONG_CMD_ORDER); return; } @@ -210,7 +198,7 @@ static void cyn_wifi_device_ap_scan() { - if (wifi_init== false) { + if (wifiIniState== false) { cyntecPrintError(CYNTEC_CMD_ERR_WRONG_CMD_ORDER); return; } @@ -426,7 +414,7 @@ /* use DHCP to get IP */ if ( ethInterface.init() == 0 ) { cyntecPrintOk(); - wifi_init = true; + wifiIniState = true; } else cyntecPrintError(CYNTEC_CMD_ERR_CALL_FAIL); @@ -443,7 +431,7 @@ memcpy( static_ip, argIP, argLen); if ( ethInterface.init((const char *)static_ip, NULL, NULL) == 0) { cyntecPrintOk(); - wifi_init = true; + wifiIniState = true; } else cyntecPrintError(CYNTEC_CMD_ERR_CALL_FAIL); } else { @@ -541,6 +529,9 @@ } else if (cyntecGetCommandTokenCnt() == 3) { port = atoi((const char*)(cyntecGetCommandArgument(0, NULL))); +#ifdef DELTA_WIFI_DEBUG + console.printf("port:%i\r\n",port); +#endif if (port < 0) { cyntecPrintError(CYNTEC_CMD_ERR_ARGUMENT_OUT_OF_RANGE); return; @@ -1090,12 +1081,28 @@ } } //static void cyn_wifi_udp_endpoint_get_address(){} -static void cyn_wifi_udp_endpoint_port() +static void cyn_wifi_udp_endpoint_port() // 2015/1/20: Lester add { console.printf("\r\nOK;%d\r\n\r\n",cliEndpoint.get_port()); } -// 2015/1/20: Lester add +int wifi_receive_UDP_callback(uint8_t *data, int size, char* ipaddr, int port) +{ +#ifdef DELTA_WIFI_DEBUG + console.printf("wifi_receive_UDP_callback:"); +#endif + console.printf("rTCP;%s,%i,%s,%d;\r\n",data, size, ipaddr, port); + // Gill note: port number may different from original +} + +int wifi_receive_TCP_callback(uint8_t *data, int size, char* ipaddr, int port) +{ +#ifdef DELTA_WIFI_DEBUG + console.printf("wifi_receive_TCP_callback\r\n"); +#endif + console.printf("rUDP;%s,%i,%s,%d\r\n",data, size, ipaddr, port); + // Gill note: port number may different from original +} CyntecCommandEntry wifiCommandSets[] = { #if SIMPLE_CMD_NAME @@ -1148,7 +1155,6 @@ {"UERS", cyn_wifi_udp_endpoint_reset_address, NULL, "Reset the address of this endpoint"}, {"UEAD", cyn_wifi_udp_endpoint_address, NULL, " <IPADDR> <PORT> Set/Get the address of this endpoint"}, {"UEPT", cyn_wifi_udp_endpoint_port, NULL, "Get the port of this endpoint"}, - {NULL, NULL, NULL, NULL}, #else /////////**** WIFI Device ****//////////