|
|
@ -133,7 +133,7 @@ void regIRQGPIO(ZGPIO *gpio) { |
|
|
|
|
|
|
|
bool ZGPIO::isMirror() { return m_mirror; } |
|
|
|
void ZGPIO::initAsInput(Pin_t pin, GPIOMode_t mode, GPIOIrqType_t irqtype, bool mirror) { |
|
|
|
ZEARLY_ASSERT(pin != PinNull); |
|
|
|
if (pin == PinNull) return; |
|
|
|
|
|
|
|
m_mirror = mirror; |
|
|
|
m_mode = mode; |
|
|
@ -188,7 +188,8 @@ void ZGPIO::initAsInput(Pin_t pin, GPIOMode_t mode, GPIOIrqType_t irqtype, bool |
|
|
|
return; |
|
|
|
} |
|
|
|
void ZGPIO::initAsOutput(Pin_t pin, GPIOMode_t mode, bool mirror, bool initLevel) { |
|
|
|
ZEARLY_ASSERT(pin != PinNull); |
|
|
|
if (pin == PinNull) return; |
|
|
|
|
|
|
|
m_mirror = mirror; |
|
|
|
m_mode = mode; |
|
|
|
m_irqtype = kIRQ_noIrq; |
|
|
@ -301,6 +302,7 @@ uint32_t ZGPIO::getStateUint32() { |
|
|
|
} |
|
|
|
|
|
|
|
bool ZGPIO::getState() { |
|
|
|
if (m_pin == PinNull) return false; |
|
|
|
bool ret = false; |
|
|
|
if (HAL_GPIO_ReadPin(m_gpio, m_pinoff) == GPIO_PIN_SET) { |
|
|
|
ret = true; |
|
|
@ -311,6 +313,8 @@ bool ZGPIO::getState() { |
|
|
|
return ret; |
|
|
|
} |
|
|
|
bool ZGPIO::setState(bool state) { |
|
|
|
if (m_pin == PinNull) return true; |
|
|
|
|
|
|
|
if (m_mirror) state = !state; |
|
|
|
|
|
|
|
if (m_log_when_setstate) ZEARLY_LOGI(TAG, "%s%s set %d", chip_gpio_group_get_name(m_gpio), chip_pinoff_get_name(m_pinoff), state); |
|
|
|