tracker_engine.c 687 B

12345678910111213141516171819202122232425
  1. #include "tracker_engine.h"
  2. #include "../flizzer_tracker_hal.h"
  3. #include <furi_hal.h>
  4. void tracker_engine_init(TrackerEngine* tracker_engine, uint8_t rate, SoundEngine* sound_engine)
  5. {
  6. furi_hal_interrupt_set_isr_ex(FuriHalInterruptIdTim1UpTim16, 14, tracker_engine_timer_isr, (void*)tracker_engine);
  7. tracker_engine_init_hardware(rate);
  8. tracker_engine->sound_engine = sound_engine;
  9. }
  10. void tracker_engine_deinit(TrackerEngine* tracker_engine)
  11. {
  12. UNUSED(tracker_engine);
  13. furi_hal_interrupt_set_isr_ex(FuriHalInterruptIdTim1UpTim16, 13, NULL, NULL);
  14. tracker_engine_stop();
  15. }
  16. void tracker_engine_advance_tick(TrackerEngine* tracker_engine)
  17. {
  18. tracker_engine->absolute_position++;
  19. }