nt9856x/code/application/source/cardv/SrcCode/UIApp/Network/WifiAppCmd.c
2023-05-17 15:33:39 +08:00

681 lines
21 KiB
C

#include <string.h>
#include "PrjCfg.h"
#include "WifiAppCmd.h"
#include "UIWnd/UIFlow.h"
#if(WIFI_AP_FUNC==ENABLE)
#include "WiFiIpc/nvtwifi.h"
#include "NvtUser/NVTEvent.h"
#include "NVTToolCommand.h"
#include "UIAppWiFiCmd.h"
#include "UIWnd/UIFlow.h"
//#include "UIWnd/SPORTCAM/UIInfo/UIInfo.h"
#include "UsockIpc/UsockIpcAPI.h"
#include "kflow_common/nvtmpp.h"
#include "kwrap/error_no.h"
//#include "SysCfg.h"
#if (USOCKET_CLIENT==ENABLE)
#include "UsockCliIpc/UsockCliIpcAPI.h"
#endif
#include "WifiAppXML.h"
//#NT#2016/03/23#Isiah Chang -begin
//#NT#add new Wi-Fi UI flow.
#if(WIFI_UI_FLOW_VER == WIFI_UI_VER_2_0)
#include "SysMain.h"
#endif
//#NT#2016/03/23#Isiah Chang -end
//#NT#2016/05/31#Ben Wang -begin
//#NT#Add UVC multimedia function.
#if(UVC_MULTIMEDIA_FUNC == ENABLE)
#include "SysMain.h"
#include "UIApp/UsbCommand/UsbCmdAPI.h"
#include "Mode/UIModeMovie.h"
#endif
//#NT#2016/05/31#Ben Wang -end
#include "sys_mempool.h"
#define UDP_SOCKET 0
#define THIS_DBGLVL 5 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
///////////////////////////////////////////////////////////////////////////////
#define __MODULE__ WifiAppCmd
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
#include <kwrap/debug.h>
///////////////////////////////////////////////////////////////////////////////
extern WIFI_CMD_ENTRY Cmd_app[];
#if (USOCKET_CLIENT==ENABLE)
INT32 gUsockCliHandle = 0;
void UserCliSocket_Notify(int status,int parm)
{
DBG_IND("status %d %d\r\n",status,parm);
switch (status)
{
case CYG_USOCKETCLI_STATUS_CLIENT_REQUEST:
{
}
break;
case CYG_USOCKETCLI_STATUS_CLIENT_DISCONNECT:
{
DBG_ERR("UserCliSocket disconnect!!!\r\n");
}
break;
}
}
int UserCliSocket_Recv(char* addr, int size)
{
if(addr && (size>0))
{
addr[size]='\0';
DBG_IND("%s %d\r\n",addr,size);
}
return TRUE;
}
void UserSocketClient_Open(void)
{
usocket_cli_obj usocketCliObj={0};
DBG_IND("open usocket client \r\n");
usocketCliObj.notify = UserCliSocket_Notify;
usocketCliObj.recv = UserCliSocket_Recv;
sprintf(usocketCliObj.svrIP,"%s","192.168.1.100");
usocketCliObj.portNum = 8888;
usocketCliObj.sockbufSize = 40960;
usocketCliObj.timeout = 10;
gUsockCliHandle = UsockCliIpc_Connect(&usocketCliObj);
DBGH(gUsockCliHandle);
if(gUsockCliHandle)
UsockCliIpc_Start();
}
void UserSocketClient_Close(void)
{
DBGH(gUsockCliHandle);
UsockCliIpc_Disconnect(&gUsockCliHandle);
CHKPNT;
UsockCliIpc_Stop();
}
int UserSocketClient_Send(char* addr, int* size)
{
return UsockCliIpc_Send(gUsockCliHandle,addr,size);
}
#endif
void UserSocket_Notify(int status, int parm)
{
//DBG_IND("Notify %d %d\r\n",status,parm);
switch (status) {
case CYG_USOCKET_STATUS_CLIENT_CONNECT:
if (parm) {
DBG_IND("con %d.%d.%d.%d\r\n", (parm & 0xFF), (parm >> 8) & 0xFF, (parm >> 16) & 0xFF, (parm >> 24) & 0xFF);
}
break;
case CYG_USOCKET_STATUS_CLIENT_REQUEST:
break;
case CYG_USOCKET_STATUS_CLIENT_DISCONNECT:
if (parm) {
DBG_IND("discon %d.%d.%d.%d\r\n", (parm & 0xFF), (parm >> 8) & 0xFF, (parm >> 16) & 0xFF, (parm >> 24) & 0xFF);
}
break;
}
}
#if UDP_SOCKET
void UserUdpSocket_Notify(int status, int parm)
{
switch (status) {
case CYG_USOCKET_UDP_STATUS_CLIENT_REQUEST: {
}
break;
}
}
#endif
#define SND_DATA_SIZE 128
UINT32 WifiApp_SendCmd(UINT32 cmd, UINT32 status)
{
static char bufArry[SND_DATA_SIZE];
static UINT32 len = 0;
UINT32 result = E_OK;
char *buf = bufArry;
UINT32 sendlen = 0;
UINT32 bufSize = SND_DATA_SIZE;
memset(bufArry, 0, sizeof(bufArry));
len = XML_snprintf(&buf, &bufSize, DEF_XML_HEAD);
len = XML_snprintf(&buf, &bufSize, DEF_XML_RET, cmd, status);
len = buf - bufArry;
//DBG_DUMP("%d\r\n",len);
//DBG_DUMP("%s\r\n",bufArry);
if (len < SND_DATA_SIZE) {
sendlen = len;
DBG_IND(" %s %d\r\n", bufArry, sendlen);
//#NT#2016/05/31#Ben Wang -begin
//#NT#Add UVC multimedia function.
#if(UVC_MULTIMEDIA_FUNC == ENABLE)
if (System_GetState(SYS_STATE_CURRSUBMODE) == SYS_SUBMODE_UVC) {
result = UsbCmd_Send(bufArry, (int *)&len);
} else
#endif
{
result = UserSocket_Send(bufArry, (int *)&len);
}
//#NT#2016/05/31#Ben Wang -end
if (sendlen != len) {
result = E_SYS;
DBG_ERR("sent %d error,should %d\r\n", len, sendlen);
}
} else {
DBG_ERR("len %d err\r\n", len);
result = E_SYS;
}
return result;
}
UINT32 WifiApp_SendAutoTestCmd(UINT32 par1, UINT32 par2)
{
static char bufArry[SND_DATA_SIZE];
static UINT32 len = 0;
UINT32 result = E_OK;
char *buf = bufArry;
UINT32 sendlen = 0;
UINT32 bufSize = SND_DATA_SIZE;
memset(bufArry, 0, sizeof(bufArry));
len = XML_snprintf(&buf, &bufSize, DEF_XML_HEAD);
len = XML_snprintf(&buf, &bufSize, "<Function>\n<Cmd>AutoTest</Cmd>\n<Par1>%d</Par1>\n<Par2>%d</Par2>\n</Function>", par1, par2);
len = buf - bufArry;
//DBG_DUMP("%d\r\n",len);
//DBG_DUMP("%s\r\n",bufArry);
if (len < SND_DATA_SIZE) {
if (len & 0xF) {
//DBG_DUMP("%d\r\n",len);
len = (len + 0xF) & 0xFFFFFFF0 ;
//DBG_DUMP("%d\r\n",len);
}
sendlen = len;
DBG_IND(" %s %d\r\n", bufArry, sendlen);
//#NT#2016/05/31#Ben Wang -begin
//#NT#Add UVC multimedia function.
#if(UVC_MULTIMEDIA_FUNC == ENABLE)
if (System_GetState(SYS_STATE_CURRSUBMODE) == SYS_SUBMODE_UVC) {
result = UsbCmd_Send(bufArry, (int *)&len);
} else
#endif
{
result = UserSocket_Send(bufArry, (int *)&len);
}
//#NT#2016/05/31#Ben Wang -end
if (sendlen != len) {
result = E_SYS;
DBG_ERR("sent %d error,should %d\r\n", len, sendlen);
}
} else {
DBG_ERR("len %d err\r\n", len);
result = E_SYS;
}
return result;
}
INT32 WifiApp_Recv(char *addr, INT32 size)
{
if (addr && (size > 0)) {
DBG_IND("%s %d\r\n\r\n", addr, size);
}
return TRUE;
}
//#NT#2016/03/23#Isiah Chang -begin
//#NT#add new Wi-Fi UI flow.
INT32 WifiApp_CheckIfWifiMode(void)
{
#if(WIFI_UI_FLOW_VER == WIFI_UI_VER_2_0)
if (System_GetState(SYS_STATE_CURRSUBMODE) == SYS_SUBMODE_WIFI) {
return TRUE;
}
return FALSE;
#elif(WIFI_UI_FLOW_VER == WIFI_UI_VER_1_0)
return TRUE;
#endif
}
//#NT#2016/03/23#Isiah Chang -end
void UserSocket_Open(void)
{
usocket_install_obj usocketObj = {0};
DBG_IND("open usocket\r\n");
usocketObj.notify = UserSocket_Notify;
usocketObj.recv = UserSocket_Recv;
usocketObj.portNum = 3333;
usocketObj.threadPriority = 6;
usocketObj.sockbufSize = 40960;
UsockIpc_Init(&usocketObj);
#if UDP_SOCKET
usocket_install_obj usocketUdpObj = {0};
DBG_IND("open udp usocket\r\n");
usocketUdpObj.notify = UserUdpSocket_Notify;
usocketUdpObj.recv = UserUdpSocket_Recv;
usocketUdpObj.portNum = 2222;
usocketUdpObj.threadPriority = 8;
usocketUdpObj.sockbufSize = 0;
UsockIpc_Udp_Init(&usocketUdpObj);
#endif
}
void UserSocket_Close(void)
{
UsockIpc_Uninit();
#if UDP_SOCKET
UsockIpc_Udp_Uninit();
#endif
}
int UserSocket_Send(char *addr, int *size)
{
return UsockIpc_Send(addr, size);
}
int UserSocket_Recv(char *addr, int size)
{
if (addr && (size > 0)) {
addr[size] = '\0';
DBG_IND("%s %d\r\n", addr, size);
//#NT#2016/03/23#Isiah Chang -begin
//#NT#add new Wi-Fi UI flow.
#if(WIFI_UI_FLOW_VER == WIFI_UI_VER_2_0)
Ux_PostEvent(NVTEVT_WIFI_EXE_HEARTBEAT, 0);
#endif
//#NT#2016/03/23#Isiah Chang -end
}
return TRUE;
}
#if UDP_SOCKET
int UserUdpSocket_Recv(char *addr, int size)
{
if (addr && (size > 0)) {
addr[size] = '\0';
DBG_IND("%s %d\r\n", addr, size);
}
return TRUE;
}
#endif
static UINT32 XML_InitBuf(void)
{
#if 0 //avoid memory fragment,always use fix poll,
//xmlPool = AppMem_Alloc("XML", POOL_SIZE_TEMP);
//XML_SetTempMem(xmlPool.Addr,xmlPool.Size);
NVTMPP_VB_POOL pool;
UINT32 blk_size = POOL_SIZE_TEMP;
pool = nvtmpp_vb_create_pool("XML", blk_size, 1, NVTMPP_DDR_1);
if (NVTMPP_VB_INVALID_POOL == pool)
{
DBG_ERR("create private pool err\r\n");
return FALSE;
}
blk_xml = nvtmpp_vb_get_block(0, pool, blk_size, NVTMPP_DDR_1);
if (NVTMPP_VB_INVALID_BLK == blk_xml)
{
DBG_ERR("get vb block err\r\n");
return FALSE;
}
XML_SetTempMem(nvtmpp_vb_block2addr(blk_xml), blk_size);
return TRUE;
#else
XML_SetTempMem(mempool_xml_temp, POOL_SIZE_XML_TEMP_BUF);
return TRUE;
#endif
}
static UINT32 XML_UnInitBuf(void)
{
#if 0 //avoid memory fragment,always use fix poll,
NVTMPP_VB_POOL pool;
pool = nvtmpp_vb_addr2pool(nvtmpp_vb_block2addr(blk_xml));
if (pool == NVTMPP_VB_INVALID_POOL){
DBG_ERR("invalid block 0x%08X\r\n",blk_xml);
return FALSE;
} else {
return nvtmpp_vb_destroy_pool(pool);
}
#else
SysMain_RelTempBuffer(XML_GetTempMem(POOL_SIZE_XML_TEMP_BUF));
return TRUE;
#endif
}
void WifiAppCmd_init(void)
{
WifiCmd_SetExecTable(Cmd_app);
WifiCmd_SetDefautCB((UINT32)XML_DefaultFormat);
WifiCmd_SetEventHandle((UINT32)Ux_PostEvent);
//#NT#2016/03/23#Isiah Chang -begin
//#NT#add new Wi-Fi UI flow.
WifiCmd_SetAppStartupChecker((UINT32)WifiApp_CheckIfWifiMode);
WifiCmd_SetAppStartupCmdCode(WIFIAPP_CMD_APP_STARTUP);
//#NT#2016/03/23#Isiah Chang -end
XML_InitBuf();
}
void WifiAppCmd_UnInit(void)
{
XML_UnInitBuf();
}
WIFI_CMD_BEGIN(app)
//#NT#2016/03/04#YongChang Qui -begin
//#NT#Add wifi app command support for linux cardv wifi.
#if (WIFI_AP_FUNC==ENABLE)
//#NT#2016/03/04#YongChang Qui -end
#if 1//_TODO
WIFI_CMD_ITEM(WIFIAPP_CMD_CAPTURE, NVTEVT_WIFI_EXE_PHOTO_CAPTURE, (UINT32)XML_GetPictureEnd, WIFIFLAG_CAPTURE_DONE, FL_NULL)
#else
WIFI_CMD_ITEM(WIFIAPP_CMD_CAPTURE, NVTEVT_WIFI_EXE_PHOTO_CAPTURE, (UINT32)XML_GetPictureEnd, 0, FL_NULL)
#endif
WIFI_CMD_ITEM(WIFIAPP_CMD_CAPTURESIZE, NVTEVT_WIFI_EXE_PHOTO_SIZE, 0, 0, FL_PHOTO_SIZE)
WIFI_CMD_ITEM(WIFIAPP_CMD_FREE_PIC_NUM, 0, (UINT32)XML_GetFreePictureNum, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_RECORDING_TIME, 0, (UINT32)XML_GetMovieRecStatus, 0, FL_MOVIE_REC)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_REC_TRIGGER_RAWENC, NVTEVT_WIFI_EXE_MOVIE_TRIGGER_RAWENC, 0, WIFIFLAG_MOVIE_REC_RAWENC_DONE, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_GET_RAWENC_JPG, 0, (UINT32)XML_GetRawEncJpg, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_GET_LIVEVIEW_FMT, 0, (UINT32)XML_GetLiveViewFmt, 0, FL_NULL)
//#NT#2016/12/02#Isiah Chang -begin
//#NT#Add WiFiCmd Bitrate control.
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_BRC_ADJUST, NVTEVT_WIFI_EXE_MOVIE_BRC_ADJUST, 0, 0, FL_NULL)
//#NT#2016/12/02#Isiah Chang -bend
#if 1//_TODO
WIFI_CMD_ITEM(WIFIAPP_CMD_RECORD, NVTEVT_WIFI_EXE_MOVIE_REC, 0, WIFIFLAG_RECORD_DONE, FL_MOVIE_REC)
#else
WIFI_CMD_ITEM(WIFIAPP_CMD_RECORD, NVTEVT_WIFI_EXE_MOVIE_REC, 0, 0, FL_MOVIE_REC)
#endif
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_REC_SIZE, NVTEVT_WIFI_EXE_MOVIE_REC_SIZE, 0, 0, FL_MOVIE_SIZE)
WIFI_CMD_ITEM(WIFIAPP_CMD_CYCLIC_REC, NVTEVT_WIFI_EXE_CYCLIC_REC, 0, 0, FL_MOVIE_CYCLIC_REC)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_WDR, NVTEVT_WIFI_EXE_MOVIE_WDR, 0, 0, FL_MOVIE_WDR)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_EV, NVTEVT_WIFI_EXE_MOVIE_EV, 0, 0, FL_EV)
//#NT#2016/06/03#Charlie Chang -begin
//#NT# support contrast, twoway audio, flip_mirror, movie quality set
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_CONTRAST, NVTEVT_WIFI_EXE_MOVIE_CONTRAST, 0, 0, FL_MOVIE_CONTRAST)
WIFI_CMD_ITEM(WIFIAPP_CMD_TWOWAY_AUDIO, NVTEVT_WIFI_EXE_MOVIE_AUDIOIN, 0, 0, FL_MOVIE_AUDIOIN)
WIFI_CMD_ITEM(WIFIAPP_CMD_TWOWAY_AUDIO_SAMPLERATE, NVTEVT_WIFI_EXE_MOVIE_AUDIOIN_SR, 0, 0, FL_MOVIE_AUDIOIN_SR)
WIFI_CMD_ITEM(WIFIAPP_CMD_FLIP_MIRROR, NVTEVT_WIFI_EXE_MOVIE_FLIP_MIRROR, 0, 0, FL_MOVIE_FLIP_MIRROR)
WIFI_CMD_ITEM(WIFIAPP_CMD_QUALITYSET, NVTEVT_WIFI_EXE_MOVIE_QUALITY_SET, 0, 0, FL_MOVIE_QUALITY_SET)
//#NT#2016/06/03#Charlie Chang -end
WIFI_CMD_ITEM(WIFIAPP_CMD_MOTION_DET, NVTEVT_WIFI_EXE_MOTION_DET, 0, 0, FL_MOVIE_MOTION_DET)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_AUDIO, NVTEVT_WIFI_EXE_MOVIE_AUDIO, 0, 0, FL_MOVIE_AUDIO)
WIFI_CMD_ITEM(WIFIAPP_CMD_DATEIMPRINT, NVTEVT_WIFI_EXE_DATEIMPRINT, 0, 0, FL_MOVIE_DATEIMPRINT)
WIFI_CMD_ITEM(WIFIAPP_CMD_MAX_RECORD_TIME, 0, (UINT32)XML_GetMaxRecordTime, 0, FL_NULL)
#if (WIFI_FINALCAM_APP_STYLE == ENABLE)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_LIVEVIEW_SIZE, NVTEVT_WIFI_EXE_MOVIE_LIVEVIEW_SIZE, 0, 0, FL_WIFI_MOVIE_APP_PREVIEW_SIZE)
#endif
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_GSENSOR_SENS, NVTEVT_WIFI_EXE_MOVIE_GSENSOR_SENS, 0, 0, FL_GSENSOR)
WIFI_CMD_ITEM(WIFIAPP_CMD_SET_AUTO_RECORDING, NVTEVT_WIFI_EXE_SET_AUTO_RECORDING, 0, 0, FL_WIFI_AUTO_RECORDING)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_REC_BITRATE, NVTEVT_WIFI_EXE_MOVIE_REC_BITRATE, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_LIVEVIEW_BITRATE, NVTEVT_WIFI_EXE_MOVIE_LIVEVIEW_BITRATE, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_LIVEVIEW_START, NVTEVT_WIFI_EXE_MOVIE_LIVEVIEW_START, 0, WIFIFLAG_PREVIEW_DONE, FL_NULL)
#if 1//_TODO
WIFI_CMD_ITEM(WIFIAPP_CMD_MODECHANGE, NVTEVT_WIFI_EXE_MODE, 0, WIFIFLAG_MODE_DONE, FL_NULL)
#else
WIFI_CMD_ITEM(WIFIAPP_CMD_MODECHANGE, NVTEVT_WIFI_EXE_MODE, 0, 0, FL_NULL)
#endif
WIFI_CMD_ITEM(WIFIAPP_CMD_QUERY, 0, (UINT32)XML_QueryCmd, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SET_SSID, NVTEVT_WIFI_EXE_SET_SSID, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SET_PASSPHRASE, NVTEVT_WIFI_EXE_SET_PASSPHRASE, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SET_DATE, NVTEVT_WIFI_EXE_SET_DATE, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SET_TIME, NVTEVT_WIFI_EXE_SET_TIME, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_POWEROFF, NVTEVT_WIFI_EXE_POWEROFF, 0, 0, FL_AUTO_POWER_OFF)
WIFI_CMD_ITEM(WIFIAPP_CMD_LANGUAGE, NVTEVT_WIFI_EXE_LANGUAGE, 0, 0, FL_LANGUAGE)
WIFI_CMD_ITEM(WIFIAPP_CMD_TVFORMAT, NVTEVT_WIFI_EXE_TVFORMAT, 0, 0, FL_TV_MODE)
WIFI_CMD_ITEM(WIFIAPP_CMD_FORMAT, NVTEVT_WIFI_EXE_FORMAT, 0, WIFIFLAG_FORMAT_DONE, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SYSRESET, NVTEVT_WIFI_EXE_SYSRESET, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_VERSION, 0, (UINT32)XML_GetVersion, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_FWUPDATE, NVTEVT_WIFI_EXE_FWUPDATE, 0, WIFIFLAG_UPDATE_DONE, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_QUERY_CUR_STATUS, 0, (UINT32)XML_QueryCmd_CurSts, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_FILELIST, 0, (UINT32)XML_FileList, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_HEARTBEAT, 0, (UINT32)XML_GetHeartBeat, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_DISK_FREE_SPACE, 0, (UINT32)XML_GetDiskFreeSpace, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_RECONNECT_WIFI, NVTEVT_WIFI_EXE_RECONNECT, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_GET_BATTERY, 0, (UINT32)XML_GetBattery, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SAVE_MENUINFO, NVTEVT_WIFI_EXE_SAVEMENU, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_GET_HW_CAP, 0, (UINT32)XML_HWCapability, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_REMOVE_USER, NVTEVT_WIFI_EXE_REMOVE_USER, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_GET_CARD_STATUS, 0, (UINT32)XML_GetCardStatus, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_GET_DOWNLOAD_URL, 0, (UINT32)XML_GetDownloadURL, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_GET_UPDATEFW_PATH, 0, (UINT32)XML_GetUpdateFWPath, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SET_PIP_STYLE, NVTEVT_WIFI_EXE_PIP_STYLE, 0, 0, FL_DUAL_CAM)
WIFI_CMD_ITEM(WIFIAPP_CMD_GET_SSID_PASSPHRASE, 0, (UINT32)XML_GetSSID_passphrase, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_QUERY_MOVIE_SIZE, 0, (UINT32)XML_GetMovieSizeCapability, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_QUERY_MENUITEM, 0, (UINT32)XML_GetMenuItem, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SEND_SSID_PASSPHRASE, NVTEVT_WIFI_EXE_SEND_SSID_PASSPHRASE, 0, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SET_WIFI_CONNECT_MODE, NVTEVT_WIFI_EXE_SET_WIFI_CONNECT_MODE, 0, 0, FL_NetWorkMode)
WIFI_CMD_ITEM(WIFIAPP_CMD_AUTO_TEST_CMD_DONE, 0, (UINT32)XML_AutoTestCmdDone, 0, FL_NULL)
//#NT#2016/03/23#Isiah Chang -begin
//#NT#add new Wi-Fi UI flow.
#if(WIFI_UI_FLOW_VER == WIFI_UI_VER_2_0)
WIFI_CMD_ITEM(WIFIAPP_CMD_APP_STARTUP, 0, (UINT32)XML_APP_STARTUP, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_APP_SESSION_CLOSE, NVTEVT_WIFI_EXE_APP_SESSION_CLOSE, 0, 0, FL_NULL)
#endif
//#NT#2016/03/23#Isiah Chang -end
#if 1//_TODO
WIFI_CMD_ITEM(WIFIAPP_CMD_THUMB, 0, (UINT32)XML_GetThumbnail, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_SCREEN, 0, (UINT32)XML_GetThumbnail, 0, FL_NULL)
#endif
WIFI_CMD_ITEM(WIFIAPP_CMD_MOVIE_FILE_INFO, 0, (UINT32)XML_GetMovieFileInfo, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_DELETE_ONE, 0, (UINT32)XML_DeleteOnePicture, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_DELETE_ALL, 0, (UINT32)XML_DeleteAllPicture, 0, FL_NULL)
WIFI_CMD_ITEM(WIFIAPP_CMD_UPLOAD, 0, (UINT32)XML_UploadFile, 0, FL_NULL)
//#NT#2016/06/01#Isiah Chang -begin
//#NT#add a Wi-Fi command to get current mode status.
WIFI_CMD_ITEM(WIFIAPP_CMD_GET_MODE_STAUTS, 0, (UINT32)XML_GetCntModeStatus, 0, FL_NULL)
//#NT#2016/06/01#Isiah Chang -end
//#NT#2016/06/06#Charlie Chang -begin
//#NT# support wifi AP search
WIFI_CMD_ITEM(WIFIAPP_CMD_WIFIAP_SEARCH, 0, (UINT32)XML_GetWifiAP, 0, FL_NULL)
//#NT#2016/06/06#Charlie Chang -end
#endif
#if defined(_CPU2_LINUX_)
WIFI_CMD_ITEM(WIFIAPP_CMD_UPLOAD_AUDIO, 0, (UINT32)XML_UploadAudio, 0, FL_NULL)
#endif
WIFI_CMD_END()
#else
UINT32 WifiApp_SendCmd(UINT32 cmd, UINT32 status)
{
return 0;
}
int UserSocket_Send(char *addr, int *size)
{
return 0;
}
#endif
#if 1 //for socket test
#include "kwrap/cmdsys.h"
#include "kwrap/sxcmd.h"
#include <kwrap/stdio.h>
static BOOL Cmd_usock_send(unsigned char argc, char **argv)
{
int size = strlen(argv[0]);
UINT32 ret =0;
DBG_DUMP("\r\n argv[0] =%s\r\n", argv[0]);
ret = UsockIpc_Send(argv[0],&size);
DBG_DUMP("ret: %d ,send %d \r\n",ret ,size);
return TRUE;
}
static BOOL Cmd_xml_notify(unsigned char argc, char **argv)
{
INT32 status = 0;;
UINT32 ret =0;
DBG_DUMP("\r\n argv[0] =%s\r\n", argv[0]);
sscanf_s(argv[0], "%d", &status);
ret = WifiApp_SendCmd(WIFIAPP_CMD_NOTIFY_STATUS, status);
DBG_DUMP("ret: %d ,status %d \r\n",ret ,status);
return TRUE;
}
#if UDP_SOCKET
static BOOL Cmd_usock_udp_send(unsigned char argc, char **argv)
{
int size = strlen(argv[0]);
UINT32 ret =0;
DBG_DUMP("\r\n argv[0] =%s\r\n", argv[0]);
ret = UsockIpc_Udp_Send(argv[0],&size);
DBG_DUMP("ret: %d ,send %d \r\n",ret ,size);
return TRUE;
}
static BOOL Cmd_usock_udp_sendto(unsigned char argc, char **argv)
{
UINT32 ret =0;
DBG_DUMP("argc =%d\r\n", argc);
if(argc<3){
DBG_ERR("udpst [ip] [port] [data]");
return TRUE;
}else{
int portNum=0;
int size = 0;
sscanf_s(argv[1], "%d", &portNum);
size=strlen(argv[2]);
DBG_DUMP("%s:%d %s %d\r\n", argv[0],portNum,argv[2],size);
ret = UsockIpc_Udp_Sendto(argv[0],portNum,argv[2],&size);
DBG_DUMP("ret: %d ,send %d \r\n",ret ,size);
}
return TRUE;
}
#endif
#if (USOCKET_CLIENT==ENABLE)
static BOOL Cmd_usock_cli_open(unsigned char argc, char **argv)
{
if(argc==0){
UserSocketClient_Open();
}else{
usocket_cli_obj usocketCliObj={0};
DBG_IND("open usocket client \r\n");
usocketCliObj.notify = UserCliSocket_Notify;
usocketCliObj.recv = UserCliSocket_Recv;
sprintf(usocketCliObj.svrIP,"%s",argv[0]);
usocketCliObj.portNum = 8888;
usocketCliObj.sockbufSize = 40960;
usocketCliObj.timeout = 10;
gUsockCliHandle = UsockCliIpc_Connect(&usocketCliObj);
DBGH(gUsockCliHandle);
if(gUsockCliHandle)
UsockCliIpc_Start();
}
return TRUE;
}
static BOOL Cmd_usock_cli_close(unsigned char argc, char **argv)
{
UserSocketClient_Close();
return TRUE;
}
static BOOL Cmd_usock_cli_send(unsigned char argc, char **argv)
{
int size = strlen(argv[0]);
UINT32 ret =0;
DBG_DUMP("\r\n argv[0] =%s\r\n", argv[0]);
ret = UserSocketClient_Send(argv[0],&size);
DBG_DUMP("ret: %d ,send %d \r\n",ret ,size);
return TRUE;
}
#endif
static SXCMD_BEGIN(sock_tbl, "sock command")
SXCMD_ITEM("snd %", Cmd_usock_send, "sock send")
SXCMD_ITEM("notify %", Cmd_xml_notify, "xml notify")
#if UDP_SOCKET
SXCMD_ITEM("udps %", Cmd_usock_udp_send, "udp send")
SXCMD_ITEM("udpst %", Cmd_usock_udp_sendto, "udp send to")
#endif
#if (USOCKET_CLIENT==ENABLE)
SXCMD_ITEM("clio %", Cmd_usock_cli_open, "sock cli open")
SXCMD_ITEM("clic %", Cmd_usock_cli_close, "sock cli close")
SXCMD_ITEM("clis %", Cmd_usock_cli_send, "sock cli send")
#endif
SXCMD_END()
static int sock_showhelp(int (*dump)(const char *fmt, ...))
{
UINT32 cmd_num = SXCMD_NUM(sock_tbl);
UINT32 loop = 1;
dump("---------------------------------------------------------------------\r\n");
dump(" %s\n", "ker");
dump("---------------------------------------------------------------------\r\n");
for (loop = 1 ; loop <= cmd_num ; loop++) {
dump("%15s : %s\r\n", sock_tbl[loop].p_name, sock_tbl[loop].p_desc);
}
return 0;
}
MAINFUNC_ENTRY(sock, argc, argv)
{
UINT32 cmd_num = SXCMD_NUM(sock_tbl);
UINT32 loop;
int ret;
if (argc < 2) {
return -1;
}
if (strncmp(argv[1], "?", 2) == 0) {
sock_showhelp(vk_printk);
return 0;
}
for (loop = 1 ; loop <= cmd_num ; loop++) {
if (strncmp(argv[1], sock_tbl[loop].p_name, strlen(argv[1])) == 0) {
ret = sock_tbl[loop].p_func(argc-2, &argv[2]);
return ret;
}
}
return 0;
}
#endif