|
|
@ -39,19 +39,22 @@ void ZKeyService::processEachAfterFilter(ZKey* each, bool now_io_state) { |
|
|
|
if (now_io_state) { |
|
|
|
each->keep_state_count = 0; |
|
|
|
each->hasProcessed = false; |
|
|
|
if (m_listener) m_listener(each, zke_rising_edge); |
|
|
|
each->m_rsing_ticket = zos_get_tick(); |
|
|
|
|
|
|
|
if (m_listener && !each->isHasProcessed()) m_listener(each, zke_rising_edge); |
|
|
|
} else { |
|
|
|
if (m_listener) m_listener(each, zke_falling_edge); |
|
|
|
if (m_listener && !each->isHasProcessed()) m_listener(each, zke_falling_edge); |
|
|
|
each->keep_state_count = 0; |
|
|
|
} |
|
|
|
each->last_after_filter_io_state = now_io_state; |
|
|
|
} else { |
|
|
|
if (now_io_state) { |
|
|
|
if (m_listener) m_listener(each, zke_keep); |
|
|
|
if (m_listener && !each->isHasProcessed()) m_listener(each, zke_keep); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ZKeyService::processKey(ZKey* each) { |
|
|
|
/**
|
|
|
|
* @brief zkey_process_each |
|
|
|