optimize gpio checks