aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/transport/nirio/lvbitx/template_lvbitx.hpp
blob: d8872e15c6b1632f6fbe83d2bc99897c950eeab0 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{autogen_msg}

#ifndef INCLUDED_{lvbitx_classname_u}_LVBITX_HPP
#define INCLUDED_{lvbitx_classname_u}_LVBITX_HPP

#include <uhd/transport/nirio/nifpga_lvbitx.h>

namespace uhd {{ namespace niusrprio {{

class {lvbitx_classname}_lvbitx : public nifpga_lvbitx {{
public:
    {lvbitx_classname}_lvbitx(const std::string& option);

    virtual ~{lvbitx_classname}_lvbitx() {{}};

    virtual const char* get_bitfile_path();
    virtual const char* get_signature();
    virtual const char* get_bitstream_checksum();

    virtual size_t get_input_fifo_count();
    virtual const char** get_input_fifo_names();

    virtual size_t get_output_fifo_count();
    virtual const char** get_output_fifo_names();

    virtual size_t get_control_count();
    virtual const char** get_control_names();

    virtual size_t get_indicator_count();
    virtual const char** get_indicator_names();

    virtual void init_register_info(nirio_register_info_vtr& vtr);
    virtual void init_fifo_info(nirio_fifo_info_vtr& vtr);

    static const char* CONTROLS[];
    static const char* INDICATORS[];
    static const char* OUTPUT_FIFOS[];
    static const char* INPUT_FIFOS[];

private:
    std::string _fpga_file_name;
    std::string _bitstream_checksum;
}};

}}}}

#endif /* INCLUDED_{lvbitx_classname_u}_LVBITX_HPP */