From 73b9cb7a62a80522da309da57fe8cd91832540f3 Mon Sep 17 00:00:00 2001 From: payton Date: Thu, 24 Aug 2023 14:21:12 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E5=8F=82=E6=95=B0=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c | 6 +- .../code/source/paramMng/sf_param_common.c | 83 +++++++++++++++++++ .../UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h | 6 +- .../UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c | 51 ++++++++++-- rtos/code/driver/na51089/include/sf_mcu.h | 1 + rtos/code/driver/na51089/source/mcu/sf_mcu.c | 46 ++++++++++ 6 files changed, 180 insertions(+), 13 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index c273efb58..9da211d10 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -742,9 +742,9 @@ EXIT: //origInfo_check = currentInfo; memcpy(&origInfo, ¤tInfo, sizeof(currentInfo)); memcpy(&origInfo_check, ¤tInfo, sizeof(currentInfo)); -#if HUNTING_CAMERA_MCU == ENABLE - sf_share_mem_customer_down(0); -#endif +//#if HUNTING_CAMERA_MCU == ENABLE +// sf_share_mem_customer_down(0); +//#endif if(sys_mtd_fp){ fclose(sys_mtd_fp); sys_mtd_fp = NULL; diff --git a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c index 2e3fbf274..55f919e35 100755 --- a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c +++ b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c @@ -248,7 +248,89 @@ static int find_sys_mtd_device(char* result_buf, const UINT32 result_buf_size) return ret; } +UINT32 sf_app_set_pir_sensitivity(UINT8 pirs) +{ + UINT8 digPirLevel[10] = {200, 38, 30, 24, 18, 16, 10, 9, 8, 7}; + UINT8 digPirCount[10] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1}; + + UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + //UIMenuStoreInfo *puiPara = sf_ui_para_get(); + if(pirs >= 10) + return FAIL; + puiPara->PirSensitivity = pirs; + puiPara->DigitPirSensitivity = digPirLevel[pirs]; + puiPara->DigitPirCnt = digPirCount[pirs]; + puiPara->DigitPirWindowTime = 0; + //#if SF_IS_RELEASE == ENABLE + if(puiPara->PirSensitivity) + { + puiPara->TimelapseSwitch = SF_OFF; + puiPara->TimelapseTime.Hour = 0; + puiPara->TimelapseTime.Min = 0; + puiPara->TimelapseTime.Sec = 0; + //Save_MenuInfo(); + } + //#endif + return SUCCESS; +} +/************************************************* + Function: sf_power_on_para_check_init + Description: power on reset para + Input: N/A + Output: N/A + Return: N/A + Others: N/A +*************************************************/ +void sf_app_power_on_para_check_init(void) +{ +#if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + UINT8 PowerOnMode = sf_poweron_type_get(); + if(((PowerOnMode == SF_MCU_STARTUP_NORMAL) || (PowerOnMode == SF_MCU_STARTUP_OFF) || (PowerOnMode == SF_MCU_STARTUP_ONKEY))) + { + if(1 == puiPara->NeedTimeSyncStartUp){ + puiPara->NeedTimeSyncStartUp = 0; + } + if(0 == puiPara->NetWorkNeedSearch){ + puiPara->NetWorkNeedSearch = 1; + } + memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid)); + } + printf("PowerOnMode=%d NeedTimeSyncStartUp=%d NetWorkNeedSearch:%d\n", PowerOnMode, puiPara->NeedTimeSyncStartUp, puiPara->NetWorkNeedSearch); + if(puiPara->Multishot != sf_sys_get_flag(FL_CONTINUE_SHOT)) + { + sf_sys_set_flag(FL_CONTINUE_SHOT, puiPara->Multishot); + } + + if(puiPara->VideoSize != sf_sys_get_flag(FL_MOVIE_SIZE)) + { + sf_sys_set_flag(FL_MOVIE_SIZE, puiPara->VideoSize); + sf_sys_set_flag(FL_MOVIE_SIZE_MENU, puiPara->VideoSize); + } + + if(puiPara->ImgSize != sf_sys_get_flag(FL_PHOTO_SIZE)) + { + sf_sys_set_flag(FL_PHOTO_SIZE, puiPara->ImgSize); + } + + if(puiPara->DateStyle != sf_sys_get_flag(FL_DateFormatIndex)) + { + sf_sys_set_flag(FL_DateFormatIndex, puiPara->DateStyle); + } + if(puiPara->Language != sf_sys_get_flag(FL_LANGUAGE)) + { + sf_sys_set_flag(FL_LANGUAGE, puiPara->Language); + } + if(puiPara->StampSwitch != sf_sys_get_flag(FL_DATE_STAMP)) + { + sf_sys_set_flag(FL_DATE_STAMP, puiPara->StampSwitch); + } + #if SF_HW_TEST != ENABLE + sf_app_set_pir_sensitivity(puiPara->PirSensitivity); + #endif +#endif +} int sf_customer_param_load(void) { unsigned long long partition_ofs= 0, partition_size = 0; @@ -321,6 +403,7 @@ EXIT: //SysCheckFlag(); //origInfo = currentInfo; //origInfo_check = currentInfo; + sf_app_power_on_para_check_init(); memcpy(&origInfo, ¤tInfo, sizeof(currentInfo)); memcpy(&origInfo_check, ¤tInfo, sizeof(currentInfo)); if(sys_mtd_fp){ diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h index 98f0808ce..bf0fcd70a 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h @@ -264,10 +264,10 @@ #define SIFAR_FTP_USERNAME "cameraftp" #define SIFAR_FTP_PASSWORD "camera123456" -#define SIFAR_FTPS_IP "49.51.247.68" +#define SIFAR_FTPS_IP "150.109.112.64" #define SIFAR_FTPS_PORT "21" -#define SIFAR_FTPS_USERNAME "sifarftpsuser" -#define SIFAR_FTPS_PASSWORD "rsHkZJPg" +#define SIFAR_FTPS_USERNAME "ftp_user" +#define SIFAR_FTPS_PASSWORD "Sifar%%123456" #define CUSTOM_FTP_IP "ZnRwLTE1YmVuYWpmZWIuaXNoYXJlaXQubmV0" diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index 2639cbaa0..79aeb8c38 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -348,6 +348,13 @@ void Load_MenuInfo(void) } else{ memcpy(¤tInfo, pCurrentInfoTmp, sizeof(UIMenuStoreInfo)); + #if HUNTING_CAMERA_MCU == ENABLE + if(currentInfo.OtaFlag) + { + SysResetFlag(); + Save_MenuInfo(); + } + #endif } free(pCurrentInfoTmp); @@ -368,7 +375,7 @@ void Load_MenuInfo(void) #if HUNTING_CAMERA_MCU == ENABLE sf_power_on_para_check_init(); #endif - origInfo = currentInfo; + memcpy(&origInfo, ¤tInfo, sizeof(currentInfo)); #endif @@ -1130,7 +1137,7 @@ void SysResetFlag(void) puiPara->DateStyle = DEFAULT_DATE_TIME; SysSetFlag(FL_DateFormatIndex, DEFAULT_DATE_TIME); ///////////// - puiPara->StampSwitch = DEFAULT_STAMP_SWITCH; + puiPara->StampSwitch = DEFAULT_DATE_STAMP;//DEFAULT_STAMP_SWITCH; puiPara->BatteryType = DEFAULT_BATTERY_TYPE; puiPara->SdLoopSwitch = DEFAULT_SD_LOOP_SWITCH; puiPara->PwdSwitch = DEFAULT_PWD_SWITCH; @@ -1200,12 +1207,42 @@ void SysResetFlag(void) #endif - snprintf((char *)puiPara->WifiApPWD, sizeof(puiPara->WifiApPWD), "Reveal2021"); - strcpy((char *)puiPara ->FtpIp, "119.23.174.139"); - strcpy((char *)puiPara ->FtpPort, "21"); - strcpy((char *)puiPara ->FtpUsr, "cameraftp"); - strcpy((char *)puiPara ->FtpPwd, "camera123456"); + UINT8 tmpStr[60] = {0}; +#if SF_TEST_GPRS + snprintf((char *)puiPara->FtpIp, sizeof(puiPara->FtpIp), USER_FTP_IP); + snprintf((char *)puiPara->FtpPort, sizeof(puiPara->FtpPort), USER_FTP_PORT); + snprintf((char *)puiPara->FtpUsr, sizeof(puiPara->FtpUsr), USER_FTP_USERNAME); + snprintf((char *)puiPara->FtpPwd, sizeof(puiPara->FtpPwd), USER_FTP_PASSWORD); + snprintf((char *)puiPara->FtpsIp, sizeof(puiPara->FtpsIp), SIFAR_FTPS_IP); + snprintf((char *)puiPara->FtpsPort, sizeof(puiPara->FtpsPort), SIFAR_FTPS_PORT); + snprintf((char *)puiPara->FtpsUsr, sizeof(puiPara->FtpsUsr), SIFAR_FTPS_USERNAME); + snprintf((char *)puiPara->FtpsPwd, sizeof(puiPara->FtpsPwd), SIFAR_FTPS_PASSWORD); + //SF_STRCPY(puiPara ->APNGPRS, "3gnet"); +#else + sf_base64_decode(USER_FTP_IP, (char *)tmpStr); + snprintf((char *)puiPara->FtpIp, sizeof(puiPara->FtpIp), (char *)tmpStr); + snprintf((char *)puiPara->FtpPort, sizeof(puiPara->FtpPort), USER_FTP_PORT); + memset(tmpStr, '\0', sizeof(tmpStr)); + sf_base64_decode(USER_FTP_USERNAME, (char *)tmpStr); + snprintf((char *)puiPara->FtpUsr, sizeof(puiPara->FtpUsr), (char *)tmpStr); + memset(tmpStr, '\0', sizeof(tmpStr)); + sf_base64_decode(USER_FTP_PASSWORD, (char *)tmpStr); + snprintf((char *)puiPara->FtpPwd, sizeof(puiPara->FtpPwd), (char *)tmpStr); +#endif + memset(tmpStr, '\0', sizeof(tmpStr)); + sf_base64_decode(OTA_FTP_IP, (char *)tmpStr); + snprintf((char *)puiPara->OtaFtpIp, sizeof(puiPara->OtaFtpIp), (char *)tmpStr); + snprintf((char *)puiPara->OtaFtpPort, sizeof(puiPara->OtaFtpPort), OTA_FTP_PORT); + + memset(tmpStr, '\0', sizeof(tmpStr)); + sf_base64_decode(OTA_FTP_USERNAME, (char *)tmpStr); + snprintf((char *)puiPara->OtaFtpUserName, sizeof(puiPara->OtaFtpUserName), (char *)tmpStr); + + memset(tmpStr, '\0', sizeof(tmpStr)); + sf_base64_decode(OTA_FTP_PASSWORD, (char *)tmpStr); + snprintf((char *)puiPara->OtaFtpPassWord, sizeof(puiPara->OtaFtpPassWord), (char *)tmpStr); + #if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) puiPara->GpsNumber = DEFAULT_GPS_NUMBER; puiPara->TimeSend1Switch = DEFAULT_TIMESEND1_SWITCH; diff --git a/rtos/code/driver/na51089/include/sf_mcu.h b/rtos/code/driver/na51089/include/sf_mcu.h index d431adc00..1db44de03 100755 --- a/rtos/code/driver/na51089/include/sf_mcu.h +++ b/rtos/code/driver/na51089/include/sf_mcu.h @@ -527,5 +527,6 @@ UINT8 sf_convert_power_on_mode(void); void sf_hw_info_save(char *name,FST_FILE fd); void sf_set_iso_exp_lv(UINT32 adj, UINT32 iso, UINT32 exp, UINT32 lv); UINT32 sf_in_update(void); +int sf_base64_decode(const char * base64, char * bindata); #endif diff --git a/rtos/code/driver/na51089/source/mcu/sf_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_mcu.c index af14cd50c..90c645198 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_mcu.c @@ -2342,6 +2342,52 @@ void sf_para_print(void) sf_battery_print(); } +static char * base64char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +int sf_base64_decode(const char * base64, char * bindata) +{ + int i, j; + unsigned char k; + unsigned char temp[4]; + for (i = 0, j = 0; base64[i] != '\0'; i += 4) + { + memset(temp, 0xFF, sizeof(temp)); + for (k = 0; k < 64; k++) + { + if (base64char[k] == base64[i]) + temp[0] = k; + } + for (k = 0; k < 64; k++) + { + if (base64char[k] == base64[i + 1]) + temp[1] = k; + } + for (k = 0; k < 64; k++) + { + if (base64char[k] == base64[i + 2]) + temp[2] = k; + } + for (k = 0; k < 64; k++) + { + if (base64char[k] == base64[i + 3]) + temp[3] = k; + } + + bindata[j++] = ((unsigned char)(((unsigned char)(temp[0] << 2)) & 0xFC)) | + ((unsigned char)((unsigned char)(temp[1] >> 4) & 0x03)); + if (base64[i + 2] == '=') + break; + + bindata[j++] = ((unsigned char)(((unsigned char)(temp[1] << 4)) & 0xF0)) | + ((unsigned char)((unsigned char)(temp[2] >> 2) & 0x0F)); + if (base64[i + 3] == '=') + break; + + bindata[j++] = ((unsigned char)(((unsigned char)(temp[2] << 6)) & 0xF0)) | + ((unsigned char)(temp[3] & 0x3F)); + } + return j; +} #if SF_HW_TEST == ENABLE UINT32 testadj = 0; UINT32 testiso = 0;