blob: 8f1fb6b366ff14cc1a92035566ba85d4c80fe00a (
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
{autogen_msg}
#include "{lvbitx_classname}_lvbitx.hpp"
#include <string>
#include <iostream>
#include <fstream>
#include <streambuf>
#include <boost/filesystem/path.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/regex.hpp>
#include <uhd/utils/paths.hpp>
namespace uhd {{ namespace niusrprio {{
#define SEARCH_PATHS "{lvbitx_search_paths}"
const char* {lvbitx_classname}_lvbitx::CONTROLS[] = {{{control_list}
}};
const char* {lvbitx_classname}_lvbitx::INDICATORS[] = {{{indicator_list}
}};
const char* {lvbitx_classname}_lvbitx::OUTPUT_FIFOS[] = {{{out_fifo_list}
}};
const char* {lvbitx_classname}_lvbitx::INPUT_FIFOS[] = {{{in_fifo_list}
}};
{lvbitx_classname}_lvbitx::{lvbitx_classname}_lvbitx(const std::string& option)
{{
std::string fpga_file = "usrp_{lvbitx_classname}_fpga_" + option + ".lvbitx";
boost::filesystem::path fpga_path(uhd::find_image_path(fpga_file, SEARCH_PATHS));
_fpga_file_name = fpga_path.string();
_bitstream_checksum = _get_bitstream_checksum(_fpga_file_name);
}}
const char* {lvbitx_classname}_lvbitx::get_bitfile_path() {{
return _fpga_file_name.c_str();
}}
const char* {lvbitx_classname}_lvbitx::get_signature() {{
return "{lvbitx_signature}";
}}
const char* {lvbitx_classname}_lvbitx::get_bitstream_checksum() {{
return _bitstream_checksum.c_str();
}}
size_t {lvbitx_classname}_lvbitx::get_input_fifo_count() {{
return sizeof(INPUT_FIFOS)/sizeof(*INPUT_FIFOS);
}}
const char** {lvbitx_classname}_lvbitx::get_input_fifo_names() {{
return INPUT_FIFOS;
}}
size_t {lvbitx_classname}_lvbitx::get_output_fifo_count() {{
return sizeof(OUTPUT_FIFOS)/sizeof(*OUTPUT_FIFOS);
}}
const char** {lvbitx_classname}_lvbitx::get_output_fifo_names() {{
return OUTPUT_FIFOS;
}}
size_t {lvbitx_classname}_lvbitx::get_control_count() {{
return sizeof(CONTROLS)/sizeof(*CONTROLS);
}}
const char** {lvbitx_classname}_lvbitx::get_control_names() {{
return CONTROLS;
}}
size_t {lvbitx_classname}_lvbitx::get_indicator_count() {{
return sizeof(INDICATORS)/sizeof(*INDICATORS);
}}
const char** {lvbitx_classname}_lvbitx::get_indicator_names() {{
return INDICATORS;
}}
void {lvbitx_classname}_lvbitx::init_register_info(nirio_register_info_vtr& vtr) {{ {register_init}
}}
void {lvbitx_classname}_lvbitx::init_fifo_info(nirio_fifo_info_vtr& vtr) {{ {fifo_init}
}}
}}}}
|