#ifndef DSP_MANAGER_H
#define DSP_MANAGER_H

#include "arm_math.h"

// Размер окна Фурье (степень двойки)
// Уменьшен для экономии памяти
#define FFT_SIZE 256
#define DSP_SAMPLE_RATE_HZ 1000.0f

// Прототипы
void DSP_Init(void);
void DSP_AddSample(float32_t sample); // Добавить одну точку в "копилку"
void DSP_Process(void);              // Запустить расчет (когда накопили FFT_SIZE)

// Объявление переменных
extern uint8_t dsp_buffer_ready;
extern uint16_t sample_count;
extern volatile uint16_t dsp_notch_freqs[3];

// Добавление объявления переменной и прототипа функции
float32_t Biquad_Filter(float32_t input);

#endif