summaryrefslogtreecommitdiff
path: root/cleopatre/application/managerd
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/managerd')
-rw-r--r--cleopatre/application/managerd/inc/managerd.h1
-rw-r--r--cleopatre/application/managerd/src/simple_connect.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/cleopatre/application/managerd/inc/managerd.h b/cleopatre/application/managerd/inc/managerd.h
index b97a0f52d9..7e3b30ac8f 100644
--- a/cleopatre/application/managerd/inc/managerd.h
+++ b/cleopatre/application/managerd/inc/managerd.h
@@ -44,6 +44,7 @@ struct managerd_ctx {
uint8_t input_mac_addr[ETH_ALEN];
union gpio_info sc_gpio;
union gpio_info led_gpio;
+ int is_sc_available;
};
#endif /* MANAGERD_H */
diff --git a/cleopatre/application/managerd/src/simple_connect.c b/cleopatre/application/managerd/src/simple_connect.c
index cc2d13bcc1..bcbec17ffc 100644
--- a/cleopatre/application/managerd/src/simple_connect.c
+++ b/cleopatre/application/managerd/src/simple_connect.c
@@ -43,6 +43,9 @@ static int previous_sc_button_value = SC_BUTTON_OFF;
*/
int simple_connect_event(struct managerd_ctx *ctx)
{
+ if(!ctx->is_sc_available)
+ return 0;
+
//Read SC button GPIO
if(0 > ioctl(ctx->gpio_fd, GPIOIOC_GETVALUE, (unsigned long*)&ctx->sc_gpio))
{
@@ -101,6 +104,10 @@ int simple_connect_init(struct managerd_ctx *ctx)
{
syslog(LOG_WARNING, "cannot call ioctl for SC gpio (%s)", strerror(errno));
}
+ else
+ {
+ ctx->is_sc_available = 1;
+ }
//Set gpio direction for LED
if(0 > (ioctl(ctx->gpio_fd, GPIOIOC_SETDIRECTION, (unsigned long*)&ctx->led_gpio)))