update lightd program and test auto light ok
| | |
| | | goto failed; |
| | | } |
| | | |
| | | if( gpio->output[i].active_level ) |
| | | if( gpio->input[i].active_level ) |
| | | rv = gpiod_line_request_rising_edge_events(gpio->input[i].line, gpio->input[i].name) ; |
| | | else |
| | | rv = gpiod_line_request_falling_edge_events(gpio->input[i].line, gpio->input[i].name) ; |
| | |
| | | if( rv < 0 ) |
| | | { |
| | | log_error("gpiod request '%s' pin[#%d] event edge [%s] failure: %s\n", |
| | | gpio->input[i].name, gpio->input[i].pin, gpio->output[i].active_level?"rising":"falling", strerror(errno)); |
| | | gpio->input[i].name, gpio->input[i].pin, gpio->input[i].active_level?"rising":"falling", strerror(errno)); |
| | | rv = -4; |
| | | goto failed; |
| | | } |
| | | else |
| | | { |
| | | log_info("gpiod request '%s' pin[#%d] event edge [%s] ok\n", |
| | | gpio->input[i].name, gpio->input[i].pin, gpio->output[i].active_level?"rising":"falling"); |
| | | gpio->input[i].name, gpio->input[i].pin, gpio->input[i].active_level?"rising":"falling"); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | sleep(hwinfo->light_intval); |
| | | |
| | | turn_light("indoor", ON); |
| | | turn_light("hallway", ON); |
| | | turn_light("indoor", OFF); |
| | | turn_light("hallway", OFF); |
| | | } |
| | | |
| | | msleep(100); |