ZEVIO_GPIO_BIT
val |= BIT(ZEVIO_GPIO_BIT(pin));
val &= ~BIT(ZEVIO_GPIO_BIT(pin));
val |= BIT(ZEVIO_GPIO_BIT(pin));
val |= BIT(ZEVIO_GPIO_BIT(pin));
val &= ~BIT(ZEVIO_GPIO_BIT(pin));
val &= ~BIT(ZEVIO_GPIO_BIT(pin));
if (dir & BIT(ZEVIO_GPIO_BIT(pin)))
return (val >> ZEVIO_GPIO_BIT(pin)) & 0x1;