uint8_t Menu::run() { uint8_t button = Keyboard::getPressedWithDelay(); if(runReversedPolarityInfo()) { render_ = true; return REVERSED_POLARITY; } uint8_t index = getIndex(); switch (button) { case BUTTON_INC: incIndex(); break; case BUTTON_DEC: decIndex(); break; } if(index != getIndex()) render_ = true; if(render_) display(); return button; }
/*************************************************************************************** * Audio - Interrupt Service Routine * * This interrupt service routine records or plays back audio, depending on which type * interrupt (read or write) is pending in the audio device. ****************************************************************************************/ void audio_ISR(alt_up_audio_dev* audio_dev, unsigned int id) { if (alt_up_audio_write_interrupt_pending(audio_dev)) // check for write interrupt { //int numToWrite = 0; //int spaceAvailable = alt_up_audio_write_fifo_space(audio_dev, ALT_UP_AUDIO_LEFT); int temp = 0, temp1 = 0; if(soundMixer->indexSize <= 0) return; temp = alt_up_audio_write_fifo(audio_dev, soundMixer->buffer[soundMixer->currIndex], 96, ALT_UP_AUDIO_LEFT); temp1 = alt_up_audio_write_fifo(audio_dev, soundMixer->buffer[soundMixer->currIndex], 96, ALT_UP_AUDIO_RIGHT); /*s->position += 96; if(s->position>=s->length) s->position = 0;*/ incIndex(); } return; }