From b34ce35f5ec751eca79eff0f98d8c81408dee6f4 Mon Sep 17 00:00:00 2001 From: SheldonDai Date: Fri, 27 Sep 2019 16:09:19 +0800 Subject: [PATCH] fix comment --- .../light_data_template_sample.c | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/examples/tencent_cloud_sdk_data_template/light_data_template_sample.c b/examples/tencent_cloud_sdk_data_template/light_data_template_sample.c index 6d2c73f4..38fd95ee 100644 --- a/examples/tencent_cloud_sdk_data_template/light_data_template_sample.c +++ b/examples/tencent_cloud_sdk_data_template/light_data_template_sample.c @@ -223,7 +223,7 @@ static void property_do_update(shadow_dev_property_t *property) break; case JSON_DATA_TYPE_STRING: // device name - /* 如果多个字符串属性,根据pProperty->key值匹配,处理字符串 */ + /* ַ,pProperty->keyֵƥ䣬ַ */ if (strcmp("name", property->key) != 0) { break; } @@ -235,7 +235,7 @@ static void property_do_update(shadow_dev_property_t *property) } } -/* Èç¹ûÓÐ×Ô¶¨ÒåµÄ×Ö·û´®»òÕßjson£¬ÐèÒªÔÚÕâÀï½âÎö */ +/* ԶַjsonҪ */ static qcloud_err_t property_update(const char *json_doc, shadow_dev_property_t *property) { QCLOUD_POINTER_SANITY_CHECK(json_doc, QCLOUD_ERR_INVAL); @@ -263,13 +263,13 @@ static qcloud_err_t property_update(const char *json_doc, shadow_dev_property_t return QCLOUD_ERR_SUCCESS; } -/* 服务端有控制消息下发,会触发这里的delta回调 */ +/* пϢ·ᴥdeltaص */ static void on_property_delta_handler(void *client, const char *json_doc, uint32_t json_doc_len, shadow_dev_property_t *property) { int i = 0; for (i = 0; i < LIGHT_PROPERTY_COUNT; ++i) { - /* ÆäËûÊý¾ÝÀàÐÍÒѾ­ÔÚ_handle_deltaÁ÷³Ìͳһ´¦ÀíÁË£¬×Ö·û´®ºÍjson´®ÐèÒªÔÚÕâÀï´¦Àí£¬ÒòΪֻÓвúÆ·×Ô¼º²ÅÖªµÀstring/jsonµÄ×Ô¶¨Òå½âÎö */ + /* Ѿ_handle_deltaͳһˣַjsonҪﴦΪֻвƷԼ֪string/jsonԶ */ if (strcmp(light_property_handler.property_wrappers[i].property.key, property->key) != 0) { continue; } @@ -288,7 +288,7 @@ static void on_property_delta_handler(void *client, const char *json_doc, uint32 QCLOUD_LOG_E("property=%s changed no match", property->key); } -/* ×¢²áÊý¾ÝÄ£°åÊôÐÔ */ +/* עģ */ static qcloud_err_t data_template_property_register(qcloud_shadow_client_t *client) { int i = 0; @@ -324,17 +324,17 @@ __weak void OLED_ShowString(int x, int y, uint8_t *str, int bold) // handle the light(simulated) static void light_change_color(const char *color) { - // 作为demo,这里用oled屏字符显示来模拟灯颜色的切换 - // 这里应该由用户实现硬件操作代码,来改变智能灯的颜色 - // 此处demo,在开发板显示屏上显示具体的颜色 + // Ϊdemooledַʾģɫл + // ӦûʵӲ룬ıܵƵɫ + // ˴demoڿʾʾɫ OLED_ShowString(0, 0, (uint8_t *)color, 8); } static void light_change_brightness(template_float_t brightness) { - // 作为demo,这里用oled屏字符显示来模拟灯亮度的切换 - // 这里应该由用户实现硬件操作代码,来改变智能灯的亮度 - // 此处demo,在开发板显示屏上显示具体的亮度 + // Ϊdemooledַʾģɫл + // ӦûʵӲ룬ıܵƵɫ + // ˴demoڿʾʾɫ char brightness_str[12]; snprintf(brightness_str, sizeof(brightness_str), "%f", brightness); @@ -344,13 +344,13 @@ static void light_change_brightness(template_float_t brightness) static void light_power_on(void) { - // 作为demo,这里用oled屏字符显示来模拟灯开关状态的切换 + // Ϊdemooledַʾģɫл OLED_Clear(); } static void light_power_off(void) { - // 作为demo,这里用oled屏字符显示来模拟灯开关状态的切换 + // Ϊdemooledַʾģɫл char *info = "light off"; OLED_Clear(); OLED_ShowString(0, 0, (uint8_t *)info, 16); @@ -403,11 +403,12 @@ static void incoming_messsage_handler(void *client, void *context, mqtt_event_t } } -/* ʾÀýµÆ¹â¿ØÖÆ´¦ÀíÂß¼­ */ +/* ʾƹƴ߼ */ static void deal_down_stream_user_logic(void) { char *color_name; + /* ƹɫ */ switch (light_profile.color) { case LIGHT_COLOR_RED: color_name = " RED "; @@ -423,10 +424,12 @@ static void deal_down_stream_user_logic(void) } if (light_profile.switch_state == LIGHT_SWTICH_STATE_ON) { + /* ƹ⿪ʽտƲչʾ */ light_power_on(); light_change_color(color_name); light_change_brightness(light_profile.brightness); } else { + /* ƹرչʾ */ light_power_off(); } @@ -445,14 +448,13 @@ static void deal_down_stream_user_logic(void) #endif } -/* Óû§ÐèҪʵÏÖµÄÉÏÐÐÊý¾ÝµÄÒµÎñÂß¼­,´Ë´¦½ö¹©Ê¾Àý */ +/* ûҪʵֵݵҵ߼,˴ʾ */ static void deal_up_stream_user_logic(shadow_dev_property_t *properties_report[], int *count) { int i, j; *count = 0; - /* ÌáÈ¡³ö·¢Éú±ä¸üÁ˵ÄÊôÐÔ£¬Éϱ¨µ½ÔÆ */ for (i = 0, j = 0; i < LIGHT_PROPERTY_COUNT; ++i) { if (light_property_handler.property_wrappers[i].state == PROPERTY_STATE_CHANGED) { properties_report[j++] = &(light_property_handler.property_wrappers[i].property); @@ -471,7 +473,7 @@ static void on_shadow_update_handler(void *client, QCLOUD_LOG_I("recv shadow update response, request state: %d", req_state); } -/* 5s¶¨Ê±Éϱ¨ÊôÐÔ״̬,¿É¸ù¾ÝÒµÎñ²Ã¼ô£¬´Ë´¦½ö¹©Ê¾Àý */ +/* 5sʱϱ״̬,ɸҵü˴ʾ */ qcloud_err_t timely_reporting(shadow_dev_property_t *properties_report[], osal_timer_t *report_timer) { int i; @@ -512,10 +514,12 @@ int data_template_light_thread(void) qcloud_device_create(&device, "XC31USKYPL", "dev001", "Pz1wK0fVJHxSojqxDuuvmg=="); + // init connection qcloud_shadow_client_create(&shadow_client, &device, incoming_messsage_handler, SHADOW_TYPE_TEMPLATE); light_power_off(); + // init data template data_template_init(&device); #if (QCLOUD_CFG_EVENT_EN > 0u) @@ -526,6 +530,7 @@ int data_template_light_thread(void) } #endif + // register data template propertys here rc = data_template_property_register(&shadow_client); if (rc == QCLOUD_ERR_SUCCESS) { QCLOUD_LOG_I("data template propertys register success"); @@ -535,13 +540,14 @@ int data_template_light_thread(void) } #define SHADOW_REQUEST_TIMEOUT (10) // in seconds + // ڼ˿˴ʵͬversion̨ͬDZҪ rc = qcloud_shadow_client_get_sync(&shadow_client, SHADOW_REQUEST_TIMEOUT); if (rc != QCLOUD_ERR_SUCCESS) { QCLOUD_LOG_E("device shadow get failed, err: %d", rc); return rc; } - // 属性定时上报timer,可以根据业务需要裁剪。 + // ԶʱϱtimerԸҵҪü osal_timer_init(&report_timer); while (qcloud_shadow_client_is_connected(&shadow_client) || @@ -558,19 +564,19 @@ int data_template_light_thread(void) break; } - /* ·þÎñ¶ËÏÂÐÐÏûÏ¢£¬ÒµÎñ´¦ÀíÂß¼­1Èë¿Ú */ + /* Ϣҵ߼1 */ if (is_light_property_changed) { // 服务器下发了控制指令,更改了设备的状态 deal_down_stream_user_logic(); - /* ÒµÎñÂß¼­´¦ÀíÍêºóÐèҪͬ²½Í¨Öª·þÎñ¶Ë:É豸Êý¾ÝÒѸüУ¬É¾³ýdseireÊý¾Ý */ + /* ҵ߼Ҫ֪ͬͨ:豸Ѹ£ɾdseire */ rc = qcloud_shadow_client_desire_null_construct(&shadow_client, shadow_update_buffer, sizeof(shadow_update_buffer)); if (rc == QCLOUD_ERR_SUCCESS) { rc = qcloud_shadow_client_update_sync(&shadow_client, shadow_update_buffer, sizeof(shadow_update_buffer), 5); if (rc == QCLOUD_ERR_SUCCESS) { is_light_property_changed = QCLOUD_FALSE; - // Óû§ÐèÒª¸ù¾ÝÒµÎñÇé¿öÐÞ¸ÄÉϱ¨flagµÄ¸³ÖµÎ»ÖÃ,´Ë´¦½öΪʾÀý¡£ + // ûҪҵ޸ϱflagĸֵλ,˴Ϊʾ is_new_property_reported = QCLOUD_TRUE; QCLOUD_LOG_I("shadow update(desired) success"); } else { @@ -581,9 +587,9 @@ int data_template_light_thread(void) } } - /* É豸ÉÏÐÐÏûÏ¢,ÒµÎñÂß¼­2Èë¿Ú */ + /* 豸Ϣ,ҵ߼2 */ if (is_new_property_reported) { - /* deltaÏûÏ¢ÊÇÊôÐÔµÄdesireºÍÊôÐÔµÄreportµÄ²îÒ켯£¬ÊÕµ½deseireÏûÏ¢´¦Àíºó£¬ÒªreportÊôÐÔµÄ״̬ */ + /* deltaϢԵdesireԵreportIJ켯յdeseireϢҪreportԵ״̬ */ deal_up_stream_user_logic(properties_report, &properties_report_count); if (properties_report_count > 0) { rc = qcloud_shadow_client_report_construct_array(&shadow_client, shadow_update_buffer, sizeof(shadow_update_buffer), @@ -627,7 +633,7 @@ int data_template_light_thread(void) } #if (QCLOUD_CFG_EVENT_EN > 0u) - // ʼþÉϱ¨ + // ¼ϱ event_count = 0; event_flag = event_flag_get(); if (EVENT_COUNTS > 0 && event_flag > 0) {