| | |
| | | logger = &ctx->logger; |
| | | hwinfo = &ctx->hwinfo; |
| | | mqtt = &ctx->mqtt; |
| | | mqtt->userdata = (void *)hwinfo; |
| | | |
| | | ini = iniparser_load(conf_file); |
| | | if( !ini ) |
| | |
| | | *| 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"); |
| | |
| | | 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"); |
| | |
| | | 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 | |