aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib/mykonos/config/ad937x_fir.hpp
blob: 740d5cfe6d6b26a3e7003e5e449e54606d21180f (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
//
// Copyright 2017 Ettus Research, National Instruments Company
//
// SPDX-License-Identifier: GPL-3.0
//

#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;
};