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

Squashed 'music_tracker/' changes from 90da4c9c1..e23ab96b2

e23ab96b2 fix empty icons fam
13f6cf722 categories part 1
2213e1134 more manifestos, xbox controller and videopoker ufbt fixes
8ec3e33c5 Add Screenshots
eec5cf957 API 31 / unzip sources
REVERT: 90da4c9c1 Update build_dev.yml
REVERT: 83bbac8f9 Update application.fam
REVERT: 7372ff84b Update build_dev.yml
REVERT: 770b0122c beautify exit
REVERT: ec854a77a simple view
REVERT: b893962f8 const song
REVERT: 73bd42d77 test song
REVERT: 6f211977e memleak fix
REVERT: aa52a0acb upd workflow ver
REVERT: 93b8cf5d9 Update build_dev.yml
REVERT: ed300231b Update README.md
REVERT: 72a9e13ef Update build_dev.yml
REVERT: e7004b8d9 build workflow
REVERT: 5563b7f78 mvp
REVERT: 5266a6db1 Advance patterns
REVERT: 2a0b235de separate engine
REVERT: e3541dc49 documented effects
REVERT: af29ae037 set pwm
REVERT: 681e9916a effect set speed
REVERT: 2571b4eec refactor effect data getters
REVERT: ad92ba64a song state
REVERT: a4c79d563 Merge branch 'master' of https://github.com/DrZlo13/flipper-zero-music-tracker
REVERT: 2545e3904 split arp condition
REVERT: b19b84cba Create README.md
REVERT: bc827f938 vibrato
REVERT: e234a40c1 refactoring
REVERT: dfbedebe3 slide up and down
REVERT: d5d1de048 smart speaker hal
REVERT: ed5368a97 arpeggio
REVERT: 8d7294f01 fix docs
REVERT: 40b04c030 icons folder
REVERT: 0d638e8bc simple player
REVERT: 023aa8010 separate hal
REVERT: 830a2939c fix note play
REVERT: 9ea9b38fa notes and timings
REVERT: ab355ed3f init

git-subtree-dir: music_tracker
git-subtree-split: e23ab96b2b2d836c82bb6fd5f5b708cc525fb9c9
Willy-JL 2 лет назад
Родитель
Сommit
2745d4f2d3
6 измененных файлов с 29 добавлено и 27 удалено
  1. 13 21
      .github/workflows/build_dev.yml
  2. 5 2
      application.fam
  3. 0 0
      icons/.gitignore
  4. BIN
      img/1.png
  5. BIN
      img/2.png
  6. 11 4
      tracker_engine/speaker_hal.c

+ 13 - 21
.github/workflows/build_dev.yml

@@ -1,27 +1,19 @@
-name: "FAP: Build and lint"
-on: [push, pull_request]
+name: Build dev
+
+on:
+  push:
+    branches:
+      - master
+
 jobs:
 jobs:
-  ufbt-build-action:
+  build_dev:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
-    name: 'ufbt: Build for Dev branch'
+
     steps:
     steps:
       - name: Checkout
       - name: Checkout
         uses: actions/checkout@v3
         uses: actions/checkout@v3
-      - name: Build with ufbt
-        uses: flipperdevices/flipperzero-ufbt-action@v0.1.0
-        id: build-app
+
+      - name: Build
+        uses: oleksiikutuzov/flipperzero-ufbt-action@v1
         with:
         with:
-          # Set to 'release' to build for latest published release version
-          sdk-channel: dev
-      - name: Upload app artifacts
-        uses: actions/upload-artifact@v3
-        with:
-          name: zero_tracker.fap.zip
-          path: ${{ steps.build-app.outputs.fap-artifacts }}
-      # You can remove this step if you don't want to check source code formatting
-      - name: Lint sources
-        uses: flipperdevices/flipperzero-ufbt-action@v0.1.0
-        with:
-          # skip SDK setup, we already did it in previous step
-          skip-setup: true
-          task: lint
+          channel: dev

+ 5 - 2
application.fam

@@ -9,6 +9,9 @@ App(
     stack_size=4 * 1024,
     stack_size=4 * 1024,
     order=20,
     order=20,
     fap_icon="zero_tracker.png",
     fap_icon="zero_tracker.png",
-    fap_category="Misc",
-    fap_icon_assets="icons",
+    fap_category="Media",
+    fap_author="@DrZlo13",
+    fap_weburl="https://github.com/DrZlo13/flipper-zero-music-tracker",
+    fap_version="1.1",
+    fap_description="App plays hardcoded tracker song",
 )
 )

+ 0 - 0
icons/.gitignore




+ 11 - 4
tracker_engine/speaker_hal.c

@@ -40,12 +40,17 @@ void tracker_speaker_stop() {
 }
 }
 
 
 void tracker_speaker_init() {
 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() {
 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;
 static FuriHalInterruptISR tracker_isr;
@@ -66,6 +71,8 @@ void tracker_interrupt_init(float freq, FuriHalInterruptISR isr, void* context)
     tracker_isr = isr;
     tracker_isr = isr;
     tracker_isr_context = context;
     tracker_isr_context = context;
 
 
+    furi_hal_bus_enable(FuriHalBusTIM2);
+
     furi_hal_interrupt_set_isr(FuriHalInterruptIdTIM2, tracker_interrupt_cb, NULL);
     furi_hal_interrupt_set_isr(FuriHalInterruptIdTIM2, tracker_interrupt_cb, NULL);
 
 
     LL_TIM_InitTypeDef TIM_InitStruct = {0};
     LL_TIM_InitTypeDef TIM_InitStruct = {0};
@@ -83,7 +90,7 @@ void tracker_interrupt_init(float freq, FuriHalInterruptISR isr, void* context)
 
 
 void tracker_interrupt_deinit() {
 void tracker_interrupt_deinit() {
     FURI_CRITICAL_ENTER();
     FURI_CRITICAL_ENTER();
-    LL_TIM_DeInit(TIM2);
+    furi_hal_bus_disable(FuriHalBusTIM2);
     FURI_CRITICAL_EXIT();
     FURI_CRITICAL_EXIT();
 
 
     furi_hal_interrupt_set_isr(FuriHalInterruptIdTIM2, NULL, NULL);
     furi_hal_interrupt_set_isr(FuriHalInterruptIdTIM2, NULL, NULL);