USRP Hardware Driver and USRP Manual  Version: 3.14.0.HEAD-0-g6875d061
UHD and USRP Manual
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 //
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 
8 #ifndef INCLUDED_UHD_IMAGE_LOADER_HPP
9 #define INCLUDED_UHD_IMAGE_LOADER_HPP
10 
11 #include <uhd/config.hpp>
13 #include <boost/function.hpp>
14 #include <boost/noncopyable.hpp>
15 #include <string>
16 
17 namespace uhd {
18 
19 class UHD_API image_loader : boost::noncopyable
20 {
21 public:
22  typedef struct
23  {
26  bool load_fpga;
27  bool download;
28  std::string firmware_path;
29  std::string fpga_path;
30  std::string out_path;
32 
34 
49  typedef boost::function<bool(const image_loader_args_t&)> loader_fcn_t;
50 
52 
57  static void register_image_loader(const std::string& device_type,
58  const loader_fcn_t& loader_fcn,
59  const std::string& recovery_instructions);
60 
62 
65  static bool load(const image_loader_args_t& image_loader_args);
66 
68 
74  static std::string get_recovery_instructions(const std::string& device_type);
75 };
76 
77 } // namespace uhd
78 
79 #endif /* INCLUDED_UHD_IMAGE_LOADER_HPP */
bool download
Definition: image_loader.hpp:27
std::string out_path
Definition: image_loader.hpp:30
uhd::device_addr_t args
Definition: image_loader.hpp:24
Definition: build_info.hpp:13
Definition: image_loader.hpp:22
bool load_fpga
Definition: image_loader.hpp:26
#define UHD_API
Definition: config.h:68
boost::function< bool(const image_loader_args_t &)> loader_fcn_t
Signature of an image loading function.
Definition: image_loader.hpp:49
std::string fpga_path
Definition: image_loader.hpp:29
std::string firmware_path
Definition: image_loader.hpp:28
Definition: image_loader.hpp:19
Definition: device_addr.hpp:38
bool load_firmware
Definition: image_loader.hpp:25