#pragma once

#include <stdint.h>

// Простая скользящая SMA (simple moving average) для целых значений.
// Окно фиксировано и задается макросом.
#ifndef SMA_FILTER_WINDOW
#define SMA_FILTER_WINDOW 8
#endif

typedef struct {
    int32_t sum;
    uint16_t idx;
    uint16_t count;
    int32_t buffer[SMA_FILTER_WINDOW];
} SMAFilter_t;

void SMAFilter_Init(SMAFilter_t* f);
int32_t SMAFilter_Update(SMAFilter_t* f, int32_t x);
