diff --git a/code/application/source/sf_app/code/include/sf_wifi_svr.h b/code/application/source/sf_app/code/include/sf_wifi_svr.h index d2f971833..065ff1ce0 100755 --- a/code/application/source/sf_app/code/include/sf_wifi_svr.h +++ b/code/application/source/sf_app/code/include/sf_wifi_svr.h @@ -944,5 +944,5 @@ void sf_wifi_app_start(void); UINT8 sf_wifi_server_stop_shoot_respond(UINT8 errCode); void sf_apinfo_thread_init(void); - +void sf_wifi_set_cam_mode(void); #endif /*__SF_WIFI_SERVER__*/ diff --git a/code/application/source/sf_app/code/source/wifi/sf_getapinfo.c b/code/application/source/sf_app/code/source/wifi/sf_getapinfo.c index a3b13846e..352e859cc 100644 --- a/code/application/source/sf_app/code/source/wifi/sf_getapinfo.c +++ b/code/application/source/sf_app/code/source/wifi/sf_getapinfo.c @@ -302,7 +302,7 @@ static int print_event(struct nl_msg *msg, void *arg) switch (gnlh->cmd) { case NL80211_CMD_NEW_STATION: mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC])); - MLOGI("new station %s\n", macbuf); + MLOGI("new station %s connectNum:%d\n", macbuf,connectNum); connectNum++; if(connectNum == 1) { @@ -310,11 +310,12 @@ static int print_event(struct nl_msg *msg, void *arg) sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_CONNECTED); //sf_app_msg_data_snd(SY_MSG_WIFI_CONNECT,(unsigned char*)NULL); } + sf_wifi_set_cam_mode(); break; case NL80211_CMD_DEL_STATION: mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC])); - MLOGI("del station %s\n", macbuf); + MLOGI("del station %s connectNum:%d\n", macbuf, connectNum); connectNum--; if(connectNum < 0) connectNum = 0; diff --git a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c index 128b012f1..190552d10 100755 --- a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c +++ b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c @@ -263,6 +263,31 @@ void sf_set_wifi_status(SF_WIFI_STATUS_E enStatus) } +void sf_wifi_set_cam_mode(void) +{ + int iCurrMode = System_GetState(SYS_STATE_CURRMODE); + int iNextMode = PRIMARY_MODE_PHOTO; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + + if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_VIDEO2)) + { + iNextMode = PRIMARY_MODE_PHOTO; + } + else if(puiPara->CamMode == SF_CAM_MODE_VIDEO) + { + iNextMode = PRIMARY_MODE_MOVIE; + } + else + { + iNextMode = PRIMARY_MODE_PHOTO; + } + if((iNextMode != iCurrMode) || ((TRUE != sf_is_preview()))) + { + UI_SetData(FL_PreMode, iCurrMode); + UI_SetData(FL_NextMode, iNextMode); + Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); + } +} //forbuild function need in other file --start--- UINT32 sp5kFsFileSizeGet(const char *path) { diff --git a/code/lib/source/sifar/code/source/common/sf_common.c b/code/lib/source/sifar/code/source/common/sf_common.c index edc8a7dcc..6a0861231 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -318,7 +318,8 @@ void sf_mode_detect(void) //if(((System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_PHOTO)&& (gPhotoData.State == PHOTO_ST_VIEW)) // || ((System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_MOVIE) && (FlowMovie_GetMovDataState() == MOV_ST_VIEW))) - if(sf_is_preview()) + //if(sf_is_preview()) + if(FALSE == sf_get_cap_statu() && FALSE == sf_is_movie_running()) { //printf("----AutoOfftime=%d\n",AutoOfftime); /*if(AutoOfftime<184)