RaspberrPi project source code
guowenxue
4 hours ago 3ef6cf39749c00366b12aef9f023aac3bda16f2d
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                  |