USRP Hardware Driver and USRP Manual Version: 4.2.0.0
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#pragma once
10
11#include <uhd/config.hpp>
14#include <functional>
15#include <string>
16
17namespace uhd {
18
20{
21public:
22 typedef struct
23 {
28 std::string firmware_path;
29 std::string fpga_path;
30 std::string out_path;
31 std::string id;
32 std::vector<uint8_t> component;
34 bool delay_reload = false;
35 bool just_reload = false;
37
39
54 typedef std::function<bool(const image_loader_args_t&)> loader_fcn_t;
55
57
62 static void register_image_loader(const std::string& device_type,
63 const loader_fcn_t& loader_fcn,
64 const std::string& recovery_instructions);
65
67
70 static bool load(const image_loader_args_t& image_loader_args);
71
73
79 static std::string get_recovery_instructions(const std::string& device_type);
80};
81
82} // namespace uhd
Definition: device_addr.hpp:38
Definition: image_loader.hpp:20
static std::string get_recovery_instructions(const std::string &device_type)
Get the instructions on how to recovery a particular device.
std::function< bool(const image_loader_args_t &)> loader_fcn_t
Signature of an image loading function.
Definition: image_loader.hpp:54
static bool load(const image_loader_args_t &image_loader_args)
Load firmware and/or FPGA onto a device.
static void register_image_loader(const std::string &device_type, const loader_fcn_t &loader_fcn, const std::string &recovery_instructions)
Register an image loader.
#define UHD_API
Definition: config.h:87
Definition: build_info.hpp:12
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
Definition: image_loader.hpp:23
uhd::device_addr_t args
Definition: image_loader.hpp:24
bool load_fpga
Definition: image_loader.hpp:26
bool load_firmware
Definition: image_loader.hpp:25
std::vector< uint8_t > component
Definition: image_loader.hpp:32
bool download
Definition: image_loader.hpp:27
std::string fpga_path
Definition: image_loader.hpp:29
std::string id
Definition: image_loader.hpp:31
std::string firmware_path
Definition: image_loader.hpp:28
uhd::dict< std::string, std::string > metadata
Definition: image_loader.hpp:33
std::string out_path
Definition: image_loader.hpp:30