Fix zerotracker and tamap1 bus issues (#290 #294)

By @xMasterX
This commit is contained in:
Willy-JL
2023-06-16 21:53:22 +01:00
parent a4c0823abd
commit cee49d59b4
2 changed files with 9 additions and 2 deletions

View File

@@ -71,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};
@@ -88,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);
@@ -104,4 +106,4 @@ void tracker_debug_set(bool value) {
void tracker_debug_deinit() { void tracker_debug_deinit() {
furi_hal_gpio_init(&gpio_ext_pc3, GpioModeAnalog, GpioPullNo, GpioSpeedLow); furi_hal_gpio_init(&gpio_ext_pc3, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
} }

View File

@@ -1,4 +1,5 @@
#include <furi.h> #include <furi.h>
#include <furi_hal_bus.h>
#include <gui/gui.h> #include <gui/gui.h>
#include <input/input.h> #include <input/input.h>
#include <storage/storage.h> #include <storage/storage.h>
@@ -750,6 +751,9 @@ static void tama_p1_init(TamaApp* const ctx) {
if(ctx->rom != NULL) { if(ctx->rom != NULL) {
// Init TIM2 // Init TIM2
// 64KHz // 64KHz
furi_hal_bus_enable(FuriHalBusTIM2);
LL_TIM_InitTypeDef tim_init = { LL_TIM_InitTypeDef tim_init = {
.Prescaler = 999, .Prescaler = 999,
.CounterMode = LL_TIM_COUNTERMODE_UP, .CounterMode = LL_TIM_COUNTERMODE_UP,
@@ -782,6 +786,7 @@ static void tama_p1_deinit(TamaApp* const ctx) {
if(ctx->rom != NULL) { if(ctx->rom != NULL) {
tamalib_release(); tamalib_release();
furi_thread_free(ctx->thread); furi_thread_free(ctx->thread);
furi_hal_bus_disable(FuriHalBusTIM2);
free(ctx->rom); free(ctx->rom);
} }
} }