From 4ff5fe054d3e9db5edf1eb8e9114729b5f7918a3 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Thu, 22 Apr 2021 03:18:37 +0800
Subject: [PATCH] update iotd for infrared detect

---
 iotd/conf/conf.c |   34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/iotd/conf/conf.c b/iotd/conf/conf.c
index de7ee2e..aa0e2d1 100644
--- a/iotd/conf/conf.c
+++ b/iotd/conf/conf.c
@@ -72,6 +72,11 @@
                 if( 3 == rv) 
                 {
                     log_nrml("parser GPIO input[%s] BCM[%d] active[%d]\n", gpio->input[cnt].name, gpio->input[cnt].pin, gpio->input[cnt].active_level);
+                    if( strstr(gpio->input[cnt].name, "infrared") )
+                    {
+                        log_nrml("parser GPIO enable infrared detect\n");
+                        gpio->infrared_enable = 1;
+                    }
                     cnt++;
                     gpio->incnt = cnt;
                 }
@@ -266,14 +271,16 @@
 
     if( !(str=iniparser_getstring(ini, "subsciber:subTopic", NULL)) )
     {
-        log_err("ERROR: Parser MQTT subscribe topic failure\n");
-        return -2;
+        log_warn("WARNNING: Parser MQTT subscribe topic failure\n");
     }
-    strncpy(mqtt_ctx->subTopic, str, sizeof(mqtt_ctx->subTopic) );
+    else
+    {
+        strncpy(mqtt_ctx->subTopic, str, sizeof(mqtt_ctx->subTopic) );
+        mqtt_ctx->subQos = iniparser_getint(ini, "subsciber:subQos", 0);
+        mqtt_ctx->sub_enable = 1;
 
-    mqtt_ctx->subQos = iniparser_getint(ini, "subsciber:subQos", 0);
-    log_nrml("Parser subscriber topic \"%s\" with Qos[%d]\n", mqtt_ctx->subTopic, mqtt_ctx->subQos);
-    mqtt_ctx->sub_enable = 1;
+        log_nrml("Parser subscriber topic \"%s\" with Qos[%d]\n", mqtt_ctx->subTopic, mqtt_ctx->subQos);
+    }
 
     /*+------------------------------------------------------+
      *|             parser publisher settings                |
@@ -281,14 +288,17 @@
 
     if( !(str=iniparser_getstring(ini, "publisher:pubTopic", NULL)) )
     {
-        log_err("ERROR: Parser MQTT publisher topic failure\n");
-        return -2;
+        log_warn("WARNNING: Parser MQTT publisher topic failure\n");
     }
-    strncpy(mqtt_ctx->pubTopic, str, sizeof(mqtt_ctx->pubTopic) );
+    else
+    {
+        strncpy(mqtt_ctx->pubTopic, str, sizeof(mqtt_ctx->pubTopic) );
+        mqtt_ctx->pubQos = iniparser_getint(ini, "publisher:pubQos", 0);
+        mqtt_ctx->interval = iniparser_getint(ini, "publisher:interval", 60);
+        mqtt_ctx->pub_enable = 1;
 
-    mqtt_ctx->pubQos = iniparser_getint(ini, "publisher:pubQos", 0);
-    log_nrml("Parser publisher topic \"%s\" with Qos[%d]\n", mqtt_ctx->pubTopic, mqtt_ctx->pubQos);
-    mqtt_ctx->pub_enable = 1;
+        log_nrml("Parser publisher topic \"%s\" with Qos[%d]\n", mqtt_ctx->pubTopic, mqtt_ctx->pubQos);
+    }
 
 
     return 0;

--
Gitblit v1.9.1