void update(uint8_t cycles) { if (!isTransferring() || pending_recieve_) return; // if using internal shift clock, run clocking logic if (getLinkMode() == Link::Mode::INTERNAL) { internalClock(cycles); } else { // transferring in external clock mode, signal transfer ready signalReady(); } }
void MSequencer::update() { if(getInternalClock()) internalClock(); for(int i = 0; i < MAX_SEQ; i++) { seq* s = _sequences[i]; if(s == NULL || s->_stopped) continue; if(clockTick >= s -> step) { if(s -> _steps) { s -> trigger(); } else { s->_callback(); } s->step += s -> _subdiv; } } }