USRP Hardware Driver and USRP Manual  Version: 3.15.0.0-2+b1
UHD and USRP Manual
image_loader.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2014-2017 Ettus Research
3 // Copyright 2018 Ettus Research, a National Instruments Company
4 // Copyright 2019 Ettus Research, a National Instruments Brand
5 //
6 // SPDX-License-Identifier: GPL-3.0-or-later
7 //
8 
9 #ifndef INCLUDED_UHD_IMAGE_LOADER_HPP
10 #define INCLUDED_UHD_IMAGE_LOADER_HPP
11 
12 #include <uhd/config.hpp>
15 #include <boost/function.hpp>
16 #include <string>
17 
18 namespace uhd {
19 
21 {
22 public:
23  typedef struct
24  {
27  bool load_fpga;
28  bool download;
29  std::string firmware_path;
30  std::string fpga_path;
31  std::string out_path;
32  std::string id;
33  std::vector<uint8_t> component;
36 
38 
53  typedef boost::function<bool(const image_loader_args_t&)> loader_fcn_t;
54 
56 
61  static void register_image_loader(const std::string& device_type,
62  const loader_fcn_t& loader_fcn,
63  const std::string& recovery_instructions);
64 
66 
69  static bool load(const image_loader_args_t& image_loader_args);
70 
72 
78  static std::string get_recovery_instructions(const std::string& device_type);
79 };
80 
81 } // namespace uhd
82 
83 #endif /* INCLUDED_UHD_IMAGE_LOADER_HPP */
device_addr.hpp
config.hpp
uhd::image_loader::image_loader_args_t::download
bool download
Definition: image_loader.hpp:28
uhd::image_loader::image_loader_args_t::args
uhd::device_addr_t args
Definition: image_loader.hpp:25
uhd::image_loader::image_loader_args_t::out_path
std::string out_path
Definition: image_loader.hpp:31
UHD_API
#define UHD_API
Definition: config.h:68
noncopyable.hpp
uhd::device_addr_t
Definition: device_addr.hpp:38
uhd::image_loader::image_loader_args_t::metadata
uhd::dict< std::string, std::string > metadata
Definition: image_loader.hpp:34
uhd
Definition: build_info.hpp:13
uhd::image_loader::image_loader_args_t
Definition: image_loader.hpp:23
uhd::dict< std::string, std::string >
uhd::noncopyable
boost::noncopyable noncopyable
Definition: noncopyable.hpp:46
uhd::image_loader
Definition: image_loader.hpp:20
uhd::image_loader::image_loader_args_t::component
std::vector< uint8_t > component
Definition: image_loader.hpp:33
uhd::image_loader::image_loader_args_t::load_firmware
bool load_firmware
Definition: image_loader.hpp:26
uhd::image_loader::image_loader_args_t::firmware_path
std::string firmware_path
Definition: image_loader.hpp:29
uhd::image_loader::image_loader_args_t::fpga_path
std::string fpga_path
Definition: image_loader.hpp:30
uhd::image_loader::loader_fcn_t
boost::function< bool(const image_loader_args_t &)> loader_fcn_t
Signature of an image loading function.
Definition: image_loader.hpp:53
uhd::image_loader::image_loader_args_t::id
std::string id
Definition: image_loader.hpp:32
uhd::image_loader::image_loader_args_t::load_fpga
bool load_fpga
Definition: image_loader.hpp:27