Просмотр исходного кода

MusicTracker: Bus fixes and category change

Willy-JL 2 лет назад
Родитель
Сommit
86527f9cb5
2 измененных файлов с 12 добавлено и 5 удалено
  1. 1 1
      music_tracker/application.fam
  2. 11 4
      music_tracker/tracker_engine/speaker_hal.c

+ 1 - 1
music_tracker/application.fam

@@ -9,6 +9,6 @@ App(
     stack_size=4 * 1024,
     order=20,
     fap_icon="zero_tracker.png",
-    fap_category="Misc",
+    fap_category="Media",
     fap_icon_assets="icons",
 )

+ 11 - 4
music_tracker/tracker_engine/speaker_hal.c

@@ -40,12 +40,17 @@ void tracker_speaker_stop() {
 }
 
 void tracker_speaker_init() {
-    furi_hal_speaker_start(200.0f, 0.01f);
-    tracker_speaker_stop();
+    if(furi_hal_speaker_is_mine() || furi_hal_speaker_acquire(1000)) {
+        furi_hal_speaker_start(200.0f, 0.01f);
+        tracker_speaker_stop();
+    }
 }
 
 void tracker_speaker_deinit() {
-    furi_hal_speaker_stop();
+    if(furi_hal_speaker_is_mine()) {
+        furi_hal_speaker_stop();
+        furi_hal_speaker_release();
+    }
 }
 
 static FuriHalInterruptISR tracker_isr;
@@ -66,6 +71,8 @@ void tracker_interrupt_init(float freq, FuriHalInterruptISR isr, void* context)
     tracker_isr = isr;
     tracker_isr_context = context;
 
+    furi_hal_bus_enable(FuriHalBusTIM2);
+
     furi_hal_interrupt_set_isr(FuriHalInterruptIdTIM2, tracker_interrupt_cb, NULL);
 
     LL_TIM_InitTypeDef TIM_InitStruct = {0};
@@ -83,7 +90,7 @@ void tracker_interrupt_init(float freq, FuriHalInterruptISR isr, void* context)
 
 void tracker_interrupt_deinit() {
     FURI_CRITICAL_ENTER();
-    LL_TIM_DeInit(TIM2);
+    furi_hal_bus_disable(FuriHalBusTIM2);
     FURI_CRITICAL_EXIT();
 
     furi_hal_interrupt_set_isr(FuriHalInterruptIdTIM2, NULL, NULL);