681 lines
21 KiB
C
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
|