From 3ef6cf39749c00366b12aef9f023aac3bda16f2d Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Mon, 17 Nov 2025 23:39:25 +0800
Subject: [PATCH] update modules for tsl2561 and ds18b20
---
project/lightd/config.c | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/project/lightd/config.c b/project/lightd/config.c
index f9c646c..4f2b261 100644
--- a/project/lightd/config.c
+++ b/project/lightd/config.c
@@ -41,6 +41,7 @@
logger = &ctx->logger;
hwinfo = &ctx->hwinfo;
mqtt = &ctx->mqtt;
+ mqtt->userdata = (void *)hwinfo;
ini = iniparser_load(conf_file);
if( !ini )
@@ -94,7 +95,25 @@
*| parser hardware module configuration |
*+------------------------------------------------------+*/
- /* parser GPIO output pins */
+ /* DS18B20 temperature sensor status */
+ hwinfo->ds18b20=iniparser_getint(ini, "hardware:ds18b20", 0);
+ if( !hwinfo->ds18b20 )
+ log_warn("Parser DS18B20 temperature module disabled\n");
+ else
+ log_info("Parser DS18B20 temperature module enabled\n");
+
+ /* TSL2561 lux sensor status */
+ hwinfo->tsl2561=iniparser_getint(ini, "hardware:tsl2561", 0);
+ if( !hwinfo->tsl2561)
+ log_warn("Parser TSL2561 lux sensor module disabled\n");
+ else
+ log_info("Parser TSL2561 lux sensor module enabled\n");
+
+ /* TSL2561 lux sensor threshold value */
+ hwinfo->lux_threshold = iniparser_getdouble(ini, "hardware:lux_threshold", 0.1);
+ log_info("parser LUX enable and threshold value set be [%.03f]\n", hwinfo->lux_threshold);
+
+ /* parser GPIO output pins for relay */
if( !(str=iniparser_getstring(ini, "hardware:gpio_outpin", NULL)) )
{
log_warn("parser no GPIO output pins\n");
@@ -108,7 +127,7 @@
hwinfo->light_intval = iniparser_getint(ini, "hardware:light_intval", 20);
log_info("parser relay controled light interval time [%d]\n", hwinfo->light_intval);
- /* parser GPIO input pins */
+ /* parser GPIO input pins for infrared */
if( !(str=iniparser_getstring(ini, "hardware:gpio_inpin", NULL)) )
{
log_warn("parser no GPIO input pins\n");
@@ -118,10 +137,6 @@
parser_gpio_info(_TYPE_INPUT, &hwinfo->gpio, (char *)str);
log_info("parser [%d] GPIO input pins\n", hwinfo->gpio.incnt);
}
-
- hwinfo->lux_threshold = iniparser_getdouble(ini, "hardware:lux_threshold", 0.1);
- log_info("parser LUX enable and threshold value set be [%.03f]\n", hwinfo->lux_threshold);
-
/*+------------------------------------------------------+
*| parser broker settings |
--
Gitblit v1.9.1