gpio file handles must be open/closed on every use