From: Caisking <3449750381@qq.com> Date: Sun, 21 Apr 2024 08:27:25 +0000 (+0800) Subject: 修复格式化的提交 X-Git-Tag: release_V1.2.70_20241020_135402~1161 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=0e78c5fad3c4a26b012b82edcf769428be773aee;p=mirrors%2FFD230.git 修复格式化的提交 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h index 2a5069650..d5e5f1fd0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h @@ -19,7 +19,7 @@ namespace OHOS { class ConfigModel { - public: + public: enum ConfigDataType { DATATYPE_INT, @@ -30,52 +30,52 @@ namespace OHOS DATATYPE_VECTOR_DOUBLE, DATATYPE_VECTOR_STRING, DATATYPE_UNKNOWN, - }; + } ; enum ConfigItem { - CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, // 关机前经典蓝牙服务状态,启动时仍然恢复其当时状态 - CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE, // 屏幕亮度 - CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, // 屏幕自动息屏时间 默认 5秒 5000ms - CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然 - CONFIGMODEL_ITEM_CAT1_IMEI, // Cat1 imei - CONFIGMODEL_ITEM_CAT1_MODEMVER, // Cat1 modem version - CONFIGMODEL_ITEM_CAT1_PYVER, // Cat1 Python app version - CONFIGMODEL_ITEM_LANGUAGE_ID, // 语言ID int id - CONFIGMODEL_ITEM_LANGUAGE_CODE, // 语言Code string "zh","en" - CONFIGMODEL_ITEM_SILENT_MODE, // 静音模式模式 - CONFIGMODEL_ITEM_VIBRATOR_SWITCH, // 马达 开关, 0 关, 1 å¼±, 2 中,3 强 + CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态 + CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE, //屏幕亮度 + CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, //屏幕自动息屏时间 默认 5秒 5000ms + CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然 + CONFIGMODEL_ITEM_CAT1_IMEI, //Cat1 imei + CONFIGMODEL_ITEM_CAT1_MODEMVER, //Cat1 modem version + CONFIGMODEL_ITEM_CAT1_PYVER, //Cat1 Python app version + CONFIGMODEL_ITEM_LANGUAGE_ID, //语言ID int id + CONFIGMODEL_ITEM_LANGUAGE_CODE, //语言Code string "zh","en" + CONFIGMODEL_ITEM_SILENT_MODE, //静音模式模式 + CONFIGMODEL_ITEM_VIBRATOR_SWITCH, // 马达 开关, 0 关, 1 å¼±, 2 中,3 强 // CONFIGMODEL_ITEM_HRS_QUICKACCESS, // CONFIGMODEL_ITEM_SPO2_QUICKACCESS, - CONFIGMODEL_ITEM_RAISE_TO_WAKE, // 抬腕亮屏开关 - CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT, // 活动数据步数 - CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES, // 活动数据卡路里, - CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, // 活动数据站立次数 - CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION, // 活动数据运动时间 - CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE, // 活动数据运动距离 - CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP, // 活动数据更新时间戳 - CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT, // 用户数据身高 - CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT, // 用户数据体重 - CONFIGMODEL_ITEM_CUSTOM_DATA_SEX, // 用户数据性别 - CONFIGMODEL_ITEM_CUSTOM_DATA_AGE, // 用户数据年龄 - CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE, // 用户数据佩戴方式 - CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT, // 运动目标步数 - CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES, // 运动目标卡路里 - CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES, // 运动目标站立次数 - CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION, // 运动目标时长 - CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE, // 运动目标距离 - CONFIGMODEL_ITEM_DNOTDISTURB, // 勿扰模式 - CONFIGMODEL_ITEM_TRANING_FREQ, // 训练实时数据上传频率 + CONFIGMODEL_ITEM_RAISE_TO_WAKE, //抬腕亮屏开关 + CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT, //活动数据步数 + CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES, //活动数据卡路里, + CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, //活动数据站立次数 + CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION, //活动数据运动时间 + CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE, //活动数据运动距离 + CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP, //活动数据更新时间戳 + CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT, //用户数据身高 + CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT, //用户数据体重 + CONFIGMODEL_ITEM_CUSTOM_DATA_SEX, //用户数据性别 + CONFIGMODEL_ITEM_CUSTOM_DATA_AGE, //用户数据年龄 + CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE, //用户数据佩戴方式 + CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT, //运动目标步数 + CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES, //运动目标卡路里 + CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES, //运动目标站立次数 + CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION, //运动目标时长 + CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE, //运动目标距离 + CONFIGMODEL_ITEM_DNOTDISTURB,//勿扰模式 + CONFIGMODEL_ITEM_TRANING_FREQ,//训练实时数据上传频率 CONFIGMODEL_ITEM_MAX, - }; + } ; - struct configmodel_item - { + struct configmodel_item{ ConfigDataType type; - const char *itemname; - char *defaultValue; + const char* itemname; + char *defaultValue; }; - const char *get_config_name(ConfigItem item) + + const char* get_config_name(ConfigItem item) { return configmodel_item_key_name[item].itemname; } @@ -86,7 +86,7 @@ namespace OHOS } static ConfigModel *GetInstance(); void Init(void); - /* -------------- 通用 读值 赋值 函数 ----------------- */ + /* -------------- 通用 读值 赋值 函数 ----------------- */ int get_configData_int(ConfigItem item); double get_configData_double(ConfigItem item); bool get_configData_bool(ConfigItem item); @@ -98,15 +98,16 @@ namespace OHOS void set_condigData_String(ConfigItem item, const char *data); void set_condigData_VectorInt(ConfigItem item, const std::vector &data); void set_condigData_VectorDouble(ConfigItem item, const std::vector &data); - void set_condigData_VectorString(ConfigItem item, const std::vector &data); + void set_condigData_VectorString(ConfigItem item, const std::vector &data); void reset_item_to_default(ConfigItem item); int sync_all_to_disk(void); - + + /* --------------------------------自定义封装 set与get方法 ------------------------------- */ bool GetClassicBlueToothState(void); - + void SetLanguage(int languageid); int GetLanguage(); void SetLanguageCode(const char *languagecode); @@ -115,14 +116,14 @@ namespace OHOS std::string Getimei(); std::string GetpyVer(); std::string GetmoderVer(); - + void Setimei(char *str); void SetpyVer(char *str); void SetmoderVer(char *str); - + void SetVibrationReminder(int state); int GetVibrationReminder(void); - + void SetSilentMode(bool state); bool GetSilentMode(void); @@ -134,7 +135,7 @@ namespace OHOS /* ----------------------------- 屏幕与亮度相关set与get ----------------------------- */ void SetBrightness(int level); - int GetBrightness(void); + int GetBrightness(void); void SetScreenDuration(unsigned int value); unsigned int GetScreenDuration(void); @@ -144,42 +145,41 @@ namespace OHOS /* --------------------------------- 用户配置信息 --------------------------------- */ void SetUserAge(int age); int GetUserAge(); - /* -------------------------------------------------------------------------- */ private: configmodel_item configmodel_item_key_name[CONFIGMODEL_ITEM_MAX] = - { - {ConfigDataType::DATATYPE_BOOL, "ClassicBT_Service_On", "true"}, // CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态 - {ConfigDataType::DATATYPE_INT, "ScreenBrightness", "255"}, // CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE, - {ConfigDataType::DATATYPE_INT, "ScreenOffTimeoutValue", "5000"}, // CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, 自动息屏时间,默认5秒 5000ms - {ConfigDataType::DATATYPE_BOOL, "Cat1_Service_On", "false"}, // CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然 - {ConfigDataType::DATATYPE_STRING, "Cat1_IMEI", ""}, // CONFIGMODEL_ITEM_CAT1_IMEI, - {ConfigDataType::DATATYPE_STRING, "Cat1_ModemVer", ""}, // CONFIGMODEL_ITEM_CAT1_MODEMVER, - {ConfigDataType::DATATYPE_STRING, "Cat1_PYVer", ""}, // CONFIGMODEL_ITEM_CAT1_PYVER, - {ConfigDataType::DATATYPE_INT, "LanguageID", "-1"}, // CONFIGMODEL_ITEM_LANGUAGE_ID, //默认没有选择语言 - {ConfigDataType::DATATYPE_STRING, "LanguageCode", "zh"}, // CONFIGMODEL_ITEM_LANGUAGE_CODE, //默认没有选择语言 - {ConfigDataType::DATATYPE_BOOL, "SlientMode", "false"}, // CONFIGMODEL_ITEM_SILENT_MODE, - {ConfigDataType::DATATYPE_INT, "VibratorSwitch", "1"}, // CONFIGMODEL_ITEM_VIBRATOR_SWITCH, // 马达 开关, 0 关, 1 å¼±, 2 中,3 强 - // {ConfigDataType::DATATYPE_BOOL, "HRS_QuickAccess", "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS, - // {ConfigDataType::DATATYPE_BOOL, "SPO2_QuickAccess", "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS, - {ConfigDataType::DATATYPE_BOOL, "Rase2Wake", "true"}, // CONFIGMODEL_ITEM_RAISE_TO_WAKE, - {ConfigDataType::DATATYPE_INT, "StepCount", "0"}, // CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT, //活动数据步数 - {ConfigDataType::DATATYPE_INT, "Calories", "0"}, // CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES, //活动数据卡路里, - {ConfigDataType::DATATYPE_INT, "StandupTimes", "0"}, // CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, //活动数据站立次数 - {ConfigDataType::DATATYPE_INT, "Duration", "0"}, // CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION, //活动数据运动时间 - {ConfigDataType::DATATYPE_DOUBLE, "Distance", "0.0"}, // CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE, //活动数据运动距离 - {ConfigDataType::DATATYPE_INT, "ActivityTimestamp", "0"}, // CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP, //活动数据更新时间戳 - {ConfigDataType::DATATYPE_INT, "height", "175"}, // CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT, //用户数据身高 (cm)(身高)(default : 175)(30 - 300) - {ConfigDataType::DATATYPE_DOUBLE, "weight", "70.0"}, // CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT, //用户数据体重 (kg)(體重)(default : 70)(10 - 300) - {ConfigDataType::DATATYPE_INT, "sex", "1"}, // CONFIGMODEL_ITEM_CUSTOM_DATA_SEX, //用户数据性别 (default : 1 男性)(0 : 女性, 1 : 男性) - {ConfigDataType::DATATYPE_INT, "age", "30"}, // CONFIGMODEL_ITEM_CUSTOM_DATA_AGE, //用户数据年龄 (年紀)(default : 30)(1 - 99) - {ConfigDataType::DATATYPE_INT, "WearingMode", "0"}, // CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE, //用户数据佩戴方式 (default : 左手)(0 : 左手 1 : 右手) - {ConfigDataType::DATATYPE_INT, "GoalStepCount", "10000"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT, //运动目标步数 10000 - {ConfigDataType::DATATYPE_INT, "GoalCalories", "300"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES, //运动目标卡路里 300(kcal) - {ConfigDataType::DATATYPE_INT, "GoalStandupTimes", "10"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES, //运动目标站立次数 10 - {ConfigDataType::DATATYPE_INT, "GoalDuration", "30"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION, //运动目标时长 30(分钟) - {ConfigDataType::DATATYPE_DOUBLE, "GoalDistance", "8.0"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE, //运动目标距离 8.0(km) - {ConfigDataType::DATATYPE_BOOL, "Dnotdisturb", "false"}, // CONFIGMODEL_ITEM_DNOTDISTURB //勿扰模式默认关闭 - {ConfigDataType::DATATYPE_INT, "traningfreq", "10"}, // CONFIGMODEL_ITEM_TRANING_FREQ //训练实时数据上传频率//单位秒 + { + {ConfigDataType::DATATYPE_BOOL, "ClassicBT_Service_On", "true" },//CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态 + {ConfigDataType::DATATYPE_INT, "ScreenBrightness", "255" },//CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE, + {ConfigDataType::DATATYPE_INT, "ScreenOffTimeoutValue", "5000" },//CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, 自动息屏时间,默认5秒 5000ms + {ConfigDataType::DATATYPE_BOOL, "Cat1_Service_On", "false" },//CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然 + {ConfigDataType::DATATYPE_STRING, "Cat1_IMEI", "" },//CONFIGMODEL_ITEM_CAT1_IMEI, + {ConfigDataType::DATATYPE_STRING, "Cat1_ModemVer", "" },//CONFIGMODEL_ITEM_CAT1_MODEMVER, + {ConfigDataType::DATATYPE_STRING, "Cat1_PYVer", "" },//CONFIGMODEL_ITEM_CAT1_PYVER, + {ConfigDataType::DATATYPE_INT, "LanguageID", "-1" },//CONFIGMODEL_ITEM_LANGUAGE_ID, //默认没有选择语言 + {ConfigDataType::DATATYPE_STRING, "LanguageCode", "zh" },//CONFIGMODEL_ITEM_LANGUAGE_CODE, //默认没有选择语言 + {ConfigDataType::DATATYPE_BOOL, "SlientMode", "false" },//CONFIGMODEL_ITEM_SILENT_MODE, + {ConfigDataType::DATATYPE_INT, "VibratorSwitch", "1" },//CONFIGMODEL_ITEM_VIBRATOR_SWITCH, // 马达 开关, 0 关, 1 å¼±, 2 中,3 强 + // {ConfigDataType::DATATYPE_BOOL, "HRS_QuickAccess", "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS, + // {ConfigDataType::DATATYPE_BOOL, "SPO2_QuickAccess", "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS, + {ConfigDataType::DATATYPE_BOOL, "Rase2Wake", "true" },//CONFIGMODEL_ITEM_RAISE_TO_WAKE, + {ConfigDataType::DATATYPE_INT, "StepCount", "0" },//CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT, //活动数据步数 + {ConfigDataType::DATATYPE_INT, "Calories", "0" },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES, //活动数据卡路里, + {ConfigDataType::DATATYPE_INT, "StandupTimes", "0" },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, //活动数据站立次数 + {ConfigDataType::DATATYPE_INT, "Duration", "0" },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION, //活动数据运动时间 + {ConfigDataType::DATATYPE_DOUBLE, "Distance", "0.0" },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE, //活动数据运动距离 + {ConfigDataType::DATATYPE_INT, "ActivityTimestamp", "0" },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP, //活动数据更新时间戳 + {ConfigDataType::DATATYPE_INT, "height", "175" },// CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT, //用户数据身高 (cm)(身高)(default : 175)(30 - 300) + {ConfigDataType::DATATYPE_DOUBLE, "weight", "70.0" },// CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT, //用户数据体重 (kg)(體重)(default : 70)(10 - 300) + {ConfigDataType::DATATYPE_INT, "sex", "1" },// CONFIGMODEL_ITEM_CUSTOM_DATA_SEX, //用户数据性别 (default : 1 男性)(0 : 女性, 1 : 男性) + {ConfigDataType::DATATYPE_INT, "age", "30" },// CONFIGMODEL_ITEM_CUSTOM_DATA_AGE, //用户数据年龄 (年紀)(default : 30)(1 - 99) + {ConfigDataType::DATATYPE_INT, "WearingMode", "0" },// CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE, //用户数据佩戴方式 (default : 左手)(0 : 左手 1 : 右手) + {ConfigDataType::DATATYPE_INT, "GoalStepCount", "10000" },// CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT, //运动目标步数 10000 + {ConfigDataType::DATATYPE_INT, "GoalCalories", "300" },// CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES, //运动目标卡路里 300(kcal) + {ConfigDataType::DATATYPE_INT, "GoalStandupTimes", "10" },// CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES, //运动目标站立次数 10 + {ConfigDataType::DATATYPE_INT, "GoalDuration", "30" },// CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION, //运动目标时长 30(分钟) + {ConfigDataType::DATATYPE_DOUBLE, "GoalDistance", "8.0" },// CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE, //运动目标距离 8.0(km) + {ConfigDataType::DATATYPE_BOOL, "Dnotdisturb", "false" },// CONFIGMODEL_ITEM_DNOTDISTURB //勿扰模式默认关闭 + {ConfigDataType::DATATYPE_INT, "traningfreq", "10" },// CONFIGMODEL_ITEM_TRANING_FREQ //训练实时数据上传频率//单位秒 }; ConfigModel(); // 私有构造函数,确保无法在外部实例化 ConfigModel(const ConfigModel &) = delete; // 禁止拷贝构造 diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp index 6f9c385d7..32124d786 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp @@ -11,7 +11,7 @@ namespace OHOS ConfigModel::~ConfigModel() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " ConfigModel::~ConfigModel"); - // 手表全生命周期存在,所以不考虑析构释放内存 + //手表全生命周期存在,所以不考虑析构释放内存 } ConfigModel *ConfigModel::GetInstance() @@ -28,76 +28,76 @@ namespace OHOS cJSON *ConfigModel::get_item(ConfigItem item) { - return cJSON_GetObjectItem(GetcJSON(), get_config_name(item)); - } + return cJSON_GetObjectItem(GetcJSON(),get_config_name(item)); + } void ConfigModel::reset_item_to_default(ConfigItem item) { - switch (get_config_datatype(item)) - { - case ConfigDataType::DATATYPE_BOOL: - + switch(get_config_datatype(item)) { - bool defaultvalue = false; - if (strncmp(configmodel_item_key_name[item].defaultValue, "true", sizeof("true")) == 0) - defaultvalue = true; - set_condigData_Bool(item, defaultvalue); - } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)", - get_config_name(item), - get_configData_bool(item)); - break; - case ConfigDataType::DATATYPE_DOUBLE: - { - double defaultvalue = atof(configmodel_item_key_name[item].defaultValue); - set_condigData_Double(item, defaultvalue); - } + case ConfigDataType::DATATYPE_BOOL: + + { + bool defaultvalue = false; + if (strncmp(configmodel_item_key_name[item].defaultValue,"true",sizeof("true"))==0) defaultvalue = true; + set_condigData_Bool(item,defaultvalue); + } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)", + get_config_name(item), + get_configData_bool(item)); + break; + case ConfigDataType::DATATYPE_DOUBLE: + { + double defaultvalue = atof(configmodel_item_key_name[item].defaultValue); + set_condigData_Double(item,defaultvalue); + } + + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)", + get_config_name(item), + get_configData_double(item)); + break; + case ConfigDataType::DATATYPE_INT : + { + int defaultvalue = atoi(configmodel_item_key_name[item].defaultValue); + set_condigData_Int(item,defaultvalue); + } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)", + get_config_name(item), + get_configData_int(item)); + break; + case ConfigDataType::DATATYPE_STRING: + + set_condigData_String(item,configmodel_item_key_name[item].defaultValue); + + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)", + get_config_name(item), + get_configData_string(item).c_str()); + break; + case ConfigDataType::DATATYPE_VECTOR_DOUBLE: + /** + * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入 + */ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%s)", + get_config_name(item), + ""); + break; + case ConfigDataType::DATATYPE_VECTOR_INT: + /** + * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入 + */ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%s)", + get_config_name(item), + ""); + break; + case ConfigDataType::DATATYPE_VECTOR_STRING: + /** + * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入 + */ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)", + get_config_name(item), + ""); + break; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)", - get_config_name(item), - get_configData_double(item)); - break; - case ConfigDataType::DATATYPE_INT: - { - int defaultvalue = atoi(configmodel_item_key_name[item].defaultValue); - set_condigData_Int(item, defaultvalue); - } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)", - get_config_name(item), - get_configData_int(item)); - break; - case ConfigDataType::DATATYPE_STRING: - - set_condigData_String(item, configmodel_item_key_name[item].defaultValue); - - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)", - get_config_name(item), - get_configData_string(item).c_str()); - break; - case ConfigDataType::DATATYPE_VECTOR_DOUBLE: - /** - * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入 - */ - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%s)", - get_config_name(item), - ""); - break; - case ConfigDataType::DATATYPE_VECTOR_INT: - /** - * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入 - */ - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%s)", - get_config_name(item), - ""); - break; - case ConfigDataType::DATATYPE_VECTOR_STRING: - /** - * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入 - */ - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)", - get_config_name(item), - ""); - break; } } @@ -114,11 +114,11 @@ namespace OHOS // 解析JSON数据 cjson_json = cJSON_Parse(json_string.c_str()); - for (int i = 0; i < ConfigItem::CONFIGMODEL_ITEM_MAX; i++) + for (int i = 0; i< ConfigItem::CONFIGMODEL_ITEM_MAX;i++) { ConfigItem item = (ConfigItem)i; - cJSON *obj = get_item(item); - if (obj == NULL) // 没有变量则用默认值初始化 + cJSON *obj=get_item(item); + if (obj == NULL) //没有变量则用默认值初始化 { reset_item_to_default(item); } @@ -236,13 +236,10 @@ namespace OHOS cJSON *data_obj = cJSON_CreateNumber(static_cast(data)); if (data_obj != nullptr) { - if (cJSON_GetObjectItem(json_obj, field_name) != NULL) - { + if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){ cJSON_ReplaceItemInObject(json_obj, field_name, data_obj); - } - else - { - cJSON_AddItemToObject(json_obj, field_name, data_obj); + }else{ + cJSON_AddItemToObject(json_obj,field_name,data_obj); } } else @@ -268,13 +265,10 @@ namespace OHOS cJSON *data_obj = cJSON_CreateNumber(data); if (data_obj != nullptr) { - if (cJSON_GetObjectItem(json_obj, field_name) != NULL) - { + if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){ cJSON_ReplaceItemInObject(json_obj, field_name, data_obj); - } - else - { - cJSON_AddItemToObject(json_obj, field_name, data_obj); + }else{ + cJSON_AddItemToObject(json_obj,field_name,data_obj); } } else @@ -299,14 +293,11 @@ namespace OHOS cJSON *data_obj = cJSON_CreateBool(data); if (data_obj != nullptr) - { - if (cJSON_GetObjectItem(json_obj, field_name) != NULL) - { + { + if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){ cJSON_ReplaceItemInObject(json_obj, field_name, data_obj); - } - else - { - cJSON_AddItemToObject(json_obj, field_name, data_obj); + }else{ + cJSON_AddItemToObject(json_obj,field_name,data_obj); } } else @@ -332,13 +323,10 @@ namespace OHOS cJSON *data_obj = cJSON_CreateString(data); if (data_obj != nullptr) { - if (cJSON_GetObjectItem(json_obj, field_name) != NULL) - { + if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){ cJSON_ReplaceItemInObject(json_obj, field_name, data_obj); - } - else - { - cJSON_AddItemToObject(json_obj, field_name, data_obj); + }else{ + cJSON_AddItemToObject(json_obj,field_name,data_obj); } } else @@ -393,6 +381,7 @@ namespace OHOS cJSON_AddItemToArray(array_obj, cJSON_CreateString(item.c_str())); } cJSON_ReplaceItemInObject(json_obj, field_name, array_obj); + } /* @@ -434,11 +423,11 @@ namespace OHOS if (model_initialled == true) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init already done"); - return; + return ; } /* -------------------------------- 1.加载json文件 -------------------------------- */ bool ret = LoadJsonData(); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init %d", ret); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init %d",ret); /* ------------------------------ 2.显示读取到的json数据 ------------------------------ */ DumpJsonData(); @@ -446,50 +435,51 @@ namespace OHOS } void ConfigModel::DumpJsonItem(ConfigItem item) { - switch (get_config_datatype(item)) - { - case ConfigDataType::DATATYPE_BOOL: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)", - get_config_name(item), - get_configData_bool(item)); - break; - case ConfigDataType::DATATYPE_DOUBLE: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)", - get_config_name(item), - get_configData_double(item)); - break; - case ConfigDataType::DATATYPE_INT: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)", - get_config_name(item), - get_configData_int(item)); - break; - case ConfigDataType::DATATYPE_STRING: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)", - get_config_name(item), - get_configData_string(item).c_str()); - break; - case ConfigDataType::DATATYPE_VECTOR_DOUBLE: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%f)", - get_config_name(item), - ""); - break; - case ConfigDataType::DATATYPE_VECTOR_INT: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%d)", - get_config_name(item), - ""); - break; - case ConfigDataType::DATATYPE_VECTOR_STRING: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)", - get_config_name(item), - ""); - break; + switch(get_config_datatype(item)) + { + case ConfigDataType::DATATYPE_BOOL: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)", + get_config_name(item), + get_configData_bool(item)); + break; + case ConfigDataType::DATATYPE_DOUBLE: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)", + get_config_name(item), + get_configData_double(item)); + break; + case ConfigDataType::DATATYPE_INT : + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)", + get_config_name(item), + get_configData_int(item)); + break; + case ConfigDataType::DATATYPE_STRING: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)", + get_config_name(item), + get_configData_string(item).c_str()); + break; + case ConfigDataType::DATATYPE_VECTOR_DOUBLE: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%f)", + get_config_name(item), + ""); + break; + case ConfigDataType::DATATYPE_VECTOR_INT: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%d)", + get_config_name(item), + ""); + break; + case ConfigDataType::DATATYPE_VECTOR_STRING: + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)", + get_config_name(item), + ""); + break; + } } /// @brief 显示读取到的json数据 void ConfigModel::DumpJsonData(void) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "/* -------------------------------- JsonData: ------------------------------- */\n"); - for (int i = 0; i < ConfigItem::CONFIGMODEL_ITEM_MAX; i++) + for (int i = 0; i< ConfigItem::CONFIGMODEL_ITEM_MAX;i++) { DumpJsonItem((ConfigItem)i); } @@ -497,29 +487,29 @@ namespace OHOS } /* -------------------------------- set与get方法 ------------------------------- */ - + /* - * @brief 设置抬腕亮屏是否开启 - */ + * @brief 设置抬腕亮屏是否开启 + */ void ConfigModel::SetRaiseToWake(bool value) { - set_condigData_Bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE, value); + set_condigData_Bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE,value); } /* - * @brief 获取抬腕亮屏是否开启 - */ + * @brief 获取抬腕亮屏是否开启 + */ bool ConfigModel::GetRaiseToWake(void) { return get_configData_bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE); } - /* + /* * @brief 设置亮屏时长单位ms - */ + */ void ConfigModel::SetScreenDuration(unsigned int value) { - set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, value); + set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE,value); } /// @brief 获取亮屏时长单位ms @@ -537,7 +527,7 @@ namespace OHOS /* -------------------------------------------------------------------------- */ void ConfigModel::SetLanguage(int language) { - set_condigData_Int(CONFIGMODEL_ITEM_LANGUAGE_ID, language); + set_condigData_Int(CONFIGMODEL_ITEM_LANGUAGE_ID,language); } int ConfigModel::GetLanguage() @@ -547,7 +537,7 @@ namespace OHOS void ConfigModel::SetLanguageCode(const char *languagecode) { - set_condigData_String(CONFIGMODEL_ITEM_LANGUAGE_CODE, languagecode); + set_condigData_String(CONFIGMODEL_ITEM_LANGUAGE_CODE,languagecode); } std::string ConfigModel::GetLanguageCode(void) @@ -571,17 +561,17 @@ namespace OHOS void ConfigModel::Setimei(char *str) { - set_condigData_String(CONFIGMODEL_ITEM_CAT1_IMEI, str); + set_condigData_String(CONFIGMODEL_ITEM_CAT1_IMEI,str); } void ConfigModel::SetpyVer(char *str) { - set_condigData_String(CONFIGMODEL_ITEM_CAT1_PYVER, str); + set_condigData_String(CONFIGMODEL_ITEM_CAT1_PYVER,str); } void ConfigModel::SetmoderVer(char *str) { - set_condigData_String(CONFIGMODEL_ITEM_CAT1_MODEMVER, str); + set_condigData_String(CONFIGMODEL_ITEM_CAT1_MODEMVER,str); } /* @@ -590,7 +580,7 @@ namespace OHOS */ void ConfigModel::SetVibrationReminder(int state) { - set_condigData_Bool(CONFIGMODEL_ITEM_VIBRATOR_SWITCH, state); + set_condigData_Bool(CONFIGMODEL_ITEM_VIBRATOR_SWITCH,state); } /*获取震动提醒是否开启*/ @@ -606,7 +596,7 @@ namespace OHOS */ void ConfigModel::SetSilentMode(bool state) { - set_condigData_Bool(CONFIGMODEL_ITEM_SILENT_MODE, state); + set_condigData_Bool(CONFIGMODEL_ITEM_SILENT_MODE,state); } /*获取静音模式是否开启*/ @@ -621,7 +611,7 @@ namespace OHOS */ void ConfigModel::SetCat1_4Gability(bool state) { - set_condigData_Bool(CONFIGMODEL_ITEM_CAT1_SERVICE_ON, state); + set_condigData_Bool(CONFIGMODEL_ITEM_CAT1_SERVICE_ON,state); } /* @@ -636,7 +626,7 @@ namespace OHOS /*设置勿扰模式是否开启*/ void ConfigModel::SetDnotdisturb(bool state) { - set_condigData_Bool(CONFIGMODEL_ITEM_DNOTDISTURB, state); + set_condigData_Bool(CONFIGMODEL_ITEM_DNOTDISTURB,state); } /*获取勿扰模式是否开启*/ @@ -648,7 +638,7 @@ namespace OHOS // 设置亮度值 void ConfigModel::SetBrightness(int level) { - set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE, level); + set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE,level); } // 获取亮度值 @@ -656,7 +646,7 @@ namespace OHOS { return get_configData_int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE); } - +/* -------------------------------------------------------------------------- */ /*设置用户年龄[后续使用结构体统一配置]*/ void ConfigModel::SetUserAge(int age) { @@ -667,52 +657,60 @@ namespace OHOS { return get_configData_int(CONFIGMODEL_ITEM_CUSTOM_DATA_AGE); } - /* ---------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------------- */ int ConfigModel::get_configData_int(ConfigItem item) { - return ReadJsonData_Int(GetcJSON(), get_config_name(item)); + return ReadJsonData_Int(GetcJSON(),get_config_name(item)); + } double ConfigModel::get_configData_double(ConfigItem item) { - return ReadJsonData_Double(GetcJSON(), get_config_name(item)); + return ReadJsonData_Double(GetcJSON(),get_config_name(item)); + } bool ConfigModel::get_configData_bool(ConfigItem item) { - return ReadJsonData_Bool(GetcJSON(), get_config_name(item)); + return ReadJsonData_Bool(GetcJSON(),get_config_name(item)); + } std::string ConfigModel::get_configData_string(ConfigItem item) { - return ReadJsonData_String(GetcJSON(), get_config_name(item)); + return ReadJsonData_String(GetcJSON(),get_config_name(item)); } - + void ConfigModel::set_condigData_Int(ConfigItem item, int data) { - WriteJsonData_Int(GetcJSON(), get_config_name(item), data); + WriteJsonData_Int(GetcJSON(),get_config_name(item),data); } void ConfigModel::set_condigData_Double(ConfigItem item, double data) { - WriteJsonData_Double(GetcJSON(), get_config_name(item), data); + WriteJsonData_Double(GetcJSON(),get_config_name(item),data); + } void ConfigModel::set_condigData_Bool(ConfigItem item, bool data) { - WriteJsonData_Bool(GetcJSON(), get_config_name(item), data); + WriteJsonData_Bool(GetcJSON(),get_config_name(item),data); + } void ConfigModel::set_condigData_String(ConfigItem item, const char *data) { - WriteJsonData_String(GetcJSON(), get_config_name(item), data); + WriteJsonData_String(GetcJSON(),get_config_name(item),data); } void ConfigModel::set_condigData_VectorInt(ConfigItem item, const std::vector &data) { - WriteJsonData_VectorInt(GetcJSON(), get_config_name(item), data); + WriteJsonData_VectorInt(GetcJSON(),get_config_name(item),data); + } void ConfigModel::set_condigData_VectorDouble(ConfigItem item, const std::vector &data) { - WriteJsonData_VectorDouble(GetcJSON(), get_config_name(item), data); + WriteJsonData_VectorDouble(GetcJSON(),get_config_name(item),data); + } void ConfigModel::set_condigData_VectorString(ConfigItem item, const std::vector &data) { - WriteJsonData_VectorString(GetcJSON(), get_config_name(item), data); - } + WriteJsonData_VectorString(GetcJSON(),get_config_name(item),data); + + } int ConfigModel::sync_all_to_disk(void) { char *jsonString = cJSON_Print(GetcJSON()); @@ -725,63 +723,63 @@ namespace OHOS #ifdef __cplusplus #if __cplusplus -extern "C" -{ +extern "C" { #endif #endif - uint32_t ConfigModelInit(void) - { - OHOS::ConfigModel::GetInstance()->Init(); - return 0; - } +uint32_t ConfigModelInit(void) +{ + OHOS::ConfigModel::GetInstance()->Init(); + return 0; +} - /*** - * 蓝牙服务是否开启 - */ - bool custom_ble_service_on_flag(void) - { - return OHOS::ConfigModel::GetInstance()->GetClassicBlueToothState(); - } - /*** - * Cat1服务是否开启 - */ - bool poweron_cat1_on_bootup_flag(void) - { - return OHOS::ConfigModel::GetInstance()->GetCat1_4Gability(); - } - void sync_all_config_to_disk(void) - { - OHOS::ConfigModel::GetInstance()->sync_all_to_disk(); - } +/*** + * 蓝牙服务是否开启 + */ +bool custom_ble_service_on_flag(void) +{ + return OHOS::ConfigModel::GetInstance()->GetClassicBlueToothState(); +} +/*** + * Cat1服务是否开启 + */ +bool poweron_cat1_on_bootup_flag(void) +{ + return OHOS::ConfigModel::GetInstance()->GetCat1_4Gability(); +} +void sync_all_config_to_disk(void) +{ + OHOS::ConfigModel::GetInstance()->sync_all_to_disk(); +} - void initScreenBrightness(void) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initScreenBrightness"); - int brightness = OHOS::ConfigModel::GetInstance()->GetBrightness(); - uapi_setScreenBrightness(brightness); - } - void initializeScreenDuration(void) +void initScreenBrightness(void) +{ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initScreenBrightness"); + int brightness = OHOS::ConfigModel::GetInstance()->GetBrightness(); + uapi_setScreenBrightness(brightness); +} + +void initializeScreenDuration(void) +{ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeScreenDuration"); + unsigned int time = OHOS::ConfigModel::GetInstance()->GetScreenDuration(); + uapi_setScreenDuration(time); +} + +void initializeRaiseToWake(void) +{ + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeRaiseToWake"); + bool isOpen = OHOS::ConfigModel::GetInstance()->GetRaiseToWake(); + if(isOpen == true) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeScreenDuration"); - unsigned int time = OHOS::ConfigModel::GetInstance()->GetScreenDuration(); - uapi_setScreenDuration(time); + uapi_take_to_wake(1); } - - void initializeRaiseToWake(void) + else { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeRaiseToWake"); - bool isOpen = OHOS::ConfigModel::GetInstance()->GetRaiseToWake(); - if (isOpen == true) - { - uapi_take_to_wake(1); - } - else - { - uapi_take_to_wake(0); - } + uapi_take_to_wake(0); } +} #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.c b/code/sdk/drivers/peripheral/utils/custom_utils.c index 7901774e6..ec75c439c 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.c +++ b/code/sdk/drivers/peripheral/utils/custom_utils.c @@ -37,25 +37,21 @@ #include "time.h" #include "custom_utils.h" -#include "cywee_service.h" errcode_t uapi_create_osThread_custom(app_task_definition_t *task_cfg) { - if (task_cfg == NULL) + if (task_cfg==NULL) return ERRCODE_FAIL; - /* Create queues before tasks in case they are used during initialisation. */ - if (task_cfg->create_queue_handle) - { + /* Create queues before tasks in case they are used during initialisation. */ + if (task_cfg->create_queue_handle) { task_cfg->create_queue_handle(); } /* Create tasks */ - if (task_cfg->use_mem == USE_EXTEND_MEM) - { + if (task_cfg->use_mem == USE_EXTEND_MEM) { task_cfg->attr.stack_mem = memalign(16, task_cfg->attr.stack_size); // 16字节对齐 } task_cfg->task_handle = osThreadNew(task_cfg->func, NULL, &(task_cfg->attr)); - if (task_cfg->task_handle == NULL) - { + if (task_cfg->task_handle == NULL) { return ERRCODE_FAIL; } return ERRCODE_SUCC; @@ -65,57 +61,55 @@ uint32_t zh_get_sn(uint8_t *buf_sn, uint32_t *len_sn) { #ifdef SUPPORT_NV - if (buf_sn == NULL) + if( buf_sn == NULL) return ERRCODE_FAIL; uint16_t len = 0; custom_key_sn_t sn = {0}; errcode_t nvRet = uapi_nv_read(NV_ID_CUSTOM_KEY_SERIAL_NUM, sizeof(custom_key_sn_t), &len, &sn); - if (nvRet != ERRCODE_SUCC) - { - *len_sn = 0; + if (nvRet != ERRCODE_SUCC) { + *len_sn = 0; } - memcpy_s(buf_sn, sizeof(sn.sn), sn.sn, sn.size); + memcpy_s(buf_sn,sizeof(sn.sn),sn.sn,sn.size); *len_sn = sn.size; - // PRINT("get sn len %d, ret %d , %s\r\n",sn.size,nvRet,sn.sn); + //PRINT("get sn len %d, ret %d , %s\r\n",sn.size,nvRet,sn.sn); #endif return ERRCODE_SUCC; } + uint32_t zh_set_sn(uint8_t *buf_sn, uint32_t len_sn) { - errcode_t nv_ret_value = 0; + errcode_t nv_ret_value=0; #ifdef SUPPORT_NV - if (buf_sn == NULL || len_sn == 0) + if( buf_sn == NULL || len_sn == 0) return ERRCODE_FAIL; - uint8_t *test_nv_value; /* 要写入的NV value保存在test_nv_value中 */ + uint8_t *test_nv_value; /* 要写入的NV value保存在test_nv_value中 */ - uint16_t key_len = sizeof(custom_key_sn_t); - uint8_t *write_value = malloc(key_len); - custom_key_sn_t *p_sn = (custom_key_sn_t *)write_value; + uint16_t key_len= sizeof(custom_key_sn_t); + uint8_t *write_value = malloc(key_len); + custom_key_sn_t *p_sn = (custom_key_sn_t*)write_value; uint16_t len = 0; if (len_sn > sizeof(p_sn->sn)) { len = sizeof(p_sn->sn); - } - else - { + }else{ len = len_sn; } p_sn->size = len; - memcpy_s(p_sn->sn, sizeof(p_sn->sn), buf_sn, len); - nv_ret_value = uapi_nv_write(NV_ID_CUSTOM_KEY_SERIAL_NUM, write_value, key_len); - if (nv_ret_value != ERRCODE_SUCC) - { - /* ERROR PROCESS */ - free(write_value); - return ERRCODE_FAIL; - } - /* APP PROCESS */ - free(write_value); + memcpy_s(p_sn->sn,sizeof(p_sn->sn),buf_sn,len); + nv_ret_value = uapi_nv_write(NV_ID_CUSTOM_KEY_SERIAL_NUM, write_value, key_len); + if (nv_ret_value != ERRCODE_SUCC) { + /* ERROR PROCESS */ + free(write_value); + return ERRCODE_FAIL; + } + /* APP PROCESS */ + free(write_value); #endif return nv_ret_value; + } extern uint32_t mcu_os_sys_reset(uint8_t *para, uint32_t para_len); @@ -123,18 +117,16 @@ extern void uapi_sys_shipmode(uint32_t arg); extern void sync_all_config_to_disk(void); void uapi_poweroff_device(void) { - + uapi_sys_shipmode(0); } void uapi_reboot_device(void) { - mcu_os_sys_reset(NULL, NULL); + mcu_os_sys_reset(NULL,NULL); } void shutdown_reboot_prejobs_task(void) { - addressbookTowrite(); - uapi_calendar_store_date(); sync_all_config_to_disk(); } @@ -142,18 +134,19 @@ static bool doing_shutdown_or_reboot = false; void shutdown_reboot_prejobs(void) { PRINT("shutdown_reboot_prejobs !\r\n"); - app_task_definition_t taskcfg = {0}; + app_task_definition_t taskcfg={0}; taskcfg.create_queue_handle = NULL; - taskcfg.attr.name = "shutdown_reboot_prejobs"; + taskcfg.attr.name="shutdown_reboot_prejobs"; taskcfg.attr.priority = osPriorityNormal; - taskcfg.attr.stack_size = 0x1000 * 2; + taskcfg.attr.stack_size = 0x1000; taskcfg.func = shutdown_reboot_prejobs_task; taskcfg.use_mem = USE_EXTEND_MEM; - - errcode_t ret = uapi_create_osThread_custom(&taskcfg); - if (ret != ERRCODE_SUCC) + + errcode_t ret=uapi_create_osThread_custom(&taskcfg); + if(ret != ERRCODE_SUCC) { - PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n", ret); + PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n",ret); + } } void start_shutdown_or_reboot(void) @@ -169,48 +162,47 @@ bool is_doing_shutdown_or_reboot(void) bool start_custom_ble_service(void) { #ifdef SUPPORT_BLE_SERVICE - openBle(); - PRINT("start custom protocol classic bt ble service !\r\n"); - // bool ret = enable_bt_stack(); -#endif + openBle(); + PRINT("start custom protocol classic bt ble service !\r\n"); + // bool ret = enable_bt_stack(); +#endif return true; } bool stop_custom_ble_service(void) { #ifdef SUPPORT_BLE_SERVICE - PRINT("start custom protocol classic bt ble service !\r\n"); - // ble_unregist_server(); - closeBle(); - // bool ret = disable_bt_stack(); -#endif + PRINT("start custom protocol classic bt ble service !\r\n"); + ble_unregist_server(); + closeBle(); + // bool ret = disable_bt_stack(); +#endif return true; } bool start_alipay_ble_service(void) { - // ble_avd_mode_change(1); - // if(get_ble_status()) - // { - // PRINT("stop custom protocol classic bt ble service first !\r\n"); - // stop_custom_ble_service(); - // uapi_systick_delay_ms(20); - // } - // PRINT("start_alipay_ble_service !\r\n"); - // svr_alipay_bluetooth_init(); + if(get_ble_status()) + { + PRINT("stop custom protocol classic bt ble service first !\r\n"); + stop_custom_ble_service(); + uapi_systick_delay_ms(20); + } + PRINT("start_alipay_ble_service !\r\n"); + svr_alipay_bluetooth_init(); return true; } bool stop_alipay_ble_service(void) { - ble_avd_mode_change(0); - // PRINT("stop_alipay_ble_service !\r\n"); - // alipay_unregist_server(); - // disable_bt_stack(); - // if(custom_ble_service_on_flag()) - // { - // PRINT("start_custom_ble_service !\r\n"); - // uapi_systick_delay_ms(20); - // start_custom_ble_service(); - // } + + PRINT("stop_alipay_ble_service !\r\n"); + alipay_unregist_server(); + disable_bt_stack(); + if(custom_ble_service_on_flag()) + { + PRINT("start_custom_ble_service !\r\n"); + uapi_systick_delay_ms(20); + start_custom_ble_service(); + } return true; } void startup_post_init_task(void) @@ -219,9 +211,9 @@ void startup_post_init_task(void) PRINT("startup_post_init_task !\r\n"); uapi_calendar_recover_date(); - if (!custom_ble_service_on_flag()) + if(custom_ble_service_on_flag()) { - stop_custom_ble_service(); + start_custom_ble_service(); } initScreenBrightness(); @@ -229,38 +221,37 @@ void startup_post_init_task(void) initializeRaiseToWake(); LOS_Msleep(5000); - addressbookToRead(); - if (poweron_cat1_on_bootup_flag()) + if ( poweron_cat1_on_bootup_flag() ) { PRINT("PowerOn Cat1 !\r\n"); uapi_cat1_power_on(1); uapi_cat1_reset(0); - } - else - { + }else{ PRINT("PowerOff Cat1 !\r\n"); uapi_cat1_power_on(0); uapi_cat1_reset(1); } -} +} + void startup_post_init(void) { PRINT("startup_post_init !\r\n"); - app_task_definition_t taskcfg = {0}; + app_task_definition_t taskcfg={0}; taskcfg.create_queue_handle = NULL; - taskcfg.attr.name = "startup_post_init_task"; + taskcfg.attr.name="startup_post_init_task"; taskcfg.attr.priority = osPriorityNormal; taskcfg.attr.stack_size = 0x1000; taskcfg.func = startup_post_init_task; taskcfg.use_mem = USE_EXTEND_MEM; - - errcode_t ret = uapi_create_osThread_custom(&taskcfg); - if (ret != ERRCODE_SUCC) + + errcode_t ret=uapi_create_osThread_custom(&taskcfg); + if(ret != ERRCODE_SUCC) { - PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n", ret); + PRINT("create shutdown_reboot_prejobs thread failed %d!\r\n",ret); + } } @@ -270,24 +261,18 @@ errcode_t uaip_cmd_update_request(void) { errcode_t ret; upg_prepare_info_t t = {0}; - t.package_len = 4; // 文件升级的前提下,只要package_len 大于0 即可。 + t.package_len = 4 ; //文件升级的前提下,只要package_len 大于0 即可。 ret = uapi_upg_prepare(&t); - if (ret != ERRCODE_SUCC) - { + if (ret != ERRCODE_SUCC) { printf("uapi_upg_prepare error = 0x%x\r\n", ret); return ret; - } - else - { + } else { printf("uapi_upg_prepare OK!!\r\n"); } ret = uapi_upg_request_upgrade(false); - if (ret != ERRCODE_SUCC) - { + if (ret != ERRCODE_SUCC) { printf("uapi_upg_request_upgrade error = 0x%x\r\n", ret); - } - else - { + } else { printf("uapi_upg_request_upgrade OK!!\r\n"); /* app中下载后直接开始升级流程,升级流程结束后重启 */ /* IOT设备重启 */ @@ -296,246 +281,201 @@ errcode_t uaip_cmd_update_request(void) return ret; } + #include "systick.h" #include "sys/time.h" #include "time.h" errcode_t uapi_get_timestampe_ms(uint64_t *tm) { - struct timeval tv = {0}; + struct timeval tv = { 0 }; - if (gettimeofday(&tv, NULL)) - { + if (gettimeofday(&tv, NULL)) { return ERRCODE_FAIL; } - *tm = (uint64_t)(tv.tv_sec * 1000 + tv.tv_usec / 1000); - + *tm = (uint64_t)(tv.tv_sec*1000 + tv.tv_usec/1000 ); + return ERRCODE_SUCC; } -#define BITS_PER_BYTE 8 -#define HEXADECIMAL 16 -#define DECIMAL 10 -#define TIME_YEAR_OFFSET 123 -#define TIME_ZONE_OFF (8 * 60) -#define TIME_SECSPERMIN 60 /* second per minute */ -static uint32_t get_sec_time_from_cat1time(char *time, uint32_t *second, uint8_t *zone) +#define BITS_PER_BYTE 8 +#define HEXADECIMAL 16 +#define DECIMAL 10 +#define TIME_YEAR_OFFSET 123 +#define TIME_ZONE_OFF (8 * 60) +#define TIME_SECSPERMIN 60 /* second per minute */ +static uint32_t get_sec_time_from_cat1time(char* time , uint32_t *second , uint8_t *zone) { - struct tm _tm = {0}; - char *ptr = time; - char *tmp; + struct tm _tm = { 0 }; + char* ptr = time; + char* tmp; - if (time == NULL || strlen(time) < 12) + if (time==NULL || strlen(time) < 12) { printf("time==NULL || strlen(time) < 12 , format error, should like (2024, 3, 2, 18, 40, 1, 5, 62),8 "); return 2; } - + // å¹´ tmp = strchr(ptr, '('); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } ptr = tmp + 1; tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } *tmp = '\0'; // 年的计算需要减去1900 _tm.tm_year = strtol(ptr, NULL, DECIMAL) - 1900; - if (_tm.tm_year < TIME_YEAR_OFFSET) - { + if (_tm.tm_year < TIME_YEAR_OFFSET) { printf("ERR!year num must bigger than 2023!"); return 3; } ptr = tmp + 1; + // 月 - if (*ptr == ' ') - { - ptr = ptr + 1; - } + if ( *ptr == ' ') { ptr = ptr + 1; } tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } *tmp = '\0'; // 月的计算需要减1 _tm.tm_mon = strtol(ptr, NULL, DECIMAL) - 1; ptr = tmp + 1; // 日 - if (*ptr == ' ') - { - ptr = ptr + 1; - } + if ( *ptr == ' ') { ptr = ptr + 1; } tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } *tmp = '\0'; _tm.tm_mday = strtol(ptr, NULL, DECIMAL); ptr = tmp + 1; // 时 - if (*ptr == ' ') - { - ptr = ptr + 1; - } + if ( *ptr == ' ') { ptr = ptr + 1; } tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } *tmp = '\0'; _tm.tm_hour = strtol(ptr, NULL, DECIMAL); ptr = tmp + 1; // 分 - if (*ptr == ' ') - { - ptr = ptr + 1; - } + if ( *ptr == ' ') { ptr = ptr + 1; } tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } *tmp = '\0'; _tm.tm_min = strtol(ptr, NULL, DECIMAL); ptr = tmp + 1; // 秒 - if (*ptr == ' ') - { - ptr = ptr + 1; - } + if ( *ptr == ' ') { ptr = ptr + 1; } tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } *tmp = '\0'; _tm.tm_sec = strtol(ptr, NULL, DECIMAL); ptr = tmp + 1; - // 毫秒 + //毫秒 tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } ptr = tmp + 1; - // 微妙 + //微妙 tmp = strchr(ptr, ','); - if (tmp == NULL) - { - return 1; - } + if (tmp == NULL) { return 1; } ptr = tmp + 1; - - // 时区 - if (*ptr == ' ') - { - ptr = ptr + 1; - } + + //时区 + if ( *ptr == ' ') { ptr = ptr + 1; } *zone = strtol(ptr, NULL, DECIMAL); *second = (uint32_t)__tm_to_secs(&_tm); - *second -= *zone * 3600; // cat1获得的时间时当下时间,实际上要减去zone的时间 + *second -= *zone * 3600; //cat1获得的时间时当下时间,实际上要减去zone的时间 // printf("%04d-%02d-%02d %02d:%02d:%02d %d\n",_tm.tm_year,_tm.tm_mon,_tm.tm_mday,_tm.tm_hour,_tm.tm_min,_tm.tm_sec,*zone); return 0; } -errcode_t uapi_set_time_from_cat1(char *cat1time) +errcode_t uapi_set_time_from_cat1(char* cat1time) { uint8_t zone = 0; - uint32_t sec = 0; - uint32_t ret = get_sec_time_from_cat1time(cat1time, &sec, &zone); + uint32_t sec = 0; + uint32_t ret = get_sec_time_from_cat1time(cat1time,&sec,&zone); - if (ret == 0) - { - struct timeval tv = {0}; - struct timezone tz = {0}; - - tv.tv_sec = sec; - tv.tv_usec = 0; - tz.tz_dsttime = 0; - tz.tz_minuteswest = zone * 60; - settimeofday(&tv, &tz); - } - else - { - printf("convert to time failed ret %d!\n", ret); - return ERRCODE_FAIL; - } + if (ret == 0 ) + { + struct timeval tv = { 0 }; + struct timezone tz = { 0 }; + + tv.tv_sec = sec; + tv.tv_usec = 0; + tz.tz_dsttime = 0; + tz.tz_minuteswest = zone*60; + settimeofday(&tv, &tz); + }else{ + printf("convert to time failed ret %d!\n",ret); + return ERRCODE_FAIL; + } + + time_t rawtime; - struct tm *timeinfo; + struct tm* timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); printf("set time success %04d-%02d-%02d %02d:%02d:%02d %d\n", - timeinfo->tm_year + 1900, - timeinfo->tm_mon + 1, - timeinfo->tm_mday, - timeinfo->tm_hour, - timeinfo->tm_min, - timeinfo->tm_sec, zone); - - if (timeinfo->tm_year + 1900 < 2024) + timeinfo->tm_year + 1900, + timeinfo->tm_mon + 1, + timeinfo->tm_mday, + timeinfo->tm_hour, + timeinfo->tm_min, + timeinfo->tm_sec,zone); + + if (timeinfo->tm_year+1900 < 2024) return ERRCODE_FAIL; return ERRCODE_SUCC; -} +} /* * @brief 获取当地[å¹´-月-日]日期 * @return 格式为:[å¹´.月.日]的字符串 - */ +*/ char *uapi_get_local_yyyymmdd_date(void) { time_t rawtime; - struct tm *timeinfo; + struct tm* timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); - char *buffer = (char *)malloc(80); // 动态分配内存 - if (buffer == NULL) + char *buffer = (char*)malloc(80); // 动态分配内存 + if(buffer == NULL) { return NULL; // 内存分配失败 } // 格式化输出当前时间为 "YYYY-MM-DD HH:MM:SS" 形式 - sprintf(buffer, "%04d.%02d.%02d\n", - timeinfo->tm_year + 1900, - timeinfo->tm_mon + 1, - timeinfo->tm_mday); - + sprintf(buffer,"%04d.%02d.%02d\n", + timeinfo->tm_year + 1900, + timeinfo->tm_mon + 1, + timeinfo->tm_mday); + return buffer; } /// @brief 获取日期 errcode_t uapi_get_yyyymmddhhmmss_Date(char *date) { - if (date != NULL) + if(date != NULL) { time_t rawtime; - struct tm *timeinfo; + struct tm* timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); - sprintf(date, "%04d%02d%02d%02d%02d%02d", - timeinfo->tm_year + 1900, - timeinfo->tm_mon + 1, - timeinfo->tm_mday, - timeinfo->tm_hour, - timeinfo->tm_min, - timeinfo->tm_sec); + sprintf(date,"%04d%02d%02d%02d%02d%02d", + timeinfo->tm_year + 1900, + timeinfo->tm_mon + 1, + timeinfo->tm_mday, + timeinfo->tm_hour, + timeinfo->tm_min, + timeinfo->tm_sec); } return ERRCODE_SUCC; } @@ -613,20 +553,36 @@ errcode_t uapi_get_WeekStr(char *p_week) return ERRCODE_SUCC; // 假设成功获取星期信息 } +/** + * @brief 亮屏函数 + */ +void uapi_set_screen_on_api(void) +{ + const power_display_svr_api_t *display_api = power_display_svr_get_api(); + display_api->set_screen_set_keepon_timeout(0); + if (display_api->get_screen_state() != SCREEN_ON) + { + display_api->turn_on_screen(); + } + // 设置屏幕亮5000 + display_api->set_screen_set_keepon_timeout(5000); +} + /// @brief 控制屏幕是否常亮 -/// @param turnOnFlag 1:常亮屏幕 -/// @param turnOnFlag 0:取消常亮 +/// @param turnOnFlag 1:常亮屏幕 +/// @param turnOnFlag 0:取消常亮 void ScreenAlwaysOnCtr(uint8_t turnOnFlag) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); - if (turnOnFlag) + if(turnOnFlag) { + const power_display_svr_api_t *display_api = power_display_svr_get_api(); display_api->set_screen_set_keepon_timeout(0); if (display_api->get_screen_state() != SCREEN_ON) { display_api->turn_on_screen(); } - // 当设置的值是-1 的时候,设置屏幕常亮 + //当设置的值是-1 的时候,设置屏幕常亮 display_api->set_screen_set_keepon_timeout(-1); } else @@ -645,8 +601,8 @@ void uapi_setScreenBrightness(int value) } /* - * @brief 设置某个Slice亮屏时间,超过时间后屏幕息屏,单位ms - */ + * @brief 设置某个Slice亮屏时间,超过时间后屏幕息屏,单位ms +*/ void uapi_setScreenDuration(int32_t time) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); @@ -654,29 +610,14 @@ void uapi_setScreenDuration(int32_t time) } /* - * @brief 获取屏幕状态 - */ + * @brief 获取屏幕状态 +*/ int32_t uapi_get_screen_state(void) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); return display_api->get_screen_state(); } -/** - * @brief 亮屏函数 - */ -void uapi_set_screen_on_api(void) -{ - const power_display_svr_api_t *display_api = power_display_svr_get_api(); - display_api->set_screen_set_keepon_timeout(0); - if (display_api->get_screen_state() != SCREEN_ON) - { - display_api->turn_on_screen(); - } - // 设置屏幕亮5000 - display_api->set_screen_set_keepon_timeout(5000); -} - /*系统声音设置*/ void uapi_systemVolumeSet(int16_t sounding) { @@ -691,6 +632,8 @@ void uapi_callVolumeSet(int16_t sounding) #include "bts_le_gap.h" + + // extern void wstp_spp_cmd_server_create(const char *spp_uuid, const char *name, uint8_t name_len); // extern void wstp_spp_cmd_server_accept(uint32_t server_id); // extern errcode_t enable_bt_stack(void); @@ -702,7 +645,7 @@ void uapi_callVolumeSet(int16_t sounding) // extern errcode_t bluetooth_get_local_name(unsigned char *localName, unsigned char *length); errcode_t uapi_get_btname(uint8_t *buf_btname, uint32_t *len_btname) { - if (buf_btname == NULL || len_btname == NULL) + if(buf_btname == NULL || len_btname == NULL) { printf("ERROR param NULL"); return ERRCODE_FAIL; @@ -710,52 +653,48 @@ errcode_t uapi_get_btname(uint8_t *buf_btname, uint32_t *len_btname) unsigned char namelen = 248; unsigned char name[248] = {0}; errcode_t res = bluetooth_get_local_name(name, &namelen); - if (res == 0) - { + if (res == 0) { char str[256] = "^btname:"; - strcat_s(str, strlen(str) + strlen((char *)name), (char *)name); + strcat_s(str, strlen(str) + strlen((char*)name), (char*)name); printf("%s\r\n", &str[0]); printf("name: %s, length: %d\n", name, namelen); - sprintf((char *)buf_btname, "%s", name); - *len_btname = strlen((const char *)name); + sprintf((char*)buf_btname,"%s",name); + *len_btname = strlen((const char*)name); return ERRCODE_SUCC; - } - else - { - printf("bluetooth_get_local_name ret = 0x%X\n", res); + } else { + printf("bluetooth_get_local_name ret = 0x%X\n",res); return ERRCODE_FAIL; } + } errcode_t uapi_get_btaddr(uint8_t *buf_btaddr, uint32_t *len_btaddr) { - if (buf_btaddr == NULL || len_btaddr == NULL) - { + if (buf_btaddr == NULL || len_btaddr == NULL) { printf("ERROR param NULL"); return ERRCODE_FAIL; } errcode_t res; -#define BT_MAC_LEN 6 + #define BT_MAC_LEN 6 unsigned int len = BT_MAC_LEN; unsigned char addr[BT_MAC_LEN] = {0}; srand(time(0)); res = bluetooth_get_local_addr(&addr[0], len); - if (res == 0) - { + if (res == 0) { char str[64] = {0}; - strcat_s(str, strlen(str) + strlen((char *)addr), (char *)addr); + strcat_s(str, strlen(str) + strlen((char*)addr), (char*)addr); printf("%s\r\n", &str[0]); printf("local_addr : ******%02x%02x%02x\n", addr[3], addr[4], addr[5]); - - memset((void *)buf_btaddr, 0, *len_btaddr); - sprintf_s((char *)buf_btaddr, *len_btaddr, "%02X:%02X:%02X:%02X:%02X:%02X", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); + + memset((void*)buf_btaddr,0,*len_btaddr); + sprintf_s((char*)buf_btaddr, *len_btaddr, "%02X:%02X:%02X:%02X:%02X:%02X",addr[0], addr[1],addr[2],addr[3],addr[4],addr[5]); *len_btaddr = strlen(str); - } - else - { - printf("bluetooth_get_local_addr err 0x%X\r\n", res); + + } else { + printf("bluetooth_get_local_addr err 0x%X\r\n",res); return ERRCODE_FAIL; } + return ERRCODE_SUCC; } @@ -763,171 +702,168 @@ errcode_t uapi_get_nv_btaddr(uint8_t *buf_btaddr, uint32_t *len_btaddr) { #ifdef SUPPORT_NV - if (buf_btaddr == NULL || len_btaddr == NULL || *len_btaddr == 0) + if( buf_btaddr == NULL || len_btaddr == NULL || *len_btaddr == 0) return ERRCODE_FAIL; uint16_t len = 0; btsrv_local_device_info_t btinfo = {0}; errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo); - if (nvRet != ERRCODE_SUCC) - { - *len_btaddr = 0; - return nvRet; + if (nvRet != ERRCODE_SUCC) { + *len_btaddr = 0; + return nvRet; } uint32_t max_input_len = *len_btaddr; - memcpy_s(buf_btaddr, max_input_len, btinfo.bd_addr, sizeof(btinfo.bd_addr)); + memcpy_s(buf_btaddr,max_input_len,btinfo.bd_addr,sizeof(btinfo.bd_addr)); *len_btaddr = sizeof(btinfo.bd_addr); printf("get nv local_addr : ******%02x%02x%02x\n", buf_btaddr[2], buf_btaddr[1], buf_btaddr[0]); #endif - return ERRCODE_SUCC; + return ERRCODE_SUCC; } errcode_t uapi_set_nv_btaddr(uint8_t *buf_btaddr, uint32_t len_btaddr) { #ifdef SUPPORT_NV - if (buf_btaddr == NULL || len_btaddr == 0) + if( buf_btaddr == NULL || len_btaddr == 0) return ERRCODE_FAIL; btsrv_local_device_info_t btinfo = {0}; uint16_t len = 0; - + /**先读取NV,再修改addr值*/ errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo); - if (nvRet != ERRCODE_SUCC) - { - return nvRet; + if (nvRet != ERRCODE_SUCC) { + return nvRet; } - uint16_t key_len = sizeof(btinfo.bd_addr); - memcpy_s(btinfo.bd_addr, key_len, buf_btaddr, len_btaddr); - nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t)); - if (nvRet != ERRCODE_SUCC) - { - /* ERROR PROCESS */ - return nvRet; - } + uint16_t key_len= sizeof(btinfo.bd_addr); + memcpy_s(btinfo.bd_addr,key_len,buf_btaddr,len_btaddr); + nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t)); + if (nvRet != ERRCODE_SUCC) { + /* ERROR PROCESS */ + + return nvRet; + } printf("set nv local_addr : ******%02x%02x%02x\n", buf_btaddr[3], buf_btaddr[4], buf_btaddr[5]); - + #endif - + return ERRCODE_SUCC; } + errcode_t uapi_get_nv_btname(uint8_t *buf_btname, uint32_t *len_btname) { #ifdef SUPPORT_NV - if (buf_btname == NULL || len_btname == NULL || *len_btname == 0) + if( buf_btname == NULL || len_btname == NULL || *len_btname == 0) return ERRCODE_FAIL; uint16_t len = 0; btsrv_local_device_info_t btinfo = {0}; errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo); - if (nvRet != ERRCODE_SUCC) - { - *len_btname = 0; - return nvRet; + if (nvRet != ERRCODE_SUCC) { + *len_btname = 0; + return nvRet; } uint32_t max_input_len = *len_btname; - *len_btname = strlen((char *)btinfo.name); - memcpy_s(buf_btname, max_input_len, btinfo.name, *len_btname); + *len_btname = strlen((char*)btinfo.name); + memcpy_s(buf_btname,max_input_len,btinfo.name,*len_btname); printf("get nv local_name : %s\n", buf_btname); #endif - return ERRCODE_SUCC; + return ERRCODE_SUCC; } + errcode_t uapi_set_nv_btname(uint8_t *buf_btname, uint32_t len_btname) { #ifdef SUPPORT_NV - if (buf_btname == NULL || len_btname == 0) + if( buf_btname == NULL || len_btname == 0) return ERRCODE_FAIL; btsrv_local_device_info_t btinfo = {0}; uint16_t len = 0; - + /**先读取NV,再修改addr值*/ errcode_t nvRet = uapi_nv_read(NV_ID_BTSRV_LOCAL_DEV_INFO, sizeof(btsrv_local_device_info_t), &len, &btinfo); - if (nvRet != ERRCODE_SUCC) - { - return ERRCODE_FAIL; + if (nvRet != ERRCODE_SUCC) { + return ERRCODE_FAIL; } - uint16_t key_len = sizeof(btinfo.name); - memcpy_s(btinfo.name, key_len, buf_btname, len_btname); - nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t)); - if (nvRet != ERRCODE_SUCC) - { - /* ERROR PROCESS */ - return ERRCODE_FAIL; - } - printf("set nv local_name : %s\n", btinfo.name); + uint16_t key_len=sizeof(btinfo.name); + memcpy_s(btinfo.name,key_len,buf_btname,len_btname); + nvRet = uapi_nv_write(NV_ID_BTSRV_LOCAL_DEV_INFO, &btinfo, sizeof(btsrv_local_device_info_t)); + if (nvRet != ERRCODE_SUCC) { + /* ERROR PROCESS */ + return ERRCODE_FAIL; + } + printf("set nv local_name : %s\n", btinfo.name); + #endif - return ERRCODE_SUCC; + return ERRCODE_SUCC; } + + + errcode_t init_btaddr_btname(void) { - errcode_t ret; - uint8_t bd_addr[BD_ADDR_LEN] = {0}; - uint8_t name[BTSDK_DEVNAME_LEN] = {0}; - uint32_t addrlen = sizeof(bd_addr); - ret = uapi_get_nv_btaddr(bd_addr, &addrlen); - if (ret != ERRCODE_SUCC) - { - /* ERROR PROCESS */ - printf("uapi_get_nv_btaddr failed ret %d , addrlen %d\n", ret, addrlen); - return ERRCODE_FAIL; - } + errcode_t ret ; + uint8_t bd_addr[BD_ADDR_LEN]={0}; + uint8_t name[BTSDK_DEVNAME_LEN]={0}; + uint32_t addrlen = sizeof(bd_addr); + ret = uapi_get_nv_btaddr(bd_addr,&addrlen); + if (ret != ERRCODE_SUCC) { + /* ERROR PROCESS */ + printf("uapi_get_nv_btaddr failed ret %d , addrlen %d\n",ret,addrlen); + return ERRCODE_FAIL; + } - // 如果 281106856959 - if (bd_addr[5] == 0x59 && + //如果 281106856959 + if ( bd_addr[5] == 0x59 && bd_addr[4] == 0x69 && bd_addr[3] == 0x85 && bd_addr[2] == 0x06 && bd_addr[1] == 0x11 && - bd_addr[0] == 0x28) - { - - uint8_t soc_id[20]; // 20 is soc id length + bd_addr[0] == 0x28 ) + { + + uint8_t soc_id[20]; // 20 is soc id length uapi_soc_read_id(soc_id, 20); // 20 is soc id length uint16_t sum = 0x0; printf("[soc id:]\r\n"); - for (uint8_t i = 0; i < 20; i += 2) - { // 20 is soc id length, 2 means use 16bits - uint16_t ptmp16 = *((uint16_t *)&soc_id[i]); + for (uint8_t i = 0; i < 20; i += 2) { // 20 is soc id length, 2 means use 16bits + uint16_t ptmp16= *((uint16_t *)&soc_id[i]); sum += ptmp16; printf("0x%04X ", ptmp16); - if ((i + 2) % 8 == 0) - { - printf("\r\n"); - } // 2&8 will word wrap + if ((i + 2) % 8 == 0) { printf("\r\n"); } // 2&8 will word wrap } - printf("get socid sum 0x%04X\r\n", sum); + printf("get socid sum 0x%04X\r\n",sum); srand(sum); - // 默认是:281106856959 + //默认是:281106856959 printf("是默认值,修改地址\n"); - bd_addr[3] = rand() % 0xFF; + bd_addr[3] = rand() % 0xFF; bd_addr[4] = rand() % 0xFF; bd_addr[5] = rand() % 0xFF; printf("uapi_set_nv_btaddr : ******%02x%02x%02x\n", bd_addr[3], bd_addr[4], bd_addr[5]); ret = uapi_set_nv_btaddr(bd_addr, addrlen); - if (ret != ERRCODE_SUCC) - { - /* ERROR PROCESS */ - printf("uapi_set_nv_btaddr failed ret %d\n", ret); - return ERRCODE_FAIL; - } + if (ret != ERRCODE_SUCC) { + /* ERROR PROCESS */ + printf("uapi_set_nv_btaddr failed ret %d\n",ret); + return ERRCODE_FAIL; + } + } + #if 0 uint32_t namelen = sizeof(name); ret = uapi_get_nv_btname(name,&namelen); @@ -951,19 +887,21 @@ errcode_t init_btaddr_btname(void) } #endif return ERRCODE_SUCC; + } + #include "build_version.h" -#define VER_STR_MAX 128 +#define VER_STR_MAX 128 errcode_t uapi_get_buildversion(uint8_t *para, uint32_t para_len) { - if (para == NULL || para_len == 0) + if (para == NULL || para_len == 0 ) return ERRCODE_FAIL; char str[VER_STR_MAX]; -#if !(defined BUILD_TIME) +#if !(defined BUILD_TIME) #warning no BUILD_TIME - (void)sprintf_s(str, VER_STR_MAX, "%s", + (void)sprintf_s(str, VER_STR_MAX, "%s", get_version_string()); #else @@ -972,27 +910,65 @@ errcode_t uapi_get_buildversion(uint8_t *para, uint32_t para_len) #endif printf(str); - memset(para, 0, para_len); - memcpy_s(para, para_len, str, strlen(str)); + memset(para,0,para_len); + memcpy_s(para,para_len,str,strlen(str)); return ERRCODE_SUCC; } #include "vibrator.h" -void vibrator_cyclicity(uint16_t duty, uint16_t cycle_time_ms, uint16_t duration_time_ms) +void vibrator_cyclicity(uint16_t duty , uint16_t cycle_time_ms,uint16_t duration_time_ms) { - g_VibratorFunc(duty, cycle_time_ms, duration_time_ms); + g_VibratorFunc(duty,cycle_time_ms,duration_time_ms); +} + +void uapi_set_vibrator_level(int level) +{ + uint16_t duty =20; + uint16_t cycle_time_ms = 200; + uint16_t duration_time_ms = 0; + switch(level) + { + case 1: + duration_time_ms = 200; + break; + case 2: + duration_time_ms = 500; + break; + case 3: + duration_time_ms = 1000; + break; + default: + break; + } + g_VibratorFunc(duty,cycle_time_ms,duration_time_ms); } void uapi_take_to_wake(int cmd) { - if (cmd == 1) - do_cywee_service_check_msg(CYWEE_SERVICE_CMD_OPEN_HAND_UPDOWN, NULL); - else - do_cywee_service_check_msg(CYWEE_SERVICE_CMD_CLOSE_HAND_UPDOWN, NULL); + #if defined(SUPPORT_POWER_MANAGER) + const power_display_svr_api_t *display_api = power_display_svr_get_api(); + #endif + if (cmd == 2) + { + #if defined(SUPPORT_POWER_MANAGER) + display_api->set_screen_set_keepon_timeout(0); + PRINT("[cwyee] turn_off_screen"); + #endif + }else if (cmd == 1) + { + #if defined(SUPPORT_POWER_MANAGER) + if (display_api->get_screen_state() != SCREEN_ON) { + PRINT("[cwyee] turn_on_screen"); + display_api->turn_on_screen(); + } + display_api->set_screen_set_keepon_timeout(5000); + #endif + } } + #include "lcd_common.h" void lcd_getid(uint32_t *id) @@ -1001,20 +977,17 @@ void lcd_getid(uint32_t *id) lcd_drv_cfg *lcd_cfg = NULL; lcd_drv_comm_api = lcd_drv_get_common_api(); - if (lcd_drv_comm_api == NULL) - { + if (lcd_drv_comm_api == NULL) { PRINT("lcd_drv_comm_api is null.\r\n"); } else { lcd_cfg = lcd_drv_comm_api->get_lcd_config(); - if (lcd_cfg == NULL) - { + if (lcd_cfg == NULL) { PRINT("lcd_cfg is null.\r\n"); - } - else + }else { - PRINT("LCD ID : 0x%x\r\n", (uint32_t)lcd_cfg->lcd_id); + PRINT("LCD ID : 0x%x\r\n",(uint32_t)lcd_cfg->lcd_id); *id = (uint32_t)lcd_cfg->lcd_id; } } @@ -1022,38 +995,38 @@ void lcd_getid(uint32_t *id) #include "ft6x46_ctrl.h" #include "ft6x46_touch1.h" -#define FTS_REG_CHIP_ID 0xA3 -#define FTS_REG_CHIP_ID2 0x9F +#define FTS_REG_CHIP_ID 0xA3 +#define FTS_REG_CHIP_ID2 0x9F /*Max point numbers of touch trace*/ -#define MAX_POINTS_TOUCH_TRACE 1 +#define MAX_POINTS_TOUCH_TRACE 1 /*Length of touch information*/ -#define MAX_LEN_TOUCH_INFO (MAX_POINTS_TOUCH_TRACE * 6 + 2) -#define FTS_MAX_POINTS_SUPPORT 10 - -struct fts_ts_event -{ - int x; /*x coordinate */ - int y; /*y coordinate */ - int p; /* pressure */ - int type; /* touch event flag: 0 -- down; 1-- up; 2 -- contact */ - int id; /*touch ID */ - int area; /*touch area*/ +#define MAX_LEN_TOUCH_INFO (MAX_POINTS_TOUCH_TRACE * 6 + 2) +#define FTS_MAX_POINTS_SUPPORT 10 + +struct fts_ts_event { + int x; /*x coordinate */ + int y; /*y coordinate */ + int p; /* pressure */ + int type; /* touch event flag: 0 -- down; 1-- up; 2 -- contact */ + int id; /*touch ID */ + int area; /*touch area*/ }; -void get_tp_info(int16_t *x, int16_t *y) + +void get_tp_info(int16_t *x,int16_t *y) { uint8_t i = 0; uint8_t base = 0; uint8_t regaddr = 0x01; - uint8_t buf[MAX_LEN_TOUCH_INFO]; /*A maximum of two points are supported*/ + uint8_t buf[MAX_LEN_TOUCH_INFO];/*A maximum of two points are supported*/ - struct fts_ts_event events[FTS_MAX_POINTS_SUPPORT]; /* multi-touch */ + struct fts_ts_event events[FTS_MAX_POINTS_SUPPORT]; /* multi-touch */ /*read touch information from reg0x01*/ tp_ft6x46_i2c_data_read(regaddr, buf, MAX_LEN_TOUCH_INFO); memset(events, 0xFF, sizeof(struct fts_ts_event) * FTS_MAX_POINTS_SUPPORT); - for (i = 0; i < MAX_POINTS_TOUCH_TRACE; i++) + for (i = 0; i < MAX_POINTS_TOUCH_TRACE; i++) { base = 2 + i * 6; @@ -1063,32 +1036,28 @@ void get_tp_info(int16_t *x, int16_t *y) *x = events[i].x; *y = events[i].y; - PRINT("X : %d, y : %d \r\n", *x, *y); + PRINT("X : %d, y : %d \r\n",*x,*y); } } + void touch_getid(uint16_t *id) { ext_errno ret; - uint8_t chip_id[2] = {0}; + uint8_t chip_id[2] = { 0 }; /*get chip id*/ ret = tp_ft6x46_i2c_data_read(FTS_REG_CHIP_ID, &chip_id[0], 1); - if (ret != EXT_ERR_SUCCESS) - { + if (ret != EXT_ERR_SUCCESS) { PRINT("get ic information error1"); - } - else - { + } else { ret = tp_ft6x46_i2c_data_read(FTS_REG_CHIP_ID2, &chip_id[1], 1); - if (ret != EXT_ERR_SUCCESS) - { + if (ret != EXT_ERR_SUCCESS) { PRINT("get ic information error2"); - } - else + } else { - PRINT("TOUCH CHIP ID = 0x%02x%02x \r\n", chip_id[0], chip_id[1]); + PRINT("TOUCH CHIP ID = 0x%02x%02x \r\n", chip_id[0], chip_id[1]); *id = (chip_id[0] & 0XFF) << 8 | (chip_id[1] & 0XFF); - // sprintf(id,"0x%02x%02x", chip_id[0], chip_id[1]); + //sprintf(id,"0x%02x%02x", chip_id[0], chip_id[1]); } } } @@ -1099,7 +1068,7 @@ void touch_getstate(void) { int32_t state; state = uapi_get_screen_state(); - PRINT("state : %d\r\n", state); + PRINT("state : %d\r\n",state); } #include "MMC5603.h" @@ -1110,19 +1079,20 @@ void mmc5603_getid(unsigned char *id) MMC5603_GETID(id); } -void mmc5603_getdata(float *fAzimuth, float *fPitch, float *fRoll) +void mmc5603_getdata(float *fAzimuth,float *fPitch,float *fRoll) { mmc5603_check(); *fAzimuth = mag_service_get_fAzimuth(); *fPitch = mag_service_get_fPitch(); *fRoll = mag_service_get_fRoll(); - PRINT("Azimuth : %f, fPitch : %f , fRoll : %f \r\n", *fAzimuth, *fPitch, *fRoll); + PRINT("Azimuth : %f, fPitch : %f , fRoll : %f \r\n",*fAzimuth,*fPitch,*fRoll); } + #include "battery_hal.h" void charge_getstate(void) { - if (get_charge_stat()) + if(get_charge_stat()) PRINT("charging\r\n"); else PRINT("uncharged\r\n"); @@ -1141,6 +1111,7 @@ void battery_getvoltage(float *voltage) battery_get_voltage(voltage); } + #include "flash.h" void flash_getid(uint32_t *id) @@ -1148,7 +1119,7 @@ void flash_getid(uint32_t *id) flash_info_t norflash_id; uapi_flash_get_info(0, &norflash_id); *id = norflash_id.flash_id; - PRINT("flash_id : %X \r\n", *id); + PRINT("flash_id : %X \r\n",*id); } void flash_erase(void) @@ -1173,8 +1144,9 @@ void get_gsensor_single(uint8_t *databuf) databuf[4] = (uint8_t)((t.z & 0xFF00) >> 8); databuf[5] = (uint8_t)(t.z & 0x00FF); - PRINT("x : %d, y : %d, z : %d \r\n", t.x, t.y, t.z); - PRINT("GSENSOR: %2X %2X %2X %2X %2X %2X\r\n", databuf[0], databuf[1], databuf[2], databuf[3], databuf[4], databuf[5]); + PRINT("x : %d, y : %d, z : %d \r\n",t.x,t.y,t.z); + PRINT("GSENSOR: %2X %2X %2X %2X %2X %2X\r\n",databuf[0],databuf[1],databuf[2],databuf[3],databuf[4],databuf[5]); + } void gsensor_get_single_data(gsenson_t *t) @@ -1182,22 +1154,20 @@ void gsensor_get_single_data(gsenson_t *t) get_gsonsen_xyz(t); } + // 判断是否为闰年 -int isLeapYear(int year) -{ +int isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 计算某年某月的天数 -int daysInMonth(int year, int month) -{ +int daysInMonth(int year, int month) { const int days[12] = {31, 28 + isLeapYear(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; return days[month - 1]; } // 计算时间距离1970å¹´1月1日00:00:00的秒数 -uint32_t secondsSinceEpoch(int year, int month, int day, int hour, int min, int sec) -{ +uint32_t secondsSinceEpoch(int year,int month,int day,int hour,int min,int sec) { const int secondsPerMinute = 60; const int secondsPerHour = 3600; const int secondsPerDay = 86400; @@ -1206,14 +1176,12 @@ uint32_t secondsSinceEpoch(int year, int month, int day, int hour, int min, int long long seconds = 0; // 计算年份之间的秒数 - for (int i = 1970; i < year; ++i) - { + for (int i = 1970; i < year; ++i) { seconds += isLeapYear(i) ? secondsPerYear + secondsPerDay : secondsPerYear; } // 计算月份之间的秒数 - for (int i = 1; i < month; ++i) - { + for (int i = 1; i < month; ++i) { seconds += daysInMonth(year, i) * secondsPerDay; } @@ -1230,58 +1198,56 @@ void get_rtc(uint32_t *msc) { time_t rawtime; - struct tm *timeinfo; + struct tm* timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); *msc = secondsSinceEpoch(timeinfo->tm_year + 1900, - timeinfo->tm_mon + 1, - timeinfo->tm_mday, - timeinfo->tm_hour, - timeinfo->tm_min, - timeinfo->tm_sec); - PRINT("msc : %d \r\n", *msc); + timeinfo->tm_mon + 1, + timeinfo->tm_mday, + timeinfo->tm_hour, + timeinfo->tm_min, + timeinfo->tm_sec); + PRINT("msc : %d \r\n",*msc); } -// #include "lis2doc_reg.h" +//#include "lis2doc_reg.h" #include "stdio.h" /**** 静态全局变量 ****/ -static int width = 200; // LCD X 分辨率 -static int height = 200; // LCD Y 分辨率 -static uint32_t *bmp_buf = NULL; // bmp_buf -static unsigned long line_length; // LCD 一行的长度(字节为单位) +static int width = 200; //LCD X 分辨率 +static int height = 200; //LCD Y 分辨率 +static uint32_t *bmp_buf = NULL; //bmp_buf +static unsigned long line_length; //LCD 一行的长度(字节为单位) /**** BMP 文件头数据结构 ****/ -typedef struct -{ - unsigned char type[2]; // 文件类型 - unsigned int size; // 文件大小 - unsigned short reserved1; // 保留字段 1 - unsigned short reserved2; // 保留字段 2 - unsigned int offset; // 到位图数据的偏移量 -} __attribute__((packed)) bmp_file_header; +typedef struct { + unsigned char type[2]; //文件类型 + unsigned int size; //文件大小 + unsigned short reserved1; //保留字段 1 + unsigned short reserved2; //保留字段 2 + unsigned int offset; //到位图数据的偏移量 +} __attribute__ ((packed)) bmp_file_header; /**** 位图信息头数据结构 ****/ -typedef struct -{ - unsigned int size; // 位图信息头大小 - int width; // 图像宽度 - int height; // 图像高度 - unsigned short planes; // 位面数 - unsigned short bpp; // 像素深度 - unsigned int compression; // 压缩方式 - unsigned int image_size; // 图像大小 - int x_pels_per_meter; // 像素/ç±³ - int y_pels_per_meter; // 像素/ç±³ +typedef struct { + unsigned int size; //位图信息头大小 + int width; //图像宽度 + int height; //图像高度 + unsigned short planes; //位面数 + unsigned short bpp; //像素深度 + unsigned int compression; //压缩方式 + unsigned int image_size; //图像大小 + int x_pels_per_meter; //像素/ç±³ + int y_pels_per_meter; //像素/ç±³ unsigned int clr_used; unsigned int clr_omportant; -} __attribute__((packed)) bmp_info_header; +} __attribute__ ((packed)) bmp_info_header; int set_bmp(void) { - unsigned short *line_buf = NULL; // 行缓冲区 - unsigned long line_bytes; // BMP 图像一行的字节的大小 + unsigned short *line_buf = NULL; //行缓冲区 + unsigned long line_bytes; //BMP 图像一行的字节的大小 unsigned int min_h, min_bytes; const char *path = {"/system/1.bmp"}; @@ -1292,22 +1258,21 @@ int set_bmp(void) /* 打开BMP 文件 */ FILE *fp = fopen(path, "r"); - if (fp == NULL) - { + if (fp == NULL) { fclose(fp); PRINT("file open failed !!!\r\n"); return -1; } PRINT("file open succ !!!\r\n"); /* 读取 BMP 文件头 */ - if (sizeof(bmp_file_header) != fread(&file_h, 1, sizeof(bmp_file_header), fp)) + if (sizeof(bmp_file_header) != fread(&file_h, 1, sizeof(bmp_file_header),fp) ) { PRINT(" read bmp_file_header failed !!!\r\n"); fclose(fp); return -1; } PRINT("file read succ !!!\r\n"); - if (0 != memcmp(file_h.type, "BM", 2)) + if (0 != memcmp(file_h.type, "BM", 2)) { PRINT("it's not a BMP file !!!\r\n"); fclose(fp); @@ -1315,7 +1280,7 @@ int set_bmp(void) } /* 读取位图信息头 */ - if (sizeof(bmp_info_header) != fread(&info_h, 1, sizeof(bmp_info_header), fp)) + if (sizeof(bmp_info_header) != fread(&info_h, 1,sizeof(bmp_info_header),fp) ) { PRINT("read bmp_info_header error !!!\r\n"); fclose(fp); @@ -1323,16 +1288,15 @@ int set_bmp(void) } /* 打印信息 */ PRINT("文件大小: %d\n" - "位图数据的偏移量: %d\n" - "位图信息头大小: %d\n" - "图像分辨率: %d*%d\n" - "像素深度: %d\n", - file_h.size, file_h.offset, - info_h.size, info_h.width, info_h.height, - info_h.bpp); + "位图数据的偏移量: %d\n" + "位图信息头大小: %d\n" + "图像分辨率: %d*%d\n" + "像素深度: %d\n", file_h.size, file_h.offset, + info_h.size, info_h.width, info_h.height, + info_h.bpp); /* 将文件读写位置移动到图像数据开始处 */ - if (-1 == fseek(fp, file_h.offset, SEEK_SET)) + if (-1 == fseek(fp, file_h.offset, SEEK_SET)) { PRINT("file lseek error !!!\r\n"); fclose(fp); @@ -1344,7 +1308,7 @@ int set_bmp(void) line_bytes = info_h.width * info_h.bpp / 8; line_buf = malloc(line_bytes); bmp_buf = malloc(file_h.size); - if (NULL == line_buf) + if (NULL == line_buf) { fclose(fp); return -1; @@ -1352,46 +1316,47 @@ int set_bmp(void) else PRINT("malloc succ !!!\r\n"); + if (line_length > line_bytes) min_bytes = line_bytes; else min_bytes = line_length; - if (0 < info_h.height) - { // 倒向位图 - if (info_h.height > height) + if (0 < info_h.height) + {//倒向位图 + if (info_h.height > height) { min_h = height; fseek(fp, (info_h.height - height) * line_bytes, SEEK_CUR); - bmp_buf += width * (height - 1); // 定位到屏幕左下角位置 + bmp_buf += width * (height - 1); //定位到屏幕左下角位置 } - else + else { min_h = info_h.height; - bmp_buf += width * (info_h.height - 1); + bmp_buf += width * (info_h.height - 1); } - for (j = min_h; j > 0; bmp_buf -= width, j--) + for (j = min_h; j > 0; bmp_buf -= width, j--) { - fread(line_buf, 1, line_bytes, fp); // 读取出图像数据 - memcpy(bmp_buf, line_buf, min_bytes); // + fread( line_buf, 1, line_bytes ,fp); //读取出图像数据 + memcpy(bmp_buf, line_buf, min_bytes);// } } - else - { // 正向位图 - int temp = 0 - info_h.height; // 负数转成正数 + else + { //正向位图 + int temp = 0 - info_h.height; //负数转成正数 if (temp > height) min_h = height; else min_h = temp; - for (j = 0; j < min_h; j++, bmp_buf += width) + for (j = 0; j < min_h; j++, bmp_buf += width) { - fread(line_buf, 1, line_bytes, fp); + fread(line_buf, 1 ,line_bytes , fp); memcpy(bmp_buf, line_buf, min_bytes); } } int size = strlen(bmp_buf); - PRINT("bmp_buf size : %d\r\n", size); + PRINT("bmp_buf size : %d\r\n",size); /* 关闭文件、函数返回 */ fclose(fp); @@ -1401,13 +1366,13 @@ int set_bmp(void) int enter_recovery(void) { - if (set_bmp() == -1) + if(set_bmp() == -1) { PRINT("set bmp failed !!! \r\n"); return -1; } return 1; - // upg_reboot(); + //upg_reboot(); } #include "driver/calendar.h" @@ -1418,7 +1383,7 @@ uint32_t uapi_calendar_store_date(void) calendar_t date; time_t rawtime; - struct tm *timeinfo; + struct tm* timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); date.year = timeinfo->tm_year + 1900; @@ -1429,10 +1394,9 @@ uint32_t uapi_calendar_store_date(void) date.sec = timeinfo->tm_sec; errcode_t ret = uapi_calendar_set_datetime(&date); - if (ret == ERRCODE_SUCC) - { + if (ret == ERRCODE_SUCC) { printf("store datetime success: %d-%d-%d %d:%d:%d\r\n", date.year, date.mon, date.day, date.hour, date.min, - date.sec); + date.sec); return ERRCODE_SUCC; } printf("Set datetime failed, error code = %d \r\n", ret); @@ -1444,16 +1408,15 @@ uint32_t uapi_calendar_recover_date(void) calendar_t date; errcode_t ret = uapi_calendar_get_datetime(&date); - if (ret == ERRCODE_SUCC) - { + if (ret == ERRCODE_SUCC) { printf("Get datetime success: %d-%d-%d %d:%d:%d\r\n", date.year, date.mon, date.day, date.hour, date.min, - date.sec); - - { // 设置时间 - struct timeval tv = {0}; - struct tm _tm = {0}; - _tm.tm_year = date.year - 1900; - _tm.tm_mon = date.mon - 1; + date.sec); + + {//设置时间 + struct timeval tv = { 0 }; + struct tm _tm={0}; + _tm.tm_year = date.year -1900; + _tm.tm_mon = date.mon -1; _tm.tm_mday = date.day; _tm.tm_hour = date.hour; _tm.tm_min = date.min; @@ -1463,9 +1426,10 @@ uint32_t uapi_calendar_recover_date(void) tv.tv_usec = 0; settimeofday(&tv, NULL); } - + return ERRCODE_SUCC; } printf("Get datetime failed, error code = %d \r\n", ret); return ret; } +