aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib/mykonos/config/ad937x_fir.hpp
blob: df122701db8c3067b39daaa4fe0bff36eb8aefd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//
// Copyright 2017 Ettus Research, a National Instruments Company
//
// SPDX-License-Identifier: GPL-3.0-or-later
//

#pragma once

#include "../adi/t_mykonos.h"
#include <vector>

// wraps FIR allocation
// provides a fixed mykonosFir_t pointer for API consumption
class ad937x_fir
{
    std::vector<int16_t> _fir_coefficients;
    mykonosFir_t _fir;

public:
    mykonosFir_t* const fir = &_fir;
    ad937x_fir();
    ad937x_fir(int8_t gain, const std::vector<int16_t>& coefficients);

    void set_fir(int8_t gain, const std::vector<int16_t>& coefficients);
    std::vector<int16_t> get_fir(int8_t& gain) const;
};