From d47aff4e473eb80b16e91178658383d15eaace71 Mon Sep 17 00:00:00 2001 From: jas <1790731762@qq.com> Date: Sun, 17 Dec 2023 20:37:31 +0800 Subject: [PATCH] =?UTF-8?q?[zhoulongyu]:=20=E6=B7=BB=E5=8A=A0=E5=92=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE=E5=BA=93=E6=95=B0=E6=8D=AE?= =?UTF-8?q?:=20=E5=9B=BE=E7=89=87=E5=A4=A7=E5=B0=8F,=20=E5=A4=9C=E9=97=B4?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F,=20=E5=B7=A5=E4=BD=9C=E5=8C=BA=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- middleware/IpcConfig/include/IIpcConfig.h | 3 +- middleware/IpcConfig/src/IpcConfig.cpp | 69 ++++++++++----- middleware/IpcConfig/src/IpcConfig.h | 7 +- .../IpcConfig/src/IpcConfig_Test.cpp | 83 ++++++++++--------- 4 files changed, 96 insertions(+), 66 deletions(-) diff --git a/middleware/IpcConfig/include/IIpcConfig.h b/middleware/IpcConfig/include/IIpcConfig.h index e2e79e0b..2f271d62 100644 --- a/middleware/IpcConfig/include/IIpcConfig.h +++ b/middleware/IpcConfig/include/IIpcConfig.h @@ -32,13 +32,14 @@ enum class IpcConfigKey KEY_STORAGE_LOOP_SWITCH, KEY_FACTORY_RESET_FLAG, KEY_FORMATTING_SD_CARD, + KEY_DARK_MODE, + KEY_WORK_INTERVAL, TEST_SHORT, TEST_LONG, TEST_LLONG, TEST_CHAR, TEST_BOOL, TEST_FLOAT, - TEST_STRING, END }; enum WorkMode diff --git a/middleware/IpcConfig/src/IpcConfig.cpp b/middleware/IpcConfig/src/IpcConfig.cpp index e5503eb0..50cb272f 100644 --- a/middleware/IpcConfig/src/IpcConfig.cpp +++ b/middleware/IpcConfig/src/IpcConfig.cpp @@ -36,9 +36,9 @@ IpcConfig::IpcConfig() std::make_pair("burst_photo_interval", std::reference_wrapper(mAllData.burstPhotoInterval))); mCfgMapInt.insert(std::make_pair(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL, innerMapBurstPhotoInterval)); - std::map> innerMapImageSize; - innerMapImageSize.insert(std::make_pair("image_size", std::reference_wrapper(mAllData.imageSize))); - mCfgMapDouble.insert(std::make_pair(IpcConfigKey::KEY_IMGAE_SIZE, innerMapImageSize)); + std::map> innerMapImageSize; + innerMapImageSize.insert(std::make_pair("image_size", std::reference_wrapper(mAllData.imageSize))); + mCfgMapString.insert(std::make_pair(IpcConfigKey::KEY_IMGAE_SIZE, innerMapImageSize)); std::map> innerMapVideoSize; innerMapVideoSize.insert(std::make_pair("video_size", std::reference_wrapper(mAllData.videoSize))); @@ -72,6 +72,15 @@ IpcConfig::IpcConfig() std::make_pair("formatting_SD_card", std::reference_wrapper(mAllData.formattingSDCard))); mCfgMapBool.insert(std::make_pair(IpcConfigKey::KEY_FORMATTING_SD_CARD, innerMapFormattingSDCard)); + std::map> innerMapDrakMode; + innerMapDrakMode.insert(std::make_pair("dark_mode", std::reference_wrapper(mAllData.darkMode))); + mCfgMapString.insert(std::make_pair(IpcConfigKey::KEY_DARK_MODE, innerMapDrakMode)); + + std::map> innerMapWorkInterval; + innerMapWorkInterval.insert( + std::make_pair("work_interval", std::reference_wrapper(mAllData.workingInterval))); + mCfgMapString.insert(std::make_pair(IpcConfigKey::KEY_WORK_INTERVAL, innerMapWorkInterval)); + std::map> innerMapShort; innerMapShort.insert(std::make_pair("test_short", std::reference_wrapper(mAllData.testShort))); mCfgMapShort.insert(std::make_pair(IpcConfigKey::TEST_SHORT, innerMapShort)); @@ -91,10 +100,6 @@ IpcConfig::IpcConfig() std::map> innerMapFloat; innerMapFloat.insert(std::make_pair("test_float", std::reference_wrapper(mAllData.testFloat))); mCfgMapFloat.insert(std::make_pair(IpcConfigKey::TEST_FLOAT, innerMapFloat)); - - std::map> innerMapString; - innerMapString.insert(std::make_pair("test_string", std::reference_wrapper(mAllData.testString))); - mCfgMapString.insert(std::make_pair(IpcConfigKey::TEST_STRING, innerMapString)); } const StatusCode IpcConfig::Init(void) { @@ -394,12 +399,17 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetInt(mCfg, "burst_photo_interval", mAllData.burstPhotoInterval); } - StatusCode imageSizeCode = ConfigGetDouble(mCfg, "image_size", &(mAllData.imageSize)); + const char *imageSizeString = NULL; + StatusCode imageSizeCode = ConfigGetString(mCfg, "image_size", &(imageSizeString)); if (StatusCodeEqual(imageSizeCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { LogWarning("image_size doesn't exist, will make it as default.\n"); mCfgChanged = CONFIG_HAS_CHANGED; - mAllData.imageSize = 410.014; - ConfigSetDouble(mCfg, "image_size", mAllData.imageSize); + char defaultImageSize[] = "320*320"; + strncpy(mAllData.imageSize, defaultImageSize, sizeof(mAllData.imageSize)); + ConfigSetString(mCfg, "image_size", mAllData.imageSize); + } + else { + strncpy(mAllData.imageSize, imageSizeString, sizeof(mAllData.imageSize)); } StatusCode videoSizeCode = ConfigGetInt(mCfg, "video_size", &(mAllData.videoSize)); @@ -461,6 +471,32 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetBool(mCfg, "formatting_SD_card", mAllData.formattingSDCard); } + const char *darkModeString = NULL; + StatusCode darkModeCode = ConfigGetString(mCfg, "dark_mode", &(darkModeString)); + if (StatusCodeEqual(darkModeCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { + LogWarning("dark_mode doesn't exist, will make it as default.\n"); + mCfgChanged = CONFIG_HAS_CHANGED; + char defaultDarkMode[] = "19:00:00-07:00:00"; + strncpy(mAllData.darkMode, defaultDarkMode, sizeof(mAllData.darkMode)); + ConfigSetString(mCfg, "dark_mode", mAllData.darkMode); + } + else { + strncpy(mAllData.darkMode, darkModeString, sizeof(mAllData.darkMode)); + } + + const char *workIntervalString = NULL; + StatusCode workIntervalCode = ConfigGetString(mCfg, "work_interval", &(workIntervalString)); + if (StatusCodeEqual(workIntervalCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { + LogWarning("work_interval doesn't exist, will make it as default.\n"); + mCfgChanged = CONFIG_HAS_CHANGED; + char defaultWorkInterval[] = "07:00:01-07:00:00"; + strncpy(mAllData.workingInterval, defaultWorkInterval, sizeof(mAllData.workingInterval)); + ConfigSetString(mCfg, "work_interval", mAllData.workingInterval); + } + else { + strncpy(mAllData.workingInterval, workIntervalString, sizeof(mAllData.workingInterval)); + } + StatusCode shortCode = ConfigGetShort(mCfg, "test_short", &(mAllData.testShort)); if (StatusCodeEqual(shortCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { LogWarning("test_short doesn't exist, will make it as default.\n"); @@ -506,19 +542,6 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetFloat(mCfg, "test_float", mAllData.testFloat); } - const char *testString = NULL; - StatusCode stringCode = ConfigGetString(mCfg, "test_string", &(testString)); - if (StatusCodeEqual(stringCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { - LogWarning("test_string doesn't exist, will make it as default.\n"); - mCfgChanged = CONFIG_HAS_CHANGED; - char DEFAULT_TEST_STRING[] = "undefine"; - strncpy(mAllData.testString, DEFAULT_TEST_STRING, sizeof(mAllData.testString)); - ConfigSetString(mCfg, "test_string", mAllData.testString); - } - else { - strncpy(mAllData.testString, testString, sizeof(mAllData.testString)); - } - if (CONFIG_HAS_CHANGED == mCfgChanged) { LogInfo("Save the config file.\n"); mCfgChanged = CONFIG_HAS_NOT_CHANGED; diff --git a/middleware/IpcConfig/src/IpcConfig.h b/middleware/IpcConfig/src/IpcConfig.h index ee354c78..7add2c57 100644 --- a/middleware/IpcConfig/src/IpcConfig.h +++ b/middleware/IpcConfig/src/IpcConfig.h @@ -22,7 +22,7 @@ constexpr bool CONFIG_HAS_CHANGED = true; constexpr bool CONFIG_HAS_NOT_CHANGED = false; -typedef char CHAR_STRING[256]; +typedef char CHAR_STRING[64]; typedef struct Config_s { bool storageLoopSwitch; @@ -35,13 +35,14 @@ typedef struct Config_s int infraredIampPower; int delayed; int pirSensitivity; - double imageSize; short testShort; char testChar; long testLong; long long testLLong; float testFloat; - CHAR_STRING testString; + CHAR_STRING imageSize; + CHAR_STRING darkMode; + CHAR_STRING workingInterval; } Config_s; class MapInt { diff --git a/test/middleware/IpcConfig/src/IpcConfig_Test.cpp b/test/middleware/IpcConfig/src/IpcConfig_Test.cpp index 5705a82a..3206afb5 100644 --- a/test/middleware/IpcConfig/src/IpcConfig_Test.cpp +++ b/test/middleware/IpcConfig/src/IpcConfig_Test.cpp @@ -12,60 +12,70 @@ TEST(IpcConfigTest, Demo) ILogInit(LOG_INSTANCE_TYPE_END); IIpcConfig::GetInstance()->Init(); - int workMode = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_WORK_MODE); + const int workMode = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_WORK_MODE); LogInfo("Get workMode = %d\n", workMode); - workMode = WORK_MODE_PIC_VIDEO; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_WORK_MODE, workMode); + const int wworkMode = WORK_MODE_PIC_VIDEO; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_WORK_MODE, wworkMode); - int continuousShot = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_CONTINUOUS_SHOT); + const int continuousShot = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_CONTINUOUS_SHOT); LogInfo("Get continuousShot = %d\n", continuousShot); - continuousShot = CONTINUOUS_SHOT_TWO_PIC; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_CONTINUOUS_SHOT, continuousShot); + const int ccontinuousShot = CONTINUOUS_SHOT_TWO_PIC; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_CONTINUOUS_SHOT, ccontinuousShot); - int burstPhotoInterval = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL); + const int burstPhotoInterval = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL); LogInfo("Get burstPhotoInterval = %d\n", burstPhotoInterval); - burstPhotoInterval = BURST_PHOTO_INTERVAL_DEFAULT; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL, burstPhotoInterval); + const int bburstPhotoInterval = BURST_PHOTO_INTERVAL_DEFAULT; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_BURST_PHOTO_INTERVAL, bburstPhotoInterval); - double imageSize = IIpcConfig::GetInstance()->GetDouble(IpcConfigKey::KEY_IMGAE_SIZE); - LogInfo("Get image_size = %lf\n", imageSize); - imageSize = 320.023; - IIpcConfig::GetInstance()->SetDouble(IpcConfigKey::KEY_IMGAE_SIZE, imageSize); + const std::string imageSize = IIpcConfig::GetInstance()->GetString(IpcConfigKey::KEY_IMGAE_SIZE); + LogInfo("Get image_size = %s\n", imageSize.c_str()); + const std::string iimageSize = "410*410"; + IIpcConfig::GetInstance()->SetString(IpcConfigKey::KEY_IMGAE_SIZE, iimageSize); - int videoSize = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_VIDEO_SIZE); + const int videoSize = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_VIDEO_SIZE); LogInfo("Get video_size = %d\n", videoSize); - videoSize = VIDEO_SIZE_10; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_VIDEO_SIZE, videoSize); + const int vvideoSize = VIDEO_SIZE_10; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_VIDEO_SIZE, vvideoSize); - int infraredIampPower = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_INFRARED_LAMP_POWER); + const int infraredIampPower = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_INFRARED_LAMP_POWER); LogInfo("Get infrared_lamp_power = %d\n", infraredIampPower); - infraredIampPower = INFRARED_IAMP_POWER_LOW; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_INFRARED_LAMP_POWER, infraredIampPower); + const int iinfraredIampPower = INFRARED_IAMP_POWER_LOW; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_INFRARED_LAMP_POWER, iinfraredIampPower); - int delayed = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_DELAYED); + const int delayed = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_DELAYED); LogInfo("Get delayed = %d\n", delayed); - delayed = DELAYED_MAX; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_DELAYED, delayed); + const int ddelayed = DELAYED_MAX; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_DELAYED, ddelayed); - int pirSensitivity = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_PIR_SENSITIVITY); + const int pirSensitivity = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::KEY_PIR_SENSITIVITY); LogInfo("Get pir_sensitivity = %d\n", pirSensitivity); - pirSensitivity = PIR_SENSITIVITY_MAX; - IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_PIR_SENSITIVITY, pirSensitivity); + const int ppirSensitivity = PIR_SENSITIVITY_MAX; + IIpcConfig::GetInstance()->SetInt(IpcConfigKey::KEY_PIR_SENSITIVITY, ppirSensitivity); - bool storageLoopSwitch = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::KEY_STORAGE_LOOP_SWITCH); + const bool storageLoopSwitch = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::KEY_STORAGE_LOOP_SWITCH); LogInfo("Get storage_loop_switch = %d\n", storageLoopSwitch); - storageLoopSwitch = false; - IIpcConfig::GetInstance()->SetBool(IpcConfigKey::KEY_STORAGE_LOOP_SWITCH, storageLoopSwitch); + const bool sstorageLoopSwitch = false; + IIpcConfig::GetInstance()->SetBool(IpcConfigKey::KEY_STORAGE_LOOP_SWITCH, sstorageLoopSwitch); - bool factoryReset = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::KEY_FACTORY_RESET_FLAG); + const bool factoryReset = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::KEY_FACTORY_RESET_FLAG); LogInfo("Get factory_reset = %d\n", factoryReset); - factoryReset = false; - IIpcConfig::GetInstance()->SetBool(IpcConfigKey::KEY_FACTORY_RESET_FLAG, factoryReset); + const bool ffactoryReset = false; + IIpcConfig::GetInstance()->SetBool(IpcConfigKey::KEY_FACTORY_RESET_FLAG, ffactoryReset); - bool formattingSDCard = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::KEY_FORMATTING_SD_CARD); + const bool formattingSDCard = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::KEY_FORMATTING_SD_CARD); LogInfo("Get formatting_SD_card = %d\n", formattingSDCard); - formattingSDCard = false; - IIpcConfig::GetInstance()->SetBool(IpcConfigKey::KEY_FORMATTING_SD_CARD, formattingSDCard); + const bool fformattingSDCard = false; + IIpcConfig::GetInstance()->SetBool(IpcConfigKey::KEY_FORMATTING_SD_CARD, fformattingSDCard); + + const std::string workInterval = IIpcConfig::GetInstance()->GetString(IpcConfigKey::KEY_WORK_INTERVAL); + LogInfo("Get work_Interval = %s\n", workInterval.c_str()); + const std::string wworkInterval = "06:00:01-06:00:00"; + IIpcConfig::GetInstance()->SetString(IpcConfigKey::KEY_WORK_INTERVAL, wworkInterval); + + const std::string drakMode = IIpcConfig::GetInstance()->GetString(IpcConfigKey::KEY_DARK_MODE); + LogInfo("Get dark_mode = %s\n", drakMode.c_str()); + const std::string ddrakMode = "18:00:00-06:00:00"; + IIpcConfig::GetInstance()->SetString(IpcConfigKey::KEY_DARK_MODE, ddrakMode); short testShort = IIpcConfig::GetInstance()->GetShort(IpcConfigKey::TEST_SHORT); LogInfo("Get test_short = %d\n", testShort); @@ -92,11 +102,6 @@ TEST(IpcConfigTest, Demo) const float numFloat = 1.123456; IIpcConfig::GetInstance()->SetFloat(IpcConfigKey::TEST_FLOAT, numFloat); - const std::string testString = IIpcConfig::GetInstance()->GetString(IpcConfigKey::TEST_STRING); - LogInfo("Get testString = %s\n", testString.c_str()); - const std::string string = "define"; - IIpcConfig::GetInstance()->SetString(IpcConfigKey::TEST_STRING, string); - IIpcConfig::GetInstance()->ConfigFileSave(); IIpcConfig::GetInstance()->UnInit(); ILogUnInit();