diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c index cc5e4b27e..b3cc7caae 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c @@ -87,24 +87,24 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) } case IDM_SEND_TYPE: { - puiPara->SendType = uwOption; + puiPara->SendType = (uwOption == 3 ? 4 : uwOption); puiPara->TimeSend4Switch = 0; puiPara->TimeSend3Switch = 0; puiPara->TimeSend2Switch = 0; puiPara->TimeSend1Switch = 0; - switch (uwOption) + switch (puiPara->SendType) { case FOUR_TIME_DAY: puiPara->TimeSend4Switch = 1; - // break; - case TWICE_DAY: puiPara->TimeSend3Switch = 1; // break; - case ONCE_DAY: + case TWICE_DAY: puiPara->TimeSend2Switch = 1; // break; - default: + case ONCE_DAY: puiPara->TimeSend1Switch = 1; + // break; + default: break; } printf("\033[33m[Send_MenuCallback]SendType:%d\033[0m\n", puiPara->SendType); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h index 233ea450e..331bc4e85 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h @@ -7,8 +7,8 @@ extern TM_ITEM gTM_ITEMS_SEND[]; enum SendType { ONCE_DAY = 1, - TWICE_DAY, - FOUR_TIME_DAY, + TWICE_DAY = 2, + FOUR_TIME_DAY = 4, END }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c index 692e9dccc..0b0a7865b 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c @@ -174,7 +174,7 @@ static void load_info_from_sf(void) SysSetFlag(IDF_DATE_AND_TIME, puiPara->DateAuto == SF_DATE_AUTO ? OPTION_0 : OPTION_1); SysSetFlag(IDF_MAX_NUM_DAY, puiPara->SendMaxNum == 0 ? OPTION_0 : OPTION_1); SysSetFlag(IDF_SETTINGS_CHECK, puiPara->GprsMode); - SysSetFlag(IDF_SEND_TYPE, puiPara->SendType); + SysSetFlag(IDF_SEND_TYPE, (puiPara->SendType == 4 ? 3 : puiPara->SendType)); SysSetFlag(IDF_CHECK_IN_PHOTO, puiPara->PicUpDailyReport); SysSetFlag(IDF_GPS, puiPara->GpsSwitch); SysSetFlag(IDF_BATTERY_TYPE, puiPara->BatteryType); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c index b86e78514..6ceb46cc7 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c @@ -1415,22 +1415,23 @@ static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m #if HUNTING_CAMERA_MCU == ENABLE if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO || puiPara->CamMode == SF_CAM_MODE_VIDEO2){ + sf_set_phone_shot_status(PHONE_SHOT_STOP); if(sf_get_mode_flag()) { sf_wifi_server_stop_shoot_respond(0); } #else - if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ + if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ #endif - - int iCurrMode = System_GetState(SYS_STATE_CURRMODE); - int iNextMode = PRIMARY_MODE_PHOTO; - UI_SetData(FL_PreMode, iCurrMode); - UI_SetData(FL_NextMode, iNextMode); - Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); - } + + int iCurrMode = System_GetState(SYS_STATE_CURRMODE); + int iNextMode = PRIMARY_MODE_PHOTO; + UI_SetData(FL_PreMode, iCurrMode); + UI_SetData(FL_NextMode, iNextMode); + Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); + } break; - } + } case NVTEVT_CB_MOVIE_WR_ERROR: { @@ -1539,7 +1540,7 @@ void UIFlowMovieEventCallback(lv_obj_t* obj, lv_event_t event) case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); - if (LV_KEY_ENTER != *key) + if (LV_KEY_ENTER != *key || PHONE_SHOT_START == sf_get_phone_shot_status()) { lv_indev_wait_release(lv_indev_get_act()); break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index ac77f7893..d928dba99 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1683,6 +1683,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); } else { + sf_set_phone_shot_status(PHONE_SHOT_START); if(sf_get_mode_flag()) { sf_wifi_server_stop_shoot_respond(0); @@ -2055,7 +2056,8 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) case LV_EVENT_KEY: { - if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus) + if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus || + PHONE_SHOT_START == sf_get_phone_shot_status()) { printf("PHOTO_ST_CAPTURE not handl key event.\n"); break; @@ -2068,7 +2070,8 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) } case LV_USER_EVENT_KEY_RELEASE: { - if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus) + if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus || + PHONE_SHOT_START == sf_get_phone_shot_status()) { printf("PHOTO_ST_CAPTURE not handl key event.\n"); break; 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 f705dec59..f8ce4f41a 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 @@ -916,7 +916,11 @@ typedef enum thumbSize{ THUMB_1280x960, THUMB_1920x1440, }thumbSize_t; - +typedef enum phoneShot{ + PHONE_SHOT_START, + PHONE_SHOT_STOP, + PHONE_SHOT_END, +}PHONE_SHOT_E; /* UINT8 forbuild[32]; @@ -947,4 +951,6 @@ void sf_apinfo_thread_init(void); void sf_wifi_set_cam_mode(void); void appSvrResponseSocketSet(SINT32 socket); SINT32 appSvrResponseSocketGet(void); +void sf_set_phone_shot_status(const PHONE_SHOT_E status); +const PHONE_SHOT_E sf_get_phone_shot_status(void); #endif /*__SF_WIFI_SERVER__*/ 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 a62c26c74..52d8094fb 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 @@ -141,6 +141,8 @@ INT32 DigitalZoom = 0; sysMsg_t sendMsg; static SF_WIFI_STATUS_E WifiStatus = SF_WIFI_BUTT; +static PHONE_SHOT_E gPhoneShot = PHONE_SHOT_END; + /************************************************************************** * E X T E R N A L R E F E R E N C E S * **************************************************************************/ @@ -1996,7 +1998,8 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) { //Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_PRESS); //Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_RELEASE); - + + sf_set_phone_shot_status(PHONE_SHOT_START); FlowPhoto_DoCapture(); respFlag = 1; ret = 0; @@ -2213,6 +2216,15 @@ SINT32 appSvrResponseSocketGet(void) //printf("appSvrResponseSocketSet socket=%d\n", socket); return gSendSocket; } +void sf_set_phone_shot_status(const PHONE_SHOT_E status) +{ + printf("sf_set_phone_shot_status = %d\n", status); + gPhoneShot = status; +} +const PHONE_SHOT_E sf_get_phone_shot_status(void) +{ + return gPhoneShot; +} UINT8 sf_wifi_server_stop_shoot_respond(UINT8 errCode) {