using enums for GPIO constants instead of defines