#include "zirq_dispatcher.hpp" using namespace iflytop; using namespace std; extern "C" { void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { ZIRQDispatcher::instance()._callOnTimIrq(htim); } } ZIRQDispatcher &ZIRQDispatcher::instance() { static ZIRQDispatcher instance; return instance; } void ZIRQDispatcher::regTimIrqListener(ontimirq_t listener) { m_ontimirqs.push_back(listener); } void ZIRQDispatcher::_callOnTimIrq(zchip_tim_t *tim) { for (auto &listener : m_ontimirqs) { listener(tim); } }